Опыт создания и эксплуатации нескольких устройств стала вырисовываться концепция «Умного дома». Появилась потребность в универсальных и недорогих контроллерах. Решил начать с создания прототипа
Требования к контроллеру
- Совместимость с Arduino по модулям и средой Arduino IDE
- Наличие дисплея
- Наличие RF модуля NRF24L01
- Питание от сети 220В
- Универсальность, возможность многократного применения
- Хороший внешний вид конечных устройств
- Низкая стоимость
Выбор компонентов, стоимость
- Микроконтроллер ATMEGA328P-PU — $2
- 7-сегментный четырех разрядный LED индикатор — $0.94
- Контроллер 8-сегментного индикатора MAX7219 — $0.52
- Радио модуль NRF24L01 mini — $1.56
- Блок питания 220В/3.3В 300мА ~ $3.5
- Корпус с прозрачной крышкой 85x58x35 ~ $4
- Макетная плата 50×70 — $0,52 (только для прототипа)
- Резисторы, конденсаторы, провода, разъемы, кнопочка < $0.5
Итого в пределах $14 (Стоимость приведена на момент написания статьи при покупке партиями 5-10шт)
Схема контроллера
Монтаж контроллера
Берем все компоненты
На макетной плате нужного размера размещаем их
Распаиваем фторопластовым кабелем сечением 0.1мм2, купленным в Китае
Монтируем миниатюрный сетевой блок питания, обернутый для изоляции каптоновой лентой.
Программирование
Контроллер ATMEGA 328P-PU уже прошит загрузчиком по методике, описанной в этой статье
Для заливки скетчей используем USB/RS232 конвертор, купленный ранее для программирование Arduino Pro Mini. Для этого вывод подключаем выводы RX/TX/GND/VCC с соответствующими выводами преобразователя монтажными проводочками
Подключаем конвертор к USB компьютера. Теперь можно заливать туда скетчи так же как в Arduino, не забывая наживать после компиляции перед самой заливкой кнопку «RESET»
Сборка в корпус
Крепим саморезом к монтажному отверстию корпуса плату через пластмассовую втулку нужно высоты
Закрываем контроллер прозрачной крышкой
Включаем — тестовый скетч работает
Сфера применения
Данный прототип имеет 6 свободных дискретных входов/выводов и столько же аналоговых входов, которые тоже можно использовать как дискретные. Свободен также интерфейс I2C, который у данного контроллера совпадает с 4 и 5 аналоговыми входами.
Всего этого вполне хватит для изготовления локальных контроллеров управления вроде этого, только с возможностью удаленного контроля и управления по радио интерфейсу. Подключив к данному контроллеру температурный сенсор и датчик давления, получаем метео-сенсор для погодной станции.
Есть много идей по созданию и других компонентов умного дома. Поэтому, следующий шаг — изготовление данного контролера на нормальной печатной плате, а также разработка стандартной библиотеки, поддерживающей беспроводную сеть из устройств «Умного дома»
Полезные ссылки
- Контроллер ATMEGA 328P-PU. Даташит. Обзор по программированию.
- Контроллера MAX7219. Датащит. Библиотека для Ардуино Led Control.
- 7-сегментный индикатор. Даташит на аналог.
- Миниатюрный промышленный блок питания. Обзор.
- Радиомодуль NRF24L01 mini. Обзор. Библиотеки работы с NRF24L01: RF24 и RF24Network.
- Пластиковый корпус. Обзор.
Интересная игрушка получилась! Подскажите, чем плох встроенный в контроллер генератор? Зачем надо было ставить кварц ?
Потому у ATMEGи вместо кварца RC-цепочка с позорными параметрами точности и всего на 8МГц.
А кварцы мне в комплекте с микросхемами пришли
Про точность я в курсе, ее не достаточно в данной схеме ? Это же не измерительный прибор.
Меня как-то зачморили на Arduino-форуме, когда написал про прошивку с внутренним кварцом 🙂
На самом деле, некторые библиотеки под 8МГц нужно подстраивать, ту же DHT, например.
Алексей немного не по теме, не могли бы вы подсказать простенький набор для создания таких схем. на ебей нашел:
http://www.ebay.com/itm/like/New-Pro-Mini-atmega328-5V-16M-Replace-ATmega128-Arduino-Compatible-Nano-/200957063666?afsrc=1
Что еще по списку пригодится? Я так понял для платки надо питание Arduino, как его подключить к компьютеру и залить прошивку, достаточно разодрать один USB проводок?
Какой язык программирования для контроллера, я в свое время на atmega только эсемблер изучил.
На схеме у вас 22 нФ у продавца их нету, их не обязательно?
Может вы подскажите готовые наборчики для быстрого старта?
извиняюсь пико фарад, нашел вот такой лот со всем этим набором http://ru.aliexpress.com/item/Free-Shipping-2lot-16pcs-ATMEGA328P-PU-without-Ar-duino-BOOTLOADER-DIP-Socket-16MHz-crystal-KitGood-quality/1363615978.html
По первой ссылке Arduino Pro Mini — лидер по соотношению цена/качества
К нему обязательно брать преобразователь (один на много контроллеров)
USB/RS232
Можно взять самый дешевый и давить RESET на контроллере при каждой загрузке
http://www.buyincoins.com/item/12183.html
Можно взять подороже все будет заливаться без RESET
http://www.buyincoins.com/item/9002.html
Можно там же на Ebay взять комплект Arduino + USB
http://www.ebay.com/itm/Pro-Mini-atmega328-5V-16M-Arduino-Compatible-CP2102-USB-2-0-to-UART-TTL-module-/310941830171
Питается контроллер по тому же USB. Можно для питания использовать любой 5В зарядник для телефона
Для новичков, правда, более рекомендован Arduino Uno — так как для него изготавливается много шилдов (плат, устанавливаемых сверху и выполняющих ряд функций).
http://www.buyincoins.com/item/10252.html
Очень важно понять, что должен делать контроллер и после этого покупать к нему модули/шилжы/примочки.
Программируется Ардуино чаще всего на Си++, самая распостраненная среда Arduino IDE
http://arduino.ru/Arduino_environment
По ссылке с АЛИ все очень хитро:
Лот из 40 шт стоит $18, но, каждый кондерчик и панелька у них считается за 1шт 🙂
Поэтому в лоте 5 комплектов МК + весь обвес, что получается дороже того же Arduino Pro Mini по первой ссылке
Кондеры на 22пф (22нФ мой косяк) ставить нужно по даташиту на МК.
Спасибо за разъяснение! Почитаю еще ваши статьи, продумаю что заказывать.
Можно купить и «Набор начинающего Ардуинщика»
http://www.buyincoins.com/item/34867.html
Но, мне кажется, некорые модули примените только раз, побаловться,
а чего-то как раз не хватит
Пришли набор и платы Arduino Uno, mini Pro, nano. Уже собрал пробный рабочий вариант своей задумки на Uno, на сайте оставил ссылку на Вас за помощь.
MAX7219 вы подключаете к Atmege, также как у вас на схеме?