文凤轩 发表于 2024-1-31 17:59 我今天无意中才发现你的贴子,我已给论坛发帖建议改进发帖提醒功能。非常包歉下面奉上该程序: #include <dht11.h> #include <Wire.h> #include <NTPClient.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <U8g2lib.h> #include <EEPROM.h> U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 3, /* data=*/ 1, /* reset=*/ U8X8_PIN_NONE); dht11 DHT11; #define DHT11PIN 2 const char *ssid = "******" ; WIFI名称 const char *password = "******" ; WIFI密码 int e=1; int f=2; int g=0; int h=0; int i=0; int j=0; int k=0; int x=0; int y=0; WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP,"ntp1.aliyun.com",60*60*8,30*60*1000); void setup() { Wire.begin(1,3); u8g2.begin(); Serial.begin(115200); WiFi.begin(ssid, password); pinMode(0, OUTPUT); pinMode(2, INPUT_PULLUP); pinMode(1, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); digitalWrite(0,LOW); while ( WiFi.status() != WL_CONNECTED ) { delay ( 1000 ); } timeClient.begin(); } void loop() { if((y==0)&&(i==0)) { EEPROM.begin(512); e=EEPROM.read(500); f=EEPROM.read(502); g=EEPROM.read(503); h=EEPROM.read(504); } y=1; int chk = DHT11.read(DHT11PIN); timeClient.update(); String comdata=timeClient.getFormattedTime(); String hh=comdata.substring(0,1); String hl=comdata.substring(1,2); String mh=comdata.substring(3,4); String ml=comdata.substring(4,5); int a=hh.toInt(); int b=hl.toInt(); int c=mh.toInt(); int d=ml.toInt(); if((e==a)&&(f==b)&&(g==c)&&(h==d)&&(i== 5)) { digitalWrite(0,HIGH); j=1; } if(j==1) digitalWrite(0,!digitalRead(0)); k++; if(k==6) k=0; if(digitalRead(1)== LOW) i++; if(i==6) i=0; if(i==0) { j=0; x=0; digitalWrite(0,LOW); u8g2.setFont(u8g2_font_inr33_mr); // u8g2.setFont(u8g2_font_logisoso34_tn); if(k<4) { u8g2.clearBuffer(); u8g2.setCursor(0,31); if(a==0) u8g2.print(" "); else u8g2.print(a); u8g2.setCursor(25,31); u8g2.print(b); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(c); u8g2.setCursor(103,31); u8g2.print(d); u8g2.sendBuffer(); delay(500); u8g2.clearBuffer(); u8g2.setCursor(0,31); if(a==0) u8g2.print(" "); else u8g2.print(a); u8g2.setCursor(25,31); u8g2.print(b); u8g2.drawStr(54,26," "); u8g2.setCursor(79,31); u8g2.print(c); u8g2.setCursor(103,31); u8g2.print(d); u8g2.sendBuffer(); delay(500); } if(k==4) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print((int)DHT11.temperature); u8g2.drawStr(103,31,"C"); u8g2.sendBuffer(); delay(1000); } if(k==5) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print((int)DHT11.humidity); u8g2.drawStr(103,31,"%"); u8g2.sendBuffer(); delay(1000); } } if(i==1) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(" "); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); if(digitalRead(2)== LOW) e++; if(e==3) e=0; } if(i==2) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(" "); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); if(digitalRead(2)== LOW) f++; if((e<2)&&(f==10)) f=0; if((e==2)&&(f==4)) f=0; } if(i==3) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(" "); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); if(digitalRead(2)== LOW) g++; if(g==6) g=0; } if(i==4) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(h); u8g2.sendBuffer(); delay(500); u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print(e); u8g2.setCursor(25,31); u8g2.print(f); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(g); u8g2.setCursor(103,31); u8g2.print(" "); u8g2.sendBuffer(); delay(500); if(digitalRead(2)== LOW) h++; if(h==10) h=0; } if(i==5) { if(x==0) { EEPROM.write(500, e); EEPROM.write(502, f); EEPROM.write(503, g); EEPROM.write(504, h); EEPROM.commit(); delay(100); } x=1; if(k<4) { u8g2.clearBuffer(); u8g2.setCursor(0,31); if(a==0) u8g2.print(" "); else u8g2.print(a); u8g2.setCursor(25,31); u8g2.print(b); u8g2.drawStr(54,26,":"); u8g2.setCursor(79,31); u8g2.print(c); u8g2.setCursor(103,31); u8g2.print(d); u8g2.sendBuffer(); delay(1000); } if(k==4) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print((int)DHT11.temperature); u8g2.drawStr(103,31,"C"); u8g2.sendBuffer(); delay(1000); } if(k==5) { u8g2.clearBuffer(); u8g2.setCursor(0,31); u8g2.print((int)DHT11.humidity); u8g2.drawStr(103,31,"%"); u8g2.sendBuffer(); delay(1000); } } } |
man1234567 发表于 2024-1-31 08:27 发帖没代码,后来都成太监了 ![]() |
??太监怎么了...求结局 |
有用,拜请楼主开源吧。 |
我来讲个故事:从前有个太监啊 ![]() |