avatar_smartbsv

Пишет ли кто-то для Arduino?

Автор smartbsv, 11 Сен. 2015 в 18:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

smartbsv

Доброго всем дня  :-)

Есть небольшая задумка, для которой нужно написать небольшую программку под Ардуино (именно Абдурино, не STM и т.п.).

Может ли кто-нибудь с форума помочь в данном вопросе? Написать надо немного, по моим представлениям строчек 30 кода (если с комментариями:) 

[b-b]Дополнение:[/b-b]

Описание того, что нужно (КРАТКО). Измерение напряжения с 1-го входа, ожидание нажатия кнопки - посылка серии "импульсов" на один выход, затем ожидание отпускания кнопки и посылка еще серии "импульсов".

И ПОДРОБНО:

Спойлер
   Есть китайский фонарик. У этого фонарика есть режимы "Ярко-Тускло-Мигание-Выкл." (назову их 1-2-3-0). Они переключаются "по кругу" последовательным нажатием одной и той же кнопки на фонарике. Хочу попробовать, добавив отдельную кнопку, включать режим "Мигание" из любого режима, который был включен до этого. После отпускания этой кнопки "самостоятельно будет возвращаться" включенный до этого режим. Алгоритм и схему подключения придумал (там все просто, размещу здесь - на закидывание помадорами)), а вот перевести этот алгоритм в код нужен программер :)   Сам со всеми этими "командами, описаниями переменных и т.д." разбираться буду долго )))

    Размышляя на тему как максимально экономить батарейку в проектах где основная задача выполняется по нажатию кнопок (как в пультах ДУ) в голову пришла очень простая и эффективная схема: на кнопку возложить не только задачу вызывать ту или иную функцию, но и подавать питание на микроконтроллер. Таким образом потребление схемы в режиме ожидание падает до нуля (!), так как батарейка оказывается полностью отключенной от схемы.
    Необходимо только будет дополнить схему питания Абдурины конденсатором для задержки отключения питания (на нужное время) и "развязать" этот конденсатор диодом от входа кнопки.
   Для выполнения задачи потребуется измерять напряжение на светодиоде (он питается ШИМ-сигналом), обычный тестер показывает следующие значения (подтверждены экспериментом с "Амперки" на Ардуино):
   0   В = Выкл      (режим 0)
  3,3 В = Ярко      (режим 1)   
  2,5 В = Тускло   (режим 2)
   ???   = Мигание (режим 3 - мигание - отследить, используя измерение напряжения напрямую, не получится - напряжение "скачет" от 0 до 3,3В).

   Запомнив после измерения режим, ждем нажатия "нашей внешней" кнопки (или не ждем, т.к. кнопкой уже включилось питание, а это значит, что кнопка уже нажата).

   Отправляем серию "виртуальных нажатий" основной кнопки - там нужно контакт притягивать к земле (0В). Фонарик переходит в режим "Мигание".

   Ждем отпускания кнопки и посылаем серию "нажатий кнопки" для возврата к предыдущему режиму.

   КОНЕЦ АЛГОРИТМА. ВСЕ!  Далее заканчивается ток в поддерживающем питание Ардуино конденсаторе, и схема отключается до следующего включения.

ИТОГО:

- нажатием кнопки одновременно подается питание на Ардуино и "замыкается" один вход

- проводится несколько (для усреднения. Можно сделать цикл из 3-5) измерений напряжения, вычисляется среднее

- в зависимости от вычисленного напряжения отправляется нужное количество (от 1 до 3-х) "виртуальных нажатий кнопки"

- ожидается отпускание кнопки - и выдается соответствующая предвключенному режиму серия "виртуальных нажатий кнопки" , остановка цикла ... ВСЁ!   


poraboloid

Для начала опишите что нужно, тогда может и найдутся желающие помочь.
Я иногда писал, но я ламер, мне трудно дается.
Yedoo Ox, МК DD350W, 9А\ч LiFePo4  Yedoo City, МК QQ85,11A\ч LiIon
Yedoo Mezec new, MXUS 350, 9А\ч LiFePo4 Самовар на тесте.
EVO 2xDD500W в ремонте.Оxelo Dirt в доделке

smartbsv

#2
Обновил свое первое (заглавное) сообщение. Добавил описание. Можно начинать кидать помадоры  :-)
Спойлер
Предвижу комментарии "это можно сделать на .... PIC, STM ..." (больше не знаю фирм:)
- Ответ на это прост. Arduino (Pro Mini) есть в наличии. Не нужно разводить под микросхему плату, изготавливать ее и паять на нее микроскопические детальки...  Готовая плата. Ее мне запрограммируют с помощью "Большого Ардуино". На этом "Большом Ардуино" с макетной платой также возможно проверить работу схемы (частично, до момента с разрывом-подачей питания).
А подпаять несколько проводов к подготовленным на плате Ардуино отверстиям - достаточно просто, справится каждый (и конденсатор  (с диодом, если надо)).

Kulibin

А не проще ли переделать контроллер этого фонарика под нужный функционал? зачем такие костыли? на фонарёвке товарищ собаку съел на драйверах, можно у него купить. А вообще, могу написать скетч, он довольно простой.

smartbsv

Цитата: Kulibin от 25 Окт. 2015 в 23:17А не проще ли переделать контроллер этого фонарика под нужный функционал? зачем такие костыли? на фонарёвке товарищ собаку съел на драйверах, можно у него купить. А вообще, могу написать скетч, он довольно простой.
Дело в том, что подобным "циклическим" образом переключаются режим практически на всех фонариках/велофарах. И в случае поломки (желания поменять фонарик на другой) достаточно будет только "подпаяться" к кнопке нового фонарика:)
А написать программу для драйвера фонарика и "перекинуть" микросхему на плате - очень и очень сложно. (Ведь драйвер питается от любого напряжения в диапазоне 5-24В, и он (драйвер) должен регулировать ШИМ, чтобы не спалить светодиод).
(По крайней мере мне) видится достаточно непростая задача даже в предложенном мной варианте, не говоря уже о переделке драйвера.
Буду рад любой помощи:)

Kulibin

Цитата: smartbsv от 26 Окт. 2015 в 20:42
Дело в том, что подобным "циклическим" образом переключаются режим практически на всех фонариках/велофарах. И в случае поломки (желания поменять фонарик на другой) достаточно будет только "подпаяться" к кнопке нового фонарика:)
А написать программу для драйвера фонарика и "перекинуть" микросхему на плате - очень и очень сложно. (Ведь драйвер питается от любого напряжения в диапазоне 5-24В, и он (драйвер) должен регулировать ШИМ, чтобы не спалить светодиод).
(По крайней мере мне) видится достаточно непростая задача даже в предложенном мной варианте, не говоря уже о переделке драйвера.
Буду рад любой помощи:)

Какой интересный подход: в случае поломки... А не проще ли один раз сделать на совесть и навсегда забыть про проблему?

Впрочем, хозяин-барин :) Что у вас есть из ардуин? подключать ее к компу -мигать светодиодом пробовали?

smartbsv

Цитата: Kulibin от 29 Окт. 2015 в 15:22
Какой интересный подход: в случае поломки... А не проще ли один раз сделать на совесть и навсегда забыть про проблему?

Впрочем, хозяин-барин :) Что у вас есть из ардуин? подключать ее к компу -мигать светодиодом пробовали?

Можно по-другому сказать:  "Воспользоваться этой штукой сможет каждый, у кого есть подобная фара"  :-) (а это - все китайские фары и фонари:)

Есть Абдурина Про Мини. Закидывать программу и мигать пробовал. А вот что-то там дополнить - надо знать язык Ардуины:)

DIVAS

Цитата: smartbsv от 30 Окт. 2015 в 12:24
Есть Абдурина Про Мини. Закидывать программу и мигать пробовал. А вот что-то там дополнить - надо знать язык Ардуины:)
За те полтора месяца, которые существует эта тема, можно было уже самому разобраться и всё написать. Ардуино - это не только готовые платы, но и упрощённый до предела язык программирования, по которому в инете уйма учебников, видеоуроков, примеров, библиотек, готовых скетчей и вообще всего что только можно придумать. Научиться измерять напряжение и дёргать ногами можно за неделю, ковыряясь по часу в день.

Но в целом Вам правильно пишут, Вы неправильно поставили себе исходную задачу. Выкиньте из фонаря всё кроме светодиода и оптики и запитайте светодиод от внешнего драйвера с нужными режимами. Это нормальное решение без всяких костылей. Тут нет ничего сложного. Просто выкидываем один драйвер и подключаем вместо него другой. И в фонаре в этом случае дохнуть нечему.

А лепить автоматический переключатель режимов для китайского недодрайвера - это (ар)дуйня какая-то.

Если же отвечать на основной вопрос темы, то на Ардуине тут многие пишут. Кто-то пишет ваттметры, кто-то спидометры, кто-то целые бортовые компьютеры. С помощью Ардуино, в принципе, можно решить большинство бытовых задач по управлению чем-либо.
Kugoo M4 Pro 18Ah (2020)

Installer PRO

Цитата: DIVAS от 30 Окт. 2015 в 13:24
За те полтора месяца, которые существует эта тема, можно было уже самому разобраться и всё написать. Ардуино - это не только готовые платы, но и упрощённый до предела язык программирования, по которому в инете уйма учебников, видеоуроков, примеров, библиотек, готовых скетчей и вообще всего что только можно придумать. Научиться измерять напряжение и дёргать ногами можно за неделю, ковыряясь по часу в день.

Если же отвечать на основной вопрос темы, то на Ардуине тут многие пишут. Кто-то пишет ваттметры, кто-то спидометры, кто-то целые бортовые компьютеры. С помощью Ардуино, в принципе, можно решить большинство бытовых задач по управлению чем-либо.
Вы сначала товарища оттопырили, а затем типа указали направление его действий.  Нафик отвечали? Потешиться? Да, в сети полно примеров. Вот только комментов, что, откуда, почему и зачем - как то бы и нету среди всего. Вот товарищ и ищет помощи у форумчан. ВАШЕЙ фактической помощи - НОЛЬ.

Накатался на электромобилях SMITH-Edison, Mitsubishi I-Miev, Chevrolet Volt, Nissan-Leaf, Mitsubishi Outlander PHEV, TESLA-s85 и  VOLVO V60 PHEV И даже на первом электрогрузовике Smith-Newton и элеквелике Lion-а. Спасип!