Подключение датчика DHT22 к Arduino Pro Mini 3.3v

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Добрый день

Собираю беспроводной датчик температуры с питанием от батареи.
Для этой цели купил плату Aruino Pro Mini Atmega328 3.3V 8МГц.
Питание подаю 3.3в с USB платы CH340.
Подключаю датчик температуры DHT22 - выдает 0.

Датчик пробовал запитывать от VCC контроллера и от 5V USB адаптера.

Делаю все то же самое на 5V версии Aruino Pro Mini - все работает нормально

Я так понимаю, что то с напряжением логического уровня 3-х вольтового контроллера маловато?

Что можно предпринять в эирм случае?

Snubist
Offline
Зарегистрирован: 18.02.2013

Согласовать уровни 3,3 и 5 Вольт. Тут уже неоднократно поднималась эта тема

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Snubist пишет:

Согласовать уровни 3,3 и 5 Вольт. Тут уже неоднократно поднималась эта тема

Смотрю я даташит на DHT22 - напряжение питания 3-6В
То есть врятли он является 5-вольтовым устройством.

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

А если точнее 3.3- 6 Вольт.

Значит он является  и 3.3 и 6 Вольтовым.

А также 3.62 Вольтовым и 4.12 Вольтовым, 

ну только никак ни пятиВольтовым ;)

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

trembo пишет:

А если точнее 3.3- 6 Вольт.

Значит он является  и 3.3 и 6 Вольтовым.

А также 3.62 Вольтовым и 4.12 Вольтовым, 

ну только никак ни пятиВольтовым ;)

Имелся в виду уровень логики, а не питание.
Лучше бы что-то по существу посоветовали

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Уровни - пожалуйста:

Логический "0"  -  0 Вольт  ВСЕГДА!!!!

Логическая "1" :

3.3 В  при питании   3.3 В

6 В   при питании  6 В

4.12 В при питании:4.12 В

Прдолжить???

А теперь догадайтесь какой будет логическая "1" при 5 Вольтах ...

Кстати, а про резмстор килоОом на 10 с выхода на питание вы не забыли?

http://chingachgook.net/arduino/podklyuchenie-datchika-temperatury-i-vla...

step962
Offline
Зарегистрирован: 23.05.2011

trembo пишет:

Логический "0"  -  0 Вольт  ВСЕГДА!!!!

Логическая "1" :

3.3 В  при питании   3.3 В

6 В   при питании  6 В

4.12 В при питании:4.12 В

Не болтайте ерундой без крайней на то необходимости! Далеко не всегда:

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Слово "ВСЕГДА" относилось к датчику  DHT22  согласно заголовка темы, а не ко всем семействам цифровых микросхем.

Также для задающего вопрос  были опущены не существенные мелочи типа

напряжения насыщения транзисторов ( а скорее всего сопротивление отрытого канала)

А картинка мне очень понравилась, спасибо, вспомнил любимую 155 серию...

 

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Для задающего вопрос существенна схема подключения DHT22 к Arduino Pro Mini 3.3

Теория это интересно, но в связи с тем, что имею законченный электротехничемкий в Политехе много лет назад,

могу про уровни и в справочнике почитать. ;)

К сожалению, не имею дома осцилограф, видимо с ним придется отлаживаться.

На Arduino Pro Mini 5 все работает и с резистором 10к и без него. На Arduino 3.3 датчик работает, но выдает 0.
Датчик питаю с VCC ардуины (напряжение около 3В) или с 5В USB преобразователя.

В дальнейшем планирую запитать всю схему от 3-х аккумуляторов AAA.

Что нужно сделать, чтобы датчик заработал?

Может это быть связано с пониженной частотой ЦПУ (может там тайминги при считывании не правильно задаются)?

Может кто-то видел ссылочку на применение 3.3 вольтовых плат с сенсорами?

spa-sam
Offline
Зарегистрирован: 14.12.2012
 

Какой резистор стоит между питанием и ножкой данных ?  Сколько времени проходит после запроса данных датчикак перед их отправкой?

 У меня сейчас работает 2 внешних датчика на NRF24 c DHT22, один из них с двумя DHT22....питание от аккумулятора Li-ion...и все отлично работает

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

spa-sam пишет:

 

Какой резистор стоит между питанием и ножкой данных ?  Сколько времени проходит после запроса данных датчикак перед их отправкой?

spa-sam пишет:

Резимтор 10К

Датчики опрашиваю через 15 сек

 У меня сейчас работает 2 внешних датчика на NRF24 c DHT22, один из них с двумя DHT22....питание от аккумулятора Li-ion...и все отлично работает

А плата какая?

CityCat
CityCat аватар
Offline
Зарегистрирован: 13.06.2013

sav13, какую библиотеку используешь? Если adafruit, читай в соседней теме.

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

CityCat пишет:

sav13, какую библиотеку используешь? Если adafruit, читай в соседней теме.

Спасибо. Все заработало. Отпишусь еще в этой теме:

Чтобы библиотеку не курочить написал в конструкторе:

DHT dht(dhtPIN, DHT22, 3);

p.s. Как красиво в коде определить частоту процессора? Чтобы код компилировался/работал на 8МГц и на 16МГц платах?

CityCat
CityCat аватар
Offline
Зарегистрирован: 13.06.2013

При вызове конструктора указывать 3 для 8МГц (хотя, ИМХО - все равно это "попугаи").

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

sav13 пишет:

p.s. Как красиво в коде определить частоту процессора? Чтобы код компилировался/работал на 8МГц и на 16МГц платах?

...определить... это узнать или задать?

void setup (){
Serial.begin ( 9600 );
Serial.print ( F_CPU );
}
void loop (){}

 

F_CPU= 8000000UL