РадиоКот :: Термометр "одно из двух".
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: ТермометрДобавить тег

Термометр "одно из двух".

Автор: rover21
Опубликовано 12.09.2016
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2016!"

Предисловие

Понадобился мне термометр. Чтобы температуру на улице смотреть. Казалось бы, в интернете их пруд пруди, на любой цвет и вкус. Но мне нужен был с большим LED индикатором (ночью чтобы было видно), радиодатчиком (ну не сверлить же стены) и самая главная проблема -   показом точной температуры на улицы. 

Решение

Окна у меня выходят на восток и запад. Соответственно, утром солнышко греет восточную сторону, вечером - западную. Куда ставить датчик температуры? На обе стороны! И выводить на индикатор минимальную из полученных температур. Конечно, я поискал в интернете решение, но там везде - дом, улица, мизерные индикаторы от нокий или грандиозные умные дома с постоянно работающими планшетами и компьютерами в виде серверов. Придется колхозить своё. Пусть это будет Arduino, pro mini (недорого и универсально), Led индикаторы, проверенный DS18b20 (DHT22 какой то хлипкий) и передатчик/приемник на 433 Мгц.

Поехали.

Начал я искать подходящие готовые конструкции (или полуготовые), чтобы не строить велосипед. Очень мне помог сайт https://homes-smart.ru/. Нашел я там почти готовый код для Arduino для передачи/приема значений температуры с датчиков по радиоканалу на частоте 433 Мгц. Написал, все заработало (в протеусе). Вот схема передатчика, их два! (хотя можно и один). Каждый передатчик имеет свой идентификатор (в файле прошивки.zip все видно). Для работы в режиме "одно из двух" в приемник нужно заливать прошивку receiver_led_2_transmitter.ino.ino. Для работы с одним передатчиком в приемник нужно загрузить receiver_led.ino.ino. Там еще и hex есть.

 

Схема приемника

Файл с симуляцией для протеуса 7 внизу.

Хотел еще добавить часы реального времени, кнопки и пищалку, но не стал. Поэтому на них внимание можно не обращать.

Подробнее про радиопередатчик. И допиливаем файл boards.txt

 Так как передатчик на батарейках, то для понижения энергопотребления необходимо:  1) усыплять контроллер и периферию и 2) выпаять из платы pro mini и передатчика WL102-341 ненужные детали.

Последним гвоздем можно считать перепрошивку фьюзов - выключение Brown out detection (для тех кто не знает, это напряжение при котором происходит сброс МК, т.е. ниже этого напряжения нормальная работа невозможна, по умолчанию pro mini идут с Brown out detection=2,7В). Кстати, минимальное напряжение питание МК зависит от его тактовой частоты. 

Для первого есть хорошая статья на англ. языке: https://www.gammon.com.au/forum/?id=11497. Помогла еще статья: https://geektimes.ru/post/258404/

В результате отправка температуры идет один раз в 20 минут, что, я думаю, вполне достаточно. Все остальное время контроллер и периферия спит.

Из платы Pro mini нужно выпаять преобразователь напряжения и резистор в цепи светодиода. Из передатчика WL102-341 нужно удалить резистор-перемычку (R11?) с номиналом 000 напротив 1 ножки микросхемы (рядом с кварцем).

Вот сам получившийся передатчик. Не венец микроминиатюризации, но задачи свои выполняет.

Гвоздь

У меня Arduino ide 1.6.7, скаченный с сайта Arduino.cc

Самый простой вариант перешить фьюзы это прошить pro mini другой pro mini по интерфейсу ISP из Arduino ide. В интернете есть инструкции.

Править файл Boards.txt нужно по адресу:

 C:UsersuserAppDataLocalArduino15packagesarduinohardwareavr1.6.11 (АДМИН КУДА ДЕВАЮТСЯ НАКЛОННЫЕ ПАЛОЧКИ?)

 По адресу: 

C:UsersuserAppDataLocalArduino15packagesarduinohardwareavr1.6.11bootloadersatmega (АДМИН КУДА ДЕВАЮТСЯ НАКЛОННЫЕ ПАЛОЧКИ?)

нужно закинуть файл загрузчик optiboot_atmega328.hex из папки optiboot.

 

Вот кусочек файла Boards с изменениями.

## Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
## --------------------------------------------------
pro.menu.cpu.8MHzatmega328=ATmega328 (3.3V, 8 MHz)

pro.menu.cpu.8MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328.upload.speed=57600

pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDE
pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0x07
pro.menu.cpu.8MHzatmega328.bootloader.file=atmega/optiboot_atmega328.hex

pro.menu.cpu.8MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328.build.f_cpu=8000000L

 Приемник-индикатор.

Для индикатора использовал 4 индикатора sa15-11srwa, яркость хорошая.На сам индикатор наклеил красную самоклеющуюся пленку.

В качестве приемника использовал микросборку AC-RX2 фирмы Aurelli, работает нормально с китайскими передатчиками, дальность хорошая. Плату развел и для китайского приемника WL102-341, но в железе не проверял. В варианте "одно из двух" проверяется интервал времени приема посылок от каждого передатчика. Через 30 минут, если не было приема, на индикаторе высвечивается "E--1" для передатчика с кодом 303000 или "Е--2" для передатчика с кодом 308000. В режиме с одним передатчиком, если не было приема в интервале 30 минут высвечиваются прочерки.

Фото приемника. В верхней части просверлены 2 отверстия, продета леска и изделие повешено за шкафчик.

Антенна у приемника разведена на плате, у передатчиков изготовлена из 17 см провода UTP и закручена спиралькой. 

Как загружать пограммы в pro mini.

Для загрузки программ я использовал дешевый переходник USB-UART CH340G, ссылка https://ru.aliexpress.com/item/USB-to-TTL-converter-UART-module-CH340G-CH340-3-3V-5V-switch/32418165617.html?spm=2114.13010608.0.60.9Vgu4P. В виндовс 7х64 работает нормально.

 Для автоматической загрузки программ переходник надо доработать (китайцы не могли что-ли сразу это сделать). К 15 ноге микросхемы через резистор в 470 Ом нужно припаять провод и соединить с ножкой Reset МК pro mini.

 


Файлы:
Радиомодули WL101-341 WL102-341 на aliexpress.pdf
Радиомодули WL101-341 WL102-341 – подключение и тестирование _ RadioLaba.ru -
pdf на индикатор
библиотеки к arduino
настройка файла boards.txt
про мини описание
плата в sprint-layout
прошивки
симуляция в протеусе 7, модели для протеуса.


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

21 12 11
1 0 0

Эти статьи вам тоже могут пригодиться: