Автор: RoboC
Лампа: ИН-14, ИН-19
Схема: есть ( PIC 16F886)
Плата:есть
Прошивка:есть
Исходник:есть ( Proton PicBasic )
Описание: есть
Ссылка первоисточник: ---Особенности: Измерение температуры дома (проводной датчик) и на улице (радио датчик). Индивидуальная на каждую лампу RGB подсветка на MBI5030 .
Добавил схему и прошивку без радио(2 проводных датчика, без 5030)
Схема:
Данный девайс умеет показывать температуру в квартире и через радио датчик температуру на улице. Есть RGB подсветка с 3 эффектами, их кол-во ограничено моей скудной фантазией(в МК памяти занято 25%). Присутствует 1 кнопка, которая, собственно, нужна для переключения световых эффектов(плавный перелив,гирлянда,свечи,нет подсветки).
Температура показывается по очереди с периодичностью 10-15 сек. При демонстрации показаний на улице мигает знак "ГРАДУС ЦЕЛЬСИЯ". Т.к в термометре показания меняются медленно , где то раз в 5-7 мин проходит тест, который перебирает все символы, для предотвращения их отравления.
Программа написана на Proton PicBasic.
Почему выбран именно 16f886.Ответ прост - цена.Доступный мне 16f628 стоит 13.40 грн. и у него намного меньше возможностей, чем у 16f886 по цене 17грн, да и количество выводов позволяет отказаться от навязчивой 155ИД1.
Как все начиналось?
Ездил я на ХАмфест (кто не знает Яндекс в помощь!) и прикупил платку с лампами ИН-14 и вместе с ними в блоке попались мне ИН-19А,ИН-19Б,ИН-19В. Ну не выбрасывать же их? Немного порисовав в спирите, "родил" схему, только отдаленно похожую на ту, что Вы видите выше.
Сначала устройство жило в такой вот коробочке.
Вы спросите, что там за лампа ИН-13 на фото? Да-да предполагалось, что уличная температура будет показываться в цифровом виде, а комнатная посредством ИН-13, но из за выбранного корпуса от этого пришлось отказаться. Руки робота из разбитой игрушки сынишки, которые держали ИН-13, слишком похабно сделаны китайцами.Да и смотрелось все в стиле "франкинштейна".
Пришло время попробовать все в неоне.Как раз кстати пришлись драйверы MBI5030 с "РКС" и MSS_JA подогнал RGB диоды попробовать. Получилась вот такая плата индикации:
Изготовил плату по технологии ЛУТ(http://cxem.net/master/45.php ). Стороны совмещал конвертиком.
Руки чесались впаять лампы, чуть не забыл про светодиоды под ними!!!
И все равно мучился потом, впаивая резисторы .
После того как все заработало в коробочке и начало светиться приятным красненьким цветом, началась самая длительная часть изготовления - производство корпуса.
Нашлись у меня в ящике пару сгоревших экономок и корпус от фискального блока РРО, который я распилил и склеил так, как мне нужно было. Еще сбегал в магазин мебельной фурнитуры и прикупил 2 держателя для полочек стеклянных. К сожалению , как хотел - в виде четверти сферы я не нашел, купил такие как на фото.Что поделаешь,город маленький.
Закончил верх и примеряю низ. Отверстия под лампы вырезаны лазером в акриловой пластине, которая вклеена в корпус.
Надо же к чему то крепить плату
Почти готовый корпус.
Оставшиеся платы блока питания и блока МК.
Сделаны ЛУТом,плата МК со второй стороны металлизирована(маркером покрасил ее перманентным).
Что получилось Вы можете наблюдать на картинке.
Немного слов о радио части и о датчике.
Т.к. мой друг собирал часы из этой статьи(http://ucprog.ucoz.ru/publ/chasy_termometr_led_s_radiodatchikom/1-1-0-1 ) и ему хотелось тоже такой термометр собрать. Протокол и датчик слизал оттуда.
Протокол радиопередачи слизан с IR NEC (хорошая синхронизация, проще декодировать по сравнению с RC5).
Данные радиодатчика температуры содержат следующие байты:
- Серийный номер (101).
- Значение температуры.
- Значение знака температуры.
- Значение десятых долей температуры.
- Байт CRC8.
Данные с радиозвонка:
- Серийный номер (00000001).
- Значение номера звонка
- Нулевой байт
- Байт CRC8.
Единица передается импульсом 500 мкс с паузой 1600 мкс, 0 – 500/520. Перед посылкой байтов отправляется преамбула из 8-ми нулей и опознавательный сигнал длительностью 10мс. Общее время передачи составляет приблизительно 80 мсек. На пульты от автомобильных сигнализаций декодер приемника не реагирует.
Хотя сейчас пожалуй я бы применил пару RFM-01 и RFM-02.
Вот такие радио модули я прикупил в магазине хотя их можно сделать и самому(http://cxem.net/rmodem/rmodem14.php ):
Их тех что есть в продаже,эта пара должна работать:
RT4-433 Модули приема и передачи на 433/868 МГц
RR4-433 Модули приема и передачи на 433/868 МГц
Еще одна пара:
HM-R433
HM-T433
Еще встречал в инете дешевые комплекты для Ардуино, но это уже для мазохистов.
Не обязательно зацикливаться на 433Мгц, подойдут комплекты и на другие частоты.
Для некоторых радио модулей нужно отдельное питание 5В(мои работают нормально от основного), в схеме предусмотрено 3.3В питание(не проверял работу).
Фото радио датчика в исполнении crocodil (Radiokot).
Видео:
Архив:
Платы..
Прошивка исходник
Прошивка исходник радио-модуля
Прошивка: отключена подсветка, перекл. - долгое удержание.
upd: 2014/02/08
Тем, кому лень собирать радио и не лень сверлить стену для датчика на улицу, посвящается:
Прошивка
upd: 2014/04/03
Желающие могут проверить последнюю схему в протеусе: проект протеус, прошивка .
upd: 2016/09/05
Вариант термометра от alfa2 (РадиоКот).
RGB подсветка убрана полностью.
Платы сделаны по технологии ЛУТ, фото в процессе монтажа:
Мой вариант радио датчика не устроил.
alfa2 говорит:
Долго ли, коротко ли, в итоге переделал схему "Радиодатчика", как посчитал правильно с моей точки зрения, добавил 2-а транзистора с обвязкой.
Для удобства еще бы изменить прошивку "Радиодатчика", так как период включение на передачу либо через 1 сек, а это много, либо через 5 мин, а это мало. Смена показаний термометра дом/улица происходит через 16 сек, обрыв связи с радио датчиком идентифицируется через 32 сек, думаю период в 30 сек./2 мин. будет как раз то что нужно. Так как сам в программировании не комильфо, за помощью обратился к Станиславу Дмитриеву он прислал новую прошивку под вариант 30 сек/2 мин
Загрузить файл главной платы.
Загрузить прошивку радио модуля.
Посмотреть подробности на сайте автора.
Доброго!
ОтветитьУдалитьСобрал ваш термометр, только без уличного датчика. Хотел использовать проводной датчик для улицы. Оказалось, что он минусовую (отриц) т-ру показывать не умеет, так и стоит "+" перед цифрами. Знак "-" при включении тестируется.
RoboC, можно ли подправить прошивку, чтобы комнатный термометр показывал и отрицательную температуру?
с ув. Юрий
Добрый!
ОтветитьУдалитьСобрал первый вариант схемы. Прошивка из темы 16F886_21_st.hex
Проводной датчик температуру показывает, с разницей 5 градусов в плюс (датчики менял) т.е. в комнате +22 показывает +27, датчик же 18B20 цифровой.
От беспроводного датчика температуру принимает только в момент включения, после теста цифр, мигает С и показывает уличную температуру, после ни разу не показал.
Схема датчика посылает посылки каждую 1 сек. (вижу сигнал на понораме SDR приемника). Прошивка из темы radio_modul_1.4_dachic_universal.hex
Тест цифр от окисления не запускается, часы проработали сутки.
Куда копать?
Если датчик в корпусе, то это нормально. Преобразователь и стабилизаторы заметно поднимают температуру внутри.
УдалитьОх...! Я уже не помню даже что и как и где тут.
В программировании на Бейсике понимаете? Могу поискать исходники.
Насколько мне помнится, присутствие датчика определяется длинным импульсом вначале посылки.Некоторые передатчик обрезали длину этого импульса(т.е. он есть, но короткий) и как следствие МК считал посылку мусором. Пару человек на этом точно спотыкались.
о бейсик, давно не ковырял, на коте сейчас стукнусь
ОтветитьУдалить