Простой Arduino-контроллер "чайника" - от макета до готового изделия


Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Простой Arduino-контроллер "чайника" - от макета до готового изделия
В какой-то мере эта тема является продолжением темы уважаемого ZORS, читать тут. По крайней мере, в том, что касается контроллера, который делаю я, пользуясь наработками, схемами и критикой из той темы.
Идея иметь некоторое контролирующее аквариум устройство у меня имелась давно. Устройство, которое обслуживало бы основные потребности аквариума (контроль света, температуры, СО2, возможно рН и подачу УДО) и было бы относительно простым в сборке и гибким для приспособления к своим индивидуальным нуждам.
Про платы Arduino я впервые прочитал пару лет назад точно, но как-то не решался приступить к ее изучению. Причем, если железо и схемы "чаво-куда-воткнуть" для меня еще более менее не страшны (закон Ома не менялся последние лет 150), то вот программная часть, прямо скажу, отталкивала, ибо я боялся не разобраться. По образованию и профессии я весьма далек от программирования. Последний раз году в 1989-90 в школьном кружке работал на Бейские и (могу ошибиться) на Фортране.
Толчком послужила тема, которую я уже указал, где ТС и другие участники все подробно разжевали и в рот положили, ну а проглотить - это уже дело индивидуальное.
Вот о процессе глотания и пойдет речь. Ну, в смысле, что у меня получилось из ардуины.
2014-05-02 добавлено 02/05/2014 22:20:09#1968755
Нравится skitol

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Для начала была куплена плата Arduino UNO R3 (оригинальная, на радиорынке, причем недешево, на e-bay гораздо дешевле) и блок из 4-х реле (там же на радиорынке). Потом с e-bay были заказаны:
1. Часы RTC на микросхеме ds1307. Не самый лучший выбор, т.к. в схеме нет термокомпенсации и часики убегают. Например мои до 36-40 сек/сут спешат, что потребовало некоторых танцев с бубном в программе. На будущее планирую покупать на микросхеме ds3231 с термокомпенсацией, например такие.
2. Плата I2C и дисплей 2*16. Простенько, зато надежно. Можно было бы дисплейчик и побольше, типа 4*20. От "тачскринов" и цветных дисплеев типа Nokia сознательно отказался: на этапе освоения техники нужно что-то простое.
3.Драйверы для ЛЭДов MW LDD 1000(H), ток до 1 А, с функцией диммирования, ради которой все и затевалось, если честно. Постройка самого светильника пока только в планах и будет описана отдельно, но опыт использования ЛЭДов для акваса уже имеется (например). Диоды уже пришли, это Cree XML 6500К и 4000К.
4. Термодатчик ds18b20 с гидроизоляцией.
5. Резисторы-проводочки-плАтки и прочая мелочь. Что-то есть в хозяйстве, что-то прикупил.
Для начала нужно поставить себе цель, а что собственно контроллер должен делать. Не скажу, что цели у меня были полностью поставлены в начале работы, но по мере ее продвижения все начало более-менее вырисовываться. Техническое задание вышло следующим:
1. Управление светом с диммированием по двум каналам (для "утра-вечера" и "дня").
2. Управление ЭМ-клапаном СО2, который подается из аппарата Киппа на основе соды и лимонки.
3. Управление кулерами для охлаждения воды. Нагревание воды грелкой в наших южных широтах менее актуален. Опционально и по мере опытов - возможность охлаждения радиаторов диодов.
4. Делать вышеперечисленное в ручном и автоматическом режиме с отбражением на экране состояния контроллера.

Изменено 2.5.14 автор Дядька-рыбомор
2014-05-02 добавлено 02/05/2014 22:54:01#1968764
Нравится Avela

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Программу для компиляции скачал с официального сайта, с руссификатором, последняя версия 1.0.5. У меня, кстати, os linux ubuntu, компилятор встал без проблем (а вот на старом добром win xp капризнячал, на win-7 все ОК)

Для начала я задался вопросом, как эргономичней соединить ардуину со всей периферией, коей набралось немало. Про "шилды" (платы, которые надеваются на ардуину) я уже знал, но хотелось как-то самому. Сделал DIY-шилд из платки 5*7 см, на которой разместил часы, подтягивающие резисторы термодатчика и кнопок, контакты "мама-папа".

Монтаж "навесной", пайкой. Можно было бы и плату протравить, но во-первых, возиться было лень и некогда, а во-вторых - проект несколько менялся, а вместе с ним менялась и допаивалась плата. На готовой протравленной плате так не выйдет. Неаккуратно, конечно (особенно с тыльной стороны), да кто ж смотреть будет? Главное - работает.
В итоге к плате были присоеденены: часы, дисплей через плату I2C, блок 4-х реле, термодатчик, 5 тактовых кнопок, временно вместо драйверов - маломощные диоды через 220 ом резисторы (для контроля функции ШИМ).
2014-05-03 добавлено 02/05/2014 23:38:10#1968773
Нравится Organism

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Программаная часть в итоге вышла такой скачать можно тут. Конечно, написано корявенько, но работает. По предыдущим замечаниям кое-что изменил, например ввел тип данных boolean для переменных типа "flag", оптимизировал отображения названия месяцев и дней недели (убрал цепочки "ифов" т.е. управляющих операторов if). Довольно замысловатым и запутанным вышло управление меню экрана и переключение некоторых кнопок. Думаю со временем упростить, т.е. опять же уйти от цепочек операторов if....else if.....else к операторам типа switch.....case.
Управляющие кнопки подключены у меня как к цифровым пинам (2 и 3), так и к аналоговому входу А0. Общую идею подключения кнопок взял тут. Опробовал для себя на будущее 2 способа: через подтягивающий резистор 10 ком к цифровому пину (понятно, что 1 кнопка на 1 пин) и при помощи АЦП (аналогово-цифровой преобразователь) на резисторах к входу А0, по сути это обычный делитель напряжения. Тут можно кнопок сколь угодно много на 1 вход, главное точно подобрать номиналы резисторов и измерить падение напряжение на них. У меня в хозяйстве нашлись резисторы 2,2 ком и 4,7 ком. Измерил падение U в цепи кнопки (на подтягивающем резисторе 10 ком), и по этому U ввел в программу значения аналогового сигнала. Например, падение U 3,2 В в цепи с резистором 4,7 ком. Берем за 100% 4,8 В на ардуине (у меня, вообще 5.0 В должно быть в идеаале) и 1024 бита на входе А0 (от 0 до 1023), производим действие 3,2:4,8*1023=682 бита, т.е. уровень аналогового сигнала задаем как >680(или 675) && <690. В этом диапазоне и будет срабатывать кнопка.
Всего кнопок 5 (нумерация кнопок произвольная, просто для примера).
№1. Вкл/выкл диода подсветки экрана. Она просто замыкает контакты на плате I2C, там где обычно джампер стоит. Это чтобы экран не светился все время.
№2 При ее нажатии время RCT приводится к 21:00:00. Это для периодической коррекции часиков по сигналам программы "Время" по ТВ. Реальная польза от зомбоящика . В принципе у меня программно реализована коррекция (минус 1 сек каждые 38 мин, итого -38 сек/сут). За игры со временем отдельной спасибо ZORS.
№3 Кнопка "Меню экрана". Тут поясню с фотками.
Когда ардуина грузится, выводится что-то типа "хэллоуворда" , ну типа слава мне любимому . Так, нефункциональное баловство.

А потом включается экран часов-календаря. Тут все понятно

При нажатии на кнопку "меню" высвечивается экран состояния ардуины, что подключено и в каком режиме. При повтороном нажатии на кнопочку - опять дата/время, и так далее.
Экран состояния выглядит так

Покажу интерпретацию.
Первая строка.
В данном случае СО2 выключен и находится в автоматическом режиме (СО2 "0", т.е. выкл, А - это AUTO; соответственно если будет "1" - это включен, и буковка "Н" - это ручной режим, HAND). Управляется СО2 своей кнопочкой №4.
То же самое и со светодиодами LED. Управляется последней кнопкой №5, при этом выключается не ШИМ-выход, а реле (т.е. пин, управляющий реле переходит в состояние LOW), и прерывается подача напряжения на драйверы.
Вторая строка. Ну, температура - понятно. Символ "*" показывает, что Т превышает установленный порог+гистерезис и включены кулеры. Ручного управления кулерами нет (нужно ли, не знаю еще).
Далее пишется состояние времени суток светильника. Night - все выключено. Morning - рассвет (начало ШИМ-диммирования). Day - все включено на полную катушку. Evening (как на примере) - ШИМ в обратную сторону, закат. Все очень наглядно.
У меня осталось свободным одно реле, куда его приспособить - еще подумаю. Можно под дозатор УДО, можно под включение кулеров радиаторов (если потребуется), ну и т.д.
Будут вопросы - постараюсь ответить. Будет критика - постараюсь учесть. Код приветствуется к оптимизации, копированию и использованию в ваших целях.
Когда засуну все в коробочку - покажу. Пока это вот так выглядит на макете
2014-05-03 добавлено 03/05/2014 01:02:01#1968777
Нравится Organism

Завсегдатай




460 39
Москва
3 мес. назад
Дядька-рыбомор

ПОЗДРАВЛЯЮ! Классно.
Надо еще посмотреть как все в корпусе срастется. Код использую в своем проекте.
Идея с отдельными кнопками понравилась (одна кнопка - одно действие), только вот выключение подсветки странно реализовано - я по времени бездействия (5 минут) собираюсь отключать.
2014-05-05 добавлено 05/05/2014 22:55:14#1969488

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
сообщение arch07
только вот выключение подсветки странно реализовано - я по времени бездействия (5 минут) собираюсь отключать.

А как? Через lcd.backlight()?

Изменено 6.5.14 автор Дядька-рыбомор
2014-05-06 добавлено 06/05/2014 16:07:51#1969637

Завсегдатай




460 39
Москва
3 мес. назад
Дядька-рыбомор

На строковом да:
lcd.backlight() - вкл
lcd.noBacklight() - выкл

А на Nokia 5110 - я завел подсветку на отдельный цифровой вход, если даю 0, то горит, а если high - то тухнет.
В инструкции от http://www.adafruit.... подсветка просто заведена на плюс (правда в моей китайской версии нога light дисплея требует земли).
Поигрался графическим дисплеем и решил использовать его как строковый - с самым мелким шрифтом. Получается 6х13 символов.
При большом количестве дисплеев есть вариант отказаться от меню при просмотре. Оставить его только в настройках.
2014-05-06 добавлено 06/05/2014 20:02:30#1969749

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
сообщение arch07
Дядька-рыбомор

На строковом да:
lcd.backlight() - вкл
lcd.noBacklight() - выкл

Ну да, в главном цикле void loop () что-то типа такого: при нажании кнопки, назовем ее "ButtonLCD"
if(digitalRead(ButtonLCD)==HIGH)
{
lcd.backlight();
delay(10000);//дисплей включается на 10 сек
lcd.noBacklight();
}
А можно еще поиграться с кодом - тогда вообще при нажатии на любую кнопку экран будет освещаться какое-то время, а потом гаснуть. В общем, будет время, побалуюсь на выходных.

Изменено 6.5.14 автор Дядька-рыбомор
2014-05-06 добавлено 06/05/2014 21:27:35#1969785

Завсегдатай




460 39
Москва
3 мес. назад
Дядька-рыбомор

тут delay - явно зло!
пока горит дисплей 10 секунд основной цикл стопорится.
через millis() надо задержку вычислять...

При каждом нажатии кнопки забивать в переменную текущее значение millis();
И в главном цикле сравнивать пока текущее значение отличается от записаного в переменной менее чем на х миллиекунд то горит, а если больше, то тухнет. где x - время горения.

Изменено 6.5.14 автор arch07

Изменено 6.5.14 автор arch07
2014-05-06 добавлено 06/05/2014 21:44:07#1969800

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
arch07

Да, наверное вы правы.
2014-05-06 добавлено 06/05/2014 21:54:33#1969801

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Пока ардуина на макете работает с целью выявления багов программы (а скетч я все еще корригирую), займусь мат.частью, т.е "железом".
Для начала нашел на радиорынке неплохие тактовые кнопки. Ход у них очень мягкий, в отличие от "квадратиков", есть пружинка, а еще при помощи гайки они легко и аккуратно фиксируются на корпусе прибора.

Кроме того, прикупил на рынке подходящий корпус, экран помещается как влитой. Недорого, всего 100 руб.


Изменено 8.5.14 автор Дядька-рыбомор
2014-05-08 добавлено 08/05/2014 21:54:11#1970514
Нравится Organism

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Драйверы светодиодов будут получать питание от AC/DC блока питания 19V 4,7А (блок питания MW для ноутбуков). Кулеры для охлаждения воды и радиаторов будут запитаны от этого блока через отдельные преобразователи DC/DC на основе LM317, схема простейшая (гуглите сами, в инете их масса), на макете она заработала сразу.

Пока еще не решил до конца, как запитать саму ардуину: от отдельной USB-зарядки от старого телефона на 5 V, или опять-таки - от общего блока питания через DC/DC 19-5V.
Дальше занялся печатной платой для драйверов и DC\DC конвертеров. ЛУТ не владею, программами для разводки плат тоже, так что делал как в пионерском детстве - на бумажечке с линейкой и карандашом. Дорожки рисовал черным цапонлаком, смывал его жидкостью для снятия лака с ногтей, который с большим недоумением выдала мне жена. Им, женщинам, нас не понять. Вот начало процесса

Вот травим помалу и наносим разметку для радиодеталей

Решил, как назову прибор. Есть iPAD, iPHONE (и даже iПОЖ от Шаца и Пушного). Я решил назвать iAQUA.
Учитывая относительно большой ток (1А) для питания драйверов, дорожку "-19V" сделал довольно широкой, а "+19V" и разводку на сами диоды думаю сделать проводом навесным монтажом. (Кстати, знающие люди - подскажите, может "-" тоже лучше проводом продублировать, или дорожка ток 1 А выдержит?).
Разместил на плате детали. Драйверы поставлю через клеммники "мама", чтобы из не впаивать и легко в случае чего можно было бы поменять. Для связи платы с внешним миром использую клеммники разных размером.

Кстати, травил по-старинке - гидратом треххлорного железа. Но буквально вчера обнаружил способ перекись+лимонка+поваренная соль (ссылка). На днях попробую для небольшой платы АЦП на резисторах для подключения кнопок.

Изменено 9.5.14 автор Дядька-рыбомор
2014-05-09 добавлено 09/05/2014 03:45:53#1970559
Нравится Organism

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Продолжаю репортаж о постройке ардуины.
Выходные прошли очень продуктивно: в перерывах между поздравлениями дедушки жены (в Сталинграде воевал!) и шашлыком с напитками всякими удалось многое доделать. Прежде всего плату АЦП с кнопками. Вот она

Травил плату новым для меня способом: Н2О2 3% + лимонная к-та + NaCl. Все прекрасно получилось, а главное - ингридиенты очень дешевые, безопасные и легко доступные. Ну, это кому интересно.
Далее наступил этап запихивания в коробочку. Долго думал, как платы закрепить внутри корпуса, и при этом чтоб было по минимуму столярно-слесарных работ. Покопался в залежах кладовки (где все "нужное!!!", как объясняю жене), и нашел действительно нужное. От ремонта осталась двусторонняя клеющая лента на толстой мягкой подложке (такую используют, например, мебельщики). Держит на "ура". Вот на кусочках ленты и приклеил платы ардуины с шилдом, плату реле и плату АЦП. А потом соединил шлейфами.

На макетной плате - второй датчик ds18b20 без гидроизоляции для радиаторов диодов. Одна из кнопок (на длинных проводках) будет вынесена на заднюю панель (это кнопка коррекции времени "21:00").
Соединяем половинки

Включаем - у получаем результат. Ура!

Оба термодатчика показывают практически одинаковую Т, разница 2-3 десятых градуса максимум, и то потому что изолированный датчик более инертен, как мне кажется.

Дальнейшие работы: проектирование задней стенки с выводами. Плата с драйверами будет стоять на самом светильнике. Все еще не решил с питанием - от USB, как сейчас, или через DC/DC конвертер 19V-5V.
Скетч и скриншоты мен. экрана обязательно выложу, только подправлю комментарии.
Таким образом, этот проект практически завершен.
2014-05-12 добавлено 12/05/2014 22:27:32#1971559
Нравится Organism

Завсегдатай




460 39
Москва
3 мес. назад
Дядька-рыбомор

Кнопочки зачетные. А они с "кликом"?
Я подобные не нашел в митино. Все, либо монстры, либо без четкой фиксации нажатия
Зато дихлоритана купил - склеил автокормушку и сейчас вожусь с крышкой аквариума.

Корпус впечатляет. тока хоть зажигалку бы рядом - а то масштаб трудно оценить, хотя судя по плате достаточно компактный.
2014-05-13 добавлено 13/05/2014 05:12:20#1971590

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
сообщение arch07
Дядька-рыбомор

Кнопочки зачетные. А они с "кликом"?

Нет, бесшумные. Обычная тактовая кнопка. Покупал на нашем радиорынке по 20 руб. Хочу на e-bay такие найти, наверняка дешевле выйдет.
Корпус впечатляет. тока хоть зажигалку бы рядом - а то масштаб трудно оценить, хотя судя по плате достаточно компактный.

Размер понятен по дисплею: ширина 9 см, высота около 7 см, глубина 11 см. Первоначально хотел и плату с драйверами всунуть в один корпус с ардуиной, но слишком громоздкая коробка вышла бы, расположу драйвера в самом светильнике.
2014-05-13 добавлено 13/05/2014 15:45:22#1971769

Завсегдатай




460 39
Москва
3 мес. назад
Дядька-рыбомор

Дисплей-дисплею рознь... У меня сейчас 1602 - мелкий, а 2004 - буквы раза в 1,5-2 больше, соответственно и дисплей крупный. Но размерчик классный, я по ардуинке потом сориентировался.

Э-э-э нет. Тактовая - это с жестким положением нажато-отжато по клику. А енто тогда обычные кнопки. Таких у нас богато. Но не то Хочется "клик". Тактильный отклик. попробую замутить из микрокнопочек тактовых. Бот жалко я профукал старые советские транзисторы в мет. корпусах - из них отличные бы кнопочки получились.

А я зато "люстру" доделал и кормушку В "светодиодном освещении" фотки выложил. Теперь переключаюсь на контролер полностью. Надо СО2 и удобрения под свет подгонять. Вот придумаю как с кнопками решить...


Р.S. Спасибо за наводку на способ травления лимонкой с солью.

Изменено 13.5.14 автор arch07
2014-05-14 добавлено 14/05/2014 00:21:27#1971969

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Чем ближе продвигаешься к намеченной цели, тем больше возникает непредвиденностей, особенно если учесть "чайниковость" ТС, т.е. меня.
Решил запитать ардуину через dc/dc конвертер на основе линейного стабилизатора на 5 вольт 7805 (схемы гуглите, их масса). Я совсем не был готов, что эта зараза с тремя ногами так греется. Т.е. ожидал, что греется, но что ТАК! И это при конвертации 19-5 V и при токе потребления ардуины (со всей включенной периферией) около 360 мА. В общем, падение напряжения в 14 вольт для этого стабилизатора чувствительно. Радиатор спасает, но только на макете, т.к. в корпус я его не засуну. Придется продолжать питаться от USB (в качестве БП для самой ардуины - зарядка от телефона Sony (5 V, 800 мА).
Похожей неожиданностью закончилось и подключение кулеров через конвертер на LM317. Достаточно ощутимо греется, хотя радиатора в виде полоски аллюминия вполне достаточно (конвертаци тока 19V - 12V, потребление тока кулерами около 60-70 мА.)
Короче, следующий проект ардуины для нано-аквариумов буду начинать именно с силовой части, тем более что планирую все компоненты разместить на DIY-шилде к ардуино-нано.
Кстати, собрал сегодня релейный блок. Для него потребовалось реле на 5 вольт, транзистор BC337 (можно в принципе хоть кт315б, у нег правда ток коллектора меньше), пара резисторов 2.2 ком и 1 ком, диод 1n4007, маломлщный светодиод для индикации работы.

Себестоимость почти как у кbтайца с e-bay, зато можно собрать на любой общей плате, а не подключать отдельную плату или шилд.
ЗЫ. Вот я балда, все-таки. Про закон сохранения энергии забыл, да. Ведь лишние вольты-ватты с кристалла стабилизатора должны куда-то деваться? А их на 7805 нехило выделяется. (19-5)*0,38=5,32 ватта!!! Корпус ТО-220 расщитан только до 1 Вт макс. Это ж придется ставить радиатор аж 100 кв.см, а он не влезет в корпус, ну или нехило так тепло будет внутри корпуса (как говаривал Карлсон: "Домомучительницу? В эту маленькую коробочку?").

Изменено 17.5.14 автор Дядька-рыбомор

Изменено 18.5.14 автор Дядька-рыбомор
2014-05-17 добавлено 17/05/2014 22:34:24#1972971

Завсегдатай




332 45
Подольск
6 час. назад
Дядька-рыбомор

Линейный стабилизатор 7805 имеет смысл использовать при разнице напряжений в несколько вольт, иначе при сколько нибудь заметном токе КПД ниже плинтуса и проблемы с теплоотводом:
14*0.36= 5ватт пошло в тепло, тут без радиатора не обойтись
5*0,36= 1,8ватт скушала схема
КПД = 26%
При такой разнице напряжений надо импульсный преобразователь, который сложнее и помехи генерирует, но не будет переводить мощность на обогрев атмосферы.
Или искать входной БП на напряжение 7-9В.
2014-05-18 добавлено 18/05/2014 09:23:25#1973009

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
сообщение dkozyrev

Да, греем атмосферу, получается.
Или искать входной БП на напряжение 7-9В.

Я думаю, что оставлю usb-питание от телефонной зарядки, работает она уже много дней, проблен не было. Кстати, при подключении от БП на 9В не кисло греется уже сама плата адруино , вернее стабилизатор, установленный не ней.
2014-05-18 добавлено 18/05/2014 10:23:02#1973019

Постоянный посетитель




251 27
Москва
12 мес. назад
Чем ближе продвигаешься к намеченной цели, тем больше возникает непредвиденностей

Мне нравится Ваш подход и Ваше упорство! Наблюдаю за темой и желаю успешного завершения.

Зарядные устройства от современных мобильных устройств (маленькие блоки питания с USB разъемом) выдают 5V и где-то 1-1.5А тока. Я думаю Вам подошел бы такой блок питания, шнурок с USB разъемом и разъемом питания спаять не проблема, в принципе. Там уже есть и трансформатор, и стабилизатор, и фильтр.
2014-05-19 добавлено 19/05/2014 08:58:45#1973244

Посетитель




93 1
Москва
5 час. назад
Большое спасибо вам за тему. Очень нравится ваш подход к делу. Хотелось бы уточнить как вы подключали кнопки? Нет возможности начертить схему так как делает Z0RS? И зачем к датчикам температуры нужны "подтягивающие резисторы термодатчика и кнопок"?
2014-05-22 добавлено 22/05/2014 13:50:21#1974142

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
сообщение Bwzs
Хотелось бы уточнить как вы подключали кнопки? ... И зачем к датчикам температуры нужны "подтягивающие резисторы термодатчика и кнопок"?

Так, все смешалось в доме Облонских. Подтягивающие резисторы нужны как к датчику ds18b20, так и для кнопок. Для датчика ds18b20 по даташиту он должен включаться между выводами DATA и VCC и иметь номинал 4,7 ком (это подробно написано в теме ZORS).
Для кнопок резистор (не менее 4,7 ком) должен подключаться между GND ардуины и тем выходом, куда подключается кнопка. Это подробно изложено тут. Если используется один аналоговый выход для нескольких кнопок (для экономии выходов), то можно организовать АЦП (аналогово-цифровой преобразователь) при помощи нескольких резисторов разных номиналов, включенных между аналоговым выходом, кнопкой и VCC. Вот набросал примерную схемку (подключение к А0).

Кол-во кнопок (и резисторов) естесственно может быть бОльшим. Теперь как рассчитывать параметры. Нужно при нажатой кнопке измерить напряжение на подтягивающем резисторе (у меня на схеме 10 ком). Допустим, оно равно 3 В. Делаем нехитрое действие

3:5*1024=614,4

и в скетче в нужном нам месте указываем этот параметр в некотором диапазоне, к примеру

>610 && < 620

Если кнопок много, нужно проследить, чтобы диапазоны не пересекались и более точно подбирать номинал резисторов.
Общую схему получившегося контроллера и скетч обязательно выложу.
2014-05-23 добавлено 23/05/2014 20:38:13#1974554

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Очередной отчет за неделю (работа не дает двигаться быстрей).

Как видно, сделал заднюю стенку с разъемами и подключил релейный модуль к основной нагрузке: USB для питания и компиляции, вход/выход 220 В для со2 клапана, вход 19 В от блока питания, выход 19 В для питания драйверов ЛЭД, кулеров, выход ШИМ, входы для термодатчиков (для них использовал 3,5 мини-джек с тремя контактами). Сзади видна кнопочка для коррекции часов "21:00"
Пока система проходит тестирование.
2014-05-23 добавлено 23/05/2014 21:58:45#1974567

Посетитель




93 1
Москва
5 час. назад
Дядька-рыбомор



Огромное спасибо за ответ.
Вот нашел небольшую статью с видео где показывают как подключить кнопки ( если есть еще такие тугие как я)
http://nnm.me/blogs/...
2014-05-24 добавлено 24/05/2014 14:01:10#1974665

Свой на Aqa.ru




1149 188
Ростов-на-Дону
23 час. назад
Скетч можно скачать тут.
Схему лектрическую прЫнципиальную можно скачать тут в формате PDF
Комментарии и скриншоты на подходе.
2014-05-24 добавлено 24/05/2014 16:50:30#1974681

<< 12345 >> Создать новую темуБыстрый ответ