помощь в отладке скрипта температуры и влажности

Asteriy
Offline
Зарегистрирован: 05.03.2019

Добрый день.

Прошу помощи по внесению правок в скрипт датчика температуры и влажности.

Проблема в том что после загрузки в МК спустя несколько минут все зависает. Информация на дисплее отображается, но значение не меняется. Помогает только сброс кнопкой Резет на МК. Датчик температуры DHT11, МК Nano, дисплей SSD1306 128X64pix 4е контакта.

 
 
 
BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Для начала вставьте код согласно правил форума. 

http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

sadman41
Offline
Зарегистрирован: 19.10.2016

U8glib уже не поддерживается, баги не правятся. Автор рекомендует ползти на U8G2.

Asteriy
Offline
Зарегистрирован: 05.03.2019
#include "U8glib.h"
#include "dht.h"

#define dht_apin A0

dht DHT;

//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);                     // I2C / TWI 1.3
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);    // I2C / TWI 0.96

void draw(void) {
u8g.setFont(u8g_font_helvR10); u8g.drawStr(2, 25, "Temp: "); u8g.drawStr(2, 60, "Hum: ");
u8g.setFont(u8g_font_helvR14);
u8g.setPrintPos(60, 25); u8g.print(DHT.temperature, 0); u8g.drawStr(100, 25, "\xB0 C");
u8g.setPrintPos(60, 60); u8g.print(DHT.humidity, 0); u8g.drawStr(100, 60, " %"); 
}

void setup(void) {
}

void loop(void) {
DHT.read11(dht_apin); // Read apin on DHT11 or DHT22

u8g.firstPage(); do { draw();
} while( u8g.nextPage() ); 
delay(5000); 
}