Моргает дисплей 4-Bit LED Digital при выводе температуры от DHT11
- Войдите на сайт для отправки комментариев
Чт, 16/02/2017 - 10:29
Всем привет!
Соорудил маленький термометр из DHT11, arduino pro mini и четырехсимвольного семисегментного дисплея на контроллере tm74hc595. У дисплея вторая цифра температу ры моргает с частотой 1 раз в 2 секунды. В чем может быть проблема?
#include "DHT.h" #define DHTPIN 2 //-----------дисплей----------- #include <TM74HC595Display.h> int SCLK = 7; int RCLK = 6; int DIO = 5; TM74HC595Display disp(SCLK, RCLK, DIO); unsigned char LED_0F[29]; //--------дисплей------- //---Выбираем тип датчика--- #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); //---Цифры для дисплея--- LED_0F[0] = 0xC0; //0 LED_0F[1] = 0xF9; //1 LED_0F[2] = 0xA4; //2 LED_0F[3] = 0xB0; //3 LED_0F[4] = 0x99; //4 LED_0F[5] = 0x92; //5 LED_0F[6] = 0x82; //6 LED_0F[7] = 0xF8; //7 LED_0F[8] = 0x80; //8 LED_0F[9] = 0x90; //9 } void loop() { float t = dht.readTemperature(); disp.digit4(t); //вывод на дисплей }
Вот схема:
Поставьте после 33-й строки delay(2000); - DHT11 не рекомендуется опрашивать чаще раза в секунду.
Не помогает(
Поставил, теперь 1 раз в 2 секунды на долю секунды загорается второй символ и гаснет... при этом первый символ горит постоянно
Попробуйте разные варианты вызова disp.digit4(), их можно найти в https://github.com/kostarev/TM74HC595-4dig-display/blob/master/TM74HC595Display.h
Опять же, с https://github.com/kostarev/TM74HC595-4dig-display/blob/master/examples/TM74HC595Display/TM74HC595Display.ino можно поэкспериментировать.
Обратите внимание, отображаемая переменная у Вас имеет тип float, а библиотечная функция работает с параметром типа int.