Часы, термометр, барометр, гигрометр в одном флаконе |
Очередной проект продвинутого показометра, включающий в себя измерение температуры, атмосферного давления, влажности воздуха и отсчет времени с календарем. В общем в него включены все мои наработки по работе с датчиками за все время увлечения микроконтроллерами, да и все накупленное добро нужно куда-то применить :) В итоге должен получится усовершенствованный логгер температуры, первую версию которого я забросил. Ну это позже, а сейчас приведу описание этой платы и тестовый код для проверки работоспособности напичканных туда датчиков и микросхем.
Схема устройства ниже (нажмите на рисунок для увеличения), конвертер USB-UART на FT232RL показан схемотически, схема в нем стандартная и уже описана здесь.
Сердцем схемы служит микроконтроллер ATMega64 фирмы Atmel, работающий от внешнего кварца на 16 МГц. Отсчитыванием времени занимается микросхема часов реального времени DS1307, я уже имел с ней дело и поэтому пошел по проверенному пути.
Для измерения температруы и влажности применен датчик DHT11, хоть и китай чистейшей воды, но показания выдает вполне удовлетворительные. У меня в заначке лежит еще SHT21, но тогда повторяемость схемы сильно упадет, потому как достaть его сложней и по стоимости он выйдет как вся схема в сборе.
Следующий датчик BMP085 - занимается измерениями атмосферного давления. Помимо этого он умеет измерять и температуру, так что можно будет с него дублировать показания.
Так как в дальнейшем планируется превратить устройство в логгер, предусмотрено место для подключения внешней EEPROM памяти 24LCxx. Для сопряжения 3х вольтового датчика давления использована зарекомендовавшая себя схема согласования на полевых тарнзисторах.
Все элементы (за исключением двух резисторов) находятся на верхнем слое, на нижнем разведены дороги которые не уместились на верху. Интересного там мало поэтому фото не привожу.
Чтобы иметь возможность напрямую подключать утсройство к компьютеру (к примеру, для того чтобы скинуть накопленные данные) на плате установлен преобразователь USB-UART на микросхеме FT232RL. Так же через этот преобразователь можно загружать в микроконтроллер прошивку, если предварительно зашить в микроконтроллер загрузчик (Bootloader). Как это сделать я писал ранее.
Для подключения внешних датчиков, навсякий случай предусмотрены выводы с портов PA0-PA3. А также выведены контакты SPI-интерфейса, на случай если захочется подключить NRF24L01 и организовать радиоканал.
Тестовый код выводит на экран время и дату с часов DS1307, с возможностью ручной установки (см. видео). На вторую строку выводится информация с датчика влажности DHT11, на третью - с датчика давления BMP085. Как видите китаец DHT не уступает по показаниям температуры своему немецкому собрату BMP085 от Bosh. Кстати, китаец тоже умеет выдавать показания с десятыми долями градуса, позже добавлю в код эту функцию.
И напоследок видео, демонстрирующее возможность ручной установки даты и времени.
Файлы проекта:
Источник: www.avrproject.ru
C этой схемой также часто просматривают: |
Электронный термометр Телефонный радиоретранслятор с ЧМ в диапазоне частот 65-108 МГц на одном транзисторе ГОВОРЯЩИЕ ЧАСЫ МЕДИЦИНСКИЙ ТРАНЗИСТОРНЫЙ ТЕРМОМЕТР Цифровой термометр Стрелочный индикатор загрузки ЦП и оперативной памяти ПК Детектор утечки бытового газа на датчике MQ-4 Собираем солнечную зарядку для устройств Электронный компас на HMC5883L
| |
Подключение энкодера к микроконтроллеру PIC Счётчик людей в помещении, управляющий освещением Велокомпьютер на микроконтроллере PIC16F628A Устройство ввода-вывода на микроконтроллера Два термометра на PIC16F628A и DS18B20 Светодиодные часы с циферблатом Двоичные часы Два вывода микроконтроллера PIC управляют шестью светодиодами Цифровой программируемый таймер на микроконтроллере PIC16F628A Устройство рисования в воздухе на ATtiny2313 |