Главная » Статьи » Проекты

Передача измеренной температуры по радиоканалу. Связка NRF24L01+ и DS18B20
 


 Небольшой проект с использованием радиомодулей NRF24L01. Задача проста - измерить температуру и отправить данные на приемник. Измерением температуры занимается цифровой датчик DS18B20. Измеренная температура, полученная на другой стороне приемником, выводится на ЖК дисплей. Хороший пример для демонстрации возможностей радиомодулей.

 Передатчиком служит тестовая платка с atmega8, которая была собрана ранее. К ней дополнительно подключил датчик 18b20 к выводу PortC.0 с резистором подтяжки на 4,7 килоом
 
 Схема передатчика:




 Запитываться передатчик должен напряжением от 3 до 3,6 вольт (нижний предел 3 вольта для датчика температуры, а верхний - для NRF24L01). В моем случае все запитывалось подсаженным литий-ионным аккумулятором, в котором осталось 3,5 Вольт.


 Приемник собран на макетке, схема подключения радиомодуля практически идентична, за тем исключением, что питание на него идет отдельно через понижающий стабилизатор на 3,3 вольта. Одно хорошо, что входы/выходы модуля толерантны к 5-и вольтовым уровням, поэтому схему согласования с контроллером делать не обязательно. 

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

 






Вот как это выглядит в сборе у меня. Приемник расположен слева, передатчик-справа.







 Что касается дальнобойности, то приемник "слышит" сигнал через 2 железобетонные стены (максимальное удаление по квартире). А вот третья стена его уже глушит (уносил передатчик на лестничную площадку), но тем не менее считаю что результат вполне неплохим, свою цену они отрабатывают на все 100%


 И напоследок видео работы







 Так как измеряюще/передающая часть работает автономно, запитываясь от аккумулятора, хорошо бы задействовать один из способов энергосбережения. Благо сам радиомодуль тоже умеет засыпать по команде. Но это пока только наметки на будущее.



Категория: Проекты | Добавлено: 17.09.2012
Просмотров: 99970 | Комментарии: 120 | Теги: радиопередача, 18b20 | Рейтинг: 4.6/24
Всего комментариев: 1201 2 3 4 »
120 RustemRR   (15.01.2019 01:14) [Материал]
Кто поможет сделать то же только надо видеть на дистанционном дисплее ток, ТЕ нужен амперметр с выносным дисплеем.

119 boida   (27.01.2018 15:20) [Материал]
Здравствуйте! Отличная статья. Делаю весы с передачей по радиоканалу, возник вопрос: нужно что бы четыре устройства работали рядом и не мешали друг другу, что нужно изменить в коде? Спасибо!

118 sand   (16.08.2017 01:48) [Материал]
Собрал обе схемы. На передатчике светодиоды ведут себя как на видео. На приемнике светодиод только в начале моргает 2 раза, потом не горит. Видимо проблема в модулях NRF, но как понять в каком из них?

117 pchelawas   (04.04.2017 22:39) [Материал]
exersizze пришли модули. Не подскажите как проверить их работоспособность. И еще вопрос. есть ли вариант приемника с контролем температуры.Типа термостата.

116 pchelawas   (02.03.2017 17:09) [Материал]
Спасибо. Очень признателен за общение. Не прощаюсь, я думаю еще вопросы будут

0  
115 exersizze   (02.03.2017 10:29) [Материал]
pchelawas, да будут.

114 pchelawas   (28.02.2017 22:33) [Материал]
В общем на данный момент ситуация мне понятна. Сейчас проблема с МК. Один почему то перестал работать когда передатчик был включен и последующая реанимация ничего не дала и залочил еще пару. Толи такие МК.Ну в общем закажу ( у нас магазина радиотоваров нет). Как придут, объявлюсь. У меня к вам вопрос,будут ли работать в этом проекте эти модули, NRF24L01 + PA + LNA беспроводные модули (с антенной). Мне нужно контролировать температуру в гараже.(овощи)

0  
113 exersizze   (27.02.2017 20:20) [Материал]
А на приемнике фьюзы тоже проверили? Если нет, тогда сделайте это. При нормальной скорости стартовая надпись на экране появляется на 2 секунды. Wi-Fi не должен влиять на эти модули, по крайней мере у меня никаких глюков не наблюдается.

112 pchelawas   (27.02.2017 19:35) [Материал]
Да, все таки это были фьюзы. Передатчик работает. Но теперь приемник при выключенном
передатчике показывает всякую ерунду. есть видео. но самое главное отключаю модуль
- все пропадает и остается исходная надпись. Выходит модуль ловит всякую ерунду,
свой WIFI отключал не пропадают глюки, но это не факт, т.к смарт видит несколько соседских.Но один положительный факт есть(я думаю)значит модуль рабочий или как? жду совета. скорее всего неправильно прошивал.

0  
111 exersizze   (27.02.2017 09:11) [Материал]
pchelawas, не меняется. Логика работы светодиодов видна на видео. Led D2 мигает с частотой 1Гц, если отличается проверяйте фьюзы.

110 pchelawas   (26.02.2017 22:26) [Материал]
Спасибо что откликнулись. менял кварц, ставил другой МК, проверил монтаж. Скажите, при отключенном модуле, работа передатчика не меняется? Я правильно понимаю, что Д2( светодиод)мигая указывает на передачу данных, а Д1 - что схема в рабочем состоянии, горит постоянно. У меня же цикл: при подаче питания загорается Д2, через 15-20сек. загорается Д1 и гаснет Д2. Затем периодически Д2 включается и выключается.
Напряжения на выходах на радиомодуль. MISO,MOSI,SCN - 5v при нажатии reset- 2.4v.
SCK,CE- 1.4mv reset-2,4v. IRQ- не меняется-2.4v. И еще, я не вижу нормальной осцилограммы на кварце, хотя если бы не запускался генератор МК бы не работал не мигали бы светодиоды. жду совета

0  
109 exersizze   (25.02.2017 19:06) [Материал]
pchelawas, надпись пропадет если приемник получит показания от передатчика. Похоже на передатчике модуль nrf24l01 не работает, фьюзы вроде верные. Хотя на пятой ноге светодиод должен гореть не больше секунды

108 pchelawas   (24.02.2017 11:58) [Материал]
Здравствуйте.Нужна ваша помочь.Собрал этот проект. Приемник после включения питания два раза мигает светодиод,гаснет и появляется надпись на индикаторе.Вопрос-строка avrproject.ru должна гаснутьсразуили только после того как появится информация с датчика? И второй вопрос-после вкл.пит. датчика два раза мигают оба светодиода,затем
светодиод с 5 ноги горит с минуту, гаснет и загорается с 6 ноги и не гаснет. С 5 ноги циклы- 1 мин. горит, 20 сек. не горит. Фьюзы - low-FF, high-D9 программирую SinaProg. генератор выставляю -EXT спасибо за помощь

0  
107 exersizze   (03.10.2016 12:22) [Материал]
Интересно почему накрылся модуль, может коротнуло где?

106 rulezzznv   (03.10.2016 11:39) [Материал]
ждем новые модули... выяснилось что передатчик шлет шлак в эфир....

0  
105 exersizze   (18.09.2016 21:45) [Материал]
Да, нормально. Тогда проверяйте все поэтапно: микроконтроллер, дисплей, потом подключайте приемник. Чудес не бывает, если все живо, то дело в контакте.

104 rulezzznv   (18.09.2016 11:14) [Материал]
А если обесточить передатчик как ведёт себя приемник ?

103 rulezzznv   (18.09.2016 11:12) [Материал]
Да я пересобирал раз 10.... все проверил.... что это может быть?((((( питание разные пробовал... когда радиомодуль отключаю показывает 255 гр это нормально?

0  
102 exersizze   (17.09.2016 23:51) [Материал]
Соединения бы все перепроверить, на беспаячной макетке такое бывает.

101 rulezzznv   (17.09.2016 09:55) [Материал]
Микруху менял на другую, прошивал, фьюзы на месте... даже радиомодули местами менял

100 rulezzznv   (17.09.2016 09:51) [Материал]
Парни подскажите че делать 2ой день голову ломаю.... вобщем собрал я на макете все заработало температуру показывало... ночь простояла и в какйто момент сгулючело призапуске показывает 0 гр и очень быстро мерцает дисплей и светоддиод на приемнике... на передатчике вроде все в порядке индикаторы работают как надо... гляньте короткое видео если не трудно... http://videonv.ru/1111.mp4 спасибо...

0  
99 exersizze   (15.09.2016 23:53) [Материал]
По динамической индикации есть вот эта статья (может вы наверно уже ее видели) http://avrproject.ru/publ....2-1-0-9
Суть индикации будет заключаться в том чтобы принимать данные не когда данные придут от передатчика, а только после переключения, чтобы до следующего переключения индикатора успеть закончить чтение. Иначе из-за не согласования индикация будет сбиваться и появится моргание.
Конкретней было можно было бы сказать если увидел вашу схему. Но советую все-таки сделать индикацию с буфером на 74hc595. http://avrproject.ru/publ/2-1-0-57  Тогда не придется бороться с мерцанием сегментов.

98 rulezzznv   (15.09.2016 09:21) [Материал]
Друзья подскажите как переделать под динамическую индикацию? хочу семисегментик, спасибо!

0  
97 exersizze   (25.01.2016 00:06) [Материал]
Фьюзы на внешний высокочастотный кварц. Вот так http://avrdesign.ucoz.ru/_pu/0/00504216.png

96 rulezznv   (20.01.2016 11:59) [Материал]
Друзья подскажите как устанавливать фьюзы для проекта в понипрог? или достаточно залить прошивку ? спасибо.

95 Valera18   (24.12.2015 07:58) [Материал]
Для Dimonbav

Да, можно. Приёмник будет перебирать адреса передатчиков и считывать информацию с каждого по порядку.

Передатчик №1 - адрес
'Подготовка к TX
D_bytes(1) = &H30 'TX адрес
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H01

Передатчик №2 - адрес
'Подготовка к TX
D_bytes(1) = &H30 'TX адрес
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H02

Передатчик №3 - адрес
'Подготовка к TX
D_bytes(1) = &H30 'TX адрес
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H03
и так далее...

Приёмник будет перенастраиваться на каждый адрес передатчика и считывать информацию.
Приёмник - ввод адреса
'Подготовка к Rx
D_bytes(1) = &H2A 'RX адрес для pipe0
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H01

считал с первого передатчика.

Приёмник - ввод адреса
'Подготовка к Rx
D_bytes(1) = &H2A 'RX адрес для pipe0
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H02

считал со второго передатчика...

94 Dimonbav   (22.12.2015 16:37) [Материал]
Скажи пожалуйста, а можно сделать так чтобы приемник показывал с нескольких передатчиков температуру?
Если есть у тебя такое решение,дай схему или ссылку.
За рание спасибо.

93 max   (14.11.2015 09:50) [Материал]
Как-то так: http://s006.radikal.ru/i214/1511/3d/df5d36f70780.png

92 AlexVolsk   (13.11.2015 13:04) [Материал]
Не программист. Просьба выложить скриншот фьюзов для прошивки через Pony Prog. Отправлять на Google онлайн калькулятор не надо. Спасибо.

91 nooby   (04.04.2015 23:28) [Материал]
привет Всем! Хочу настроить модули на максимальную дистанцию, для этого выставил скорость - 250КБс/сек. А как сделать так чтобы передавать только один байт? Не могу разобраться в регистрах

1-30 31-60 61-90 91-120
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






авторизация
Логин:
Пароль: