Пятница, 29.03.2024, 08:46
Приветствую Вас Гость | RSS
Меню сайта
Форма входа
Поиск

UD-8.Блок управления нагрузками (мой "Умный Дом")



Представляю Вашему вниманию свой проект "UD-8.Блок управления нагрузками".Понемногу, в свободное время, осваиваю язык програмирования Си, результатом моих трудов и есть этот блок.
Используется микроконтролер Atmega8. Весь код будет полностью открыт, HEX-файл внизу страницы.Код написан в AVR Studio 4.19.

Итак ,что же пока (прошивка будет обновлятся в сторону увеличения функционала) умеет UD-8 :

-управление нагрузками (вкл/выкл) при помощи матричной клавиатуры 3*4 ;

-дистанционное управление нагрузками (вкл/выкл) при помощи пульта работающего по протоколу RC-5 ;

-индикация вкл/выкл соответствующего канала на LCD 16*2 ;

-индикация времени (применяются часы реального времени на DS1307) ;

-подстройка часов и минут ;

-индикация календаря (год,месяц,число и день недели) ;

-"русский" LCD ;

-термометр на DS18B20, с постоянной индикацией на экране LCD ;

Cхема устройства :



Схема с протеуса (использовался для отладки), в ней не указаны!!! резисторы 100 Ом на каждом выводе матричной клавиатуры, которые нужно ставить ОБЯЗАТЕЛЬНО!!! .Подробне об этом можно посмотреть здесь ,впрочем и библиотека для опроса клавы тоже из этого источника.

Особеность подключения клавиатуры, является одновременое использование выводов строк клавиатуры с D5-D7 LCD.

Количество каналов - 4. Хотя их количество можно увеличить, поменяв прошивку, до 9, если использовать пины Atmega - PC0,PD0,PD1, а также PB6,PB7 если использовать внутрений RC-генератор.

Для моих нужд пока хватает 4 каналов,а пины PD0,PD1 (RX,TX) планирутся использовать для связи по UART UD-8 c "удаленными" исполнительными блоками на МК, например Attiny13.

PC0 планируется использовать для включения подсветки LCD.

Схема полностью совместима с платой Arduino Uno, хотя можно сделать свою или собрать на макетке например.Лично я использовал изготовленую мной ранее Freeduino - клон Arduino (Atmega8) .



Плата индикации счетчика с выпаяными деталями, оставлены кнопки (плата зеленого цвета).
С батарейкой - кусок платы ел.счетчика где размещены часы реального времени на DS1307.




Корпус от електросчетчика "Енергия"



Нажатие кнопки "0" - вход/выход из меню настройки времени
"*" - увеличение минут
"#" - увеличение часов



Просмотр календаря - нажатие кнопки "#"






Cтатья будет обновляться.