Arduino часы с беспроводным датчиком температуры.
Увидел я как-то подобный девайс, расположенный за аквариумом и решил повторить, добавив нужный мне функционал. Конечно, есть готовые устройства, но стоят они около 100уе, что не входило в мои планы. В итоге я нашел дешевую LED матрицу за 500р. на основе которой и был реализован проект.
Функционал:
1. Дата время
2. Температура внутри помещения
3. Температура по радиоканалу с наружнего датчика.
4. Возможность коррекции температуры с хранением в энергонезависимой памяти.
Документации на данную матрицу не оказалось. Все выводы пришлось определять методом научного тыка т.к. все примеры из интернета не подошли, да и разъем был промаркирован совсем не так как в примерах.
Потом мучался со шрифтами. Пришлось рисовать их заново в двух размерах. И символы тоже.
Далее с размещением на экране. Написал универсальную функцию, куда передаю размер шрифта и начальные координаты символа.
Сделано простое меню, позволяющее выставлять дату, время и корректировку температуры. Корректирующее значение хранится в EPROM, чтобы не сбрасывалось при выключении.
Передатчик наружней температуры сделал тоже на ардуине. Получился небольшим. Но вот с сигналом какие-то чудеса. То ловит через все стенки с дальней лоджии, то с 5 метров не ловит совсем. Добавил контрольные суммы. Пока с этой проблемой не справился. Видимо 433мгц не лучший выбор. Пробовал и с антенной и без, разницы никакой. Если данных в течении 20 сек. не получено вывожу 50.
Фото беспроводного датчика температуры.
Для питания матрицы, чтобы не делать отдельно 5в питание, поставил UBEC.
Запитываю ардуину как всегда 9в.
На матрице есть магнитные ножки. Закрутил в стену 4 самореза с плоскими шляпками, к ним и примагнитил.
Перечень комплектующих с сылками:
DHT22 digital temperature and humidity sensor Temperature and humidity module AM2302 replace SHT11SHT15
433Mhz RF transmitter and receiver kit for Arduino project
Indoor F3.75 P4.75 Single Red color LED dot matrix module 304*76mm 64*16 pixels for LED sign Board
Tiny RTC I2C modules 24C32 memory DS1307 clock for arduino
6x6x7.5mm 4 Pins DIP PCB Momentary Tactile Tact Push Button Switch
Nano 3.0 controller compatible with nano CH340 USB driver NO CABLE for Arduino NANO V3.0
TURNIGY 3A UBEC с защитой от помех
Кнопки, провода и монтажная пенель.
Занимался этим прошлой зимой. Вот что в итоге получилось.
Скетч выложу, если кому-то интересно.
Функционал:
1. Дата время
2. Температура внутри помещения
3. Температура по радиоканалу с наружнего датчика.
4. Возможность коррекции температуры с хранением в энергонезависимой памяти.
Документации на данную матрицу не оказалось. Все выводы пришлось определять методом научного тыка т.к. все примеры из интернета не подошли, да и разъем был промаркирован совсем не так как в примерах.
Потом мучался со шрифтами. Пришлось рисовать их заново в двух размерах. И символы тоже.
Далее с размещением на экране. Написал универсальную функцию, куда передаю размер шрифта и начальные координаты символа.
Сделано простое меню, позволяющее выставлять дату, время и корректировку температуры. Корректирующее значение хранится в EPROM, чтобы не сбрасывалось при выключении.
Передатчик наружней температуры сделал тоже на ардуине. Получился небольшим. Но вот с сигналом какие-то чудеса. То ловит через все стенки с дальней лоджии, то с 5 метров не ловит совсем. Добавил контрольные суммы. Пока с этой проблемой не справился. Видимо 433мгц не лучший выбор. Пробовал и с антенной и без, разницы никакой. Если данных в течении 20 сек. не получено вывожу 50.
Фото беспроводного датчика температуры.
Для питания матрицы, чтобы не делать отдельно 5в питание, поставил UBEC.
Запитываю ардуину как всегда 9в.
На матрице есть магнитные ножки. Закрутил в стену 4 самореза с плоскими шляпками, к ним и примагнитил.
Перечень комплектующих с сылками:
DHT22 digital temperature and humidity sensor Temperature and humidity module AM2302 replace SHT11SHT15
433Mhz RF transmitter and receiver kit for Arduino project
Indoor F3.75 P4.75 Single Red color LED dot matrix module 304*76mm 64*16 pixels for LED sign Board
Tiny RTC I2C modules 24C32 memory DS1307 clock for arduino
6x6x7.5mm 4 Pins DIP PCB Momentary Tactile Tact Push Button Switch
Nano 3.0 controller compatible with nano CH340 USB driver NO CABLE for Arduino NANO V3.0
TURNIGY 3A UBEC с защитой от помех
Кнопки, провода и монтажная пенель.
Занимался этим прошлой зимой. Вот что в итоге получилось.
Скетч выложу, если кому-то интересно.
10 комментариев
Хотел сделать чтобы минимальную/максимальную температуры запоминал.
Проблема в том что показ идет построчно. И нельзя в коде использовать ни циклы, ни паузы. Начинает моргать экран. Выложу, может кто что подскажет.
эта ссылка ошибочная