Статьи » Разработки |
2021-12-24 в 13:09 (последнее изменение 2022-01-24 в 17:02)
Началось все с того, что на работе мы постоянно спорили по поводу температуры и влажности в комнате, а от этого зависело использование отопительных приборов, так как аргументировать некоторым коллегам их включение без измерительного прибора было довольно сложно, я решил его собрать из подручных компонентов. Сидеть зимой при температуре в помещении ниже 19 градусов было совсем некомфортно. Звезды совпали для создания устройства выходного дня, в столе лежит новая Attiny 2313 в DIP корпусе, DHT — 22 и 8×2 LCD 1602 дисплей. Схема электрическая принципиальная разработана в программе Dip Trace с условно бесплатной лицензией: Для быстрого моделирования я использовал breadboard, соединил проводники согласно схеме электрической принципиальной и принялся писать микропрограмму. Для отладки использовался LCD 16 x 2, так как у него пины расположены в один ряд и его проще соединять на монтажной плате. Изначально я хотел сделать работу от двух сенсоров внутренний — DHT22, внешний DS18B20, но памяти программ в 1 Кб катастрофически не хватало, пришлось отказаться от идеи с внешним датчиком. В итоге написана прошивка на языке Си в среде Atmel Studio 7.0 только для работы с DHT — 22. Также в целях экономии места и средств было принято решение тактировать микроконтроллер от встроенного генератора на 8 МГц, для домашнего использования и устройства данного формата вполне приемлемо. Для этого из схемы была исключена цепочка С3, С4, Y1. Вот так выглядела отладочная модель:
Но постоянно загружать правки программы в реальное железо без внутрисхемного отладчика дело неблагодарное, и для ускорения процесса я создал компьютерную модель в программе Proteus 8. Схема устройства: После окончательных правок, микропрограмма была загружена в микроконтроллер и я наконец увидел результат: Особенность микропрограммы, написанной на языке Си, заключается в том, что удалось необходимый функционал уместить в память объемом 1 Кб, вывод Atmel Studio показывает следующий результат: Печатная плата не проектировалась. Сборка производилась на распаячной макетной плате, так как в этом проекте минимум соединений и необходимо было собрать устройство за пару часов. Плата установлена в корпус KRADEX Z70. Микропрограмма написана на языке Си в Atmel Studio 7. Исходный код, схему электрическую принципиальную для Dip Trace и файл симуляции схемы можно найти в моем репозитории на GitHub. Для программирования микроконтроллера был использован флешер USB-ASP и программа eXtreme Burner - AVR. Вы должны установить FUSE биты только для тактового генератора (внутренний 8 МГц или внешний кварцевый резонатор на 8 МГц). Остальные биты оставьте по умолчанию! Список компонентов:
Устройство проверено с несколькими термометрами, на изображении ниже термогигрометр от Xiaomi. Расхождения между ними минимальны. Устройство питается от внешнего блока питания на 5В, разъем питания на плате применен Mini-USB. Термогигрометр работает больше года в домашних условиях и проявил себя с положительной стороны, принося пользу. Вы также можете посетить мой Instagram и мой небольшой блог об электронике и программированию.
Посмотрите еще эти статьи
Управляем вытяжкой на кухне пультом от телевизора на Arduino Вывод картинки на дисплей 128x64 Детектор микронаушников Ethernet shield w5100 таймер включения на веб странице Вывод различных данных на дисплей LCD 128x64 Подключение датчиков газа и дыма серии MQ к Arduino Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте. Так же у нас есть Telegram канал. Вам понравился наш материал? Поделитесь с коллегами! Просмотров: 2190. Оценка статьи: 5.0 из 5. Уже оценило 2 читателя |
Всего комментариев: 0 | |