找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2826|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

袖珍網(wǎng)絡(luò)定鬧時鐘

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:997011 發(fā)表于 2023-10-22 15:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
       ESP8266-01S價格便宜體積小。雖然可用端口少,但通過程序設(shè)計就可充分開發(fā)它的用途。這個網(wǎng)絡(luò)定鬧時鐘有時鐘顯示,溫濕度顯示,鬧鐘調(diào)整,定時鬧鈴。斷電后定鬧設(shè)置不變. 整機裝在一個兩節(jié)7號電池盒中,體積小,非常適合放在床頭使用.晚上通電,早上斷開非常省電.
若大家覺得有用我再上傳程序。
       外觀圖如下:

fc1b46be432eb24d2b0249dcdd428e7c.jpg (211.12 KB, 下載次數(shù): 111)

時間

時間

dece1de0fe359d7e81815a356f3117d5.jpg (201.11 KB, 下載次數(shù): 108)

溫度

溫度

d802d7fe21508d3ae791e7e3d6775901.jpg (210.35 KB, 下載次數(shù): 102)

濕度

濕度

9df254242c815b4d890f7a09138989f5.jpg (192.89 KB, 下載次數(shù): 111)

結(jié)構(gòu)

結(jié)構(gòu)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2024-1-31 08:27 | 只看該作者
我來講個故事:從前有個太監(jiān)啊
回復(fù)

使用道具 舉報

板凳
ID:386381 發(fā)表于 2024-1-31 17:59 來自手機 | 只看該作者
有用,拜請樓主開源吧。
回復(fù)

使用道具 舉報

地板
ID:1112603 發(fā)表于 2024-4-8 11:17 | 只看該作者
??太監(jiān)怎么了...求結(jié)局
回復(fù)

使用道具 舉報

5#
ID:91165 發(fā)表于 2024-6-17 12:52 | 只看該作者
man1234567 發(fā)表于 2024-1-31 08:27
我來講個故事:從前有個太監(jiān)啊

發(fā)帖沒代碼,后來都成太監(jiān)了
回復(fù)

使用道具 舉報

6#
ID:997011 發(fā)表于 2024-11-17 16:31 | 只看該作者
文鳳軒 發(fā)表于 2024-1-31 17:59
有用,拜請樓主開源吧。

我今天無意中才發(fā)現(xiàn)你的貼子,我已給論壇發(fā)帖建議改進發(fā)帖提醒功能。非常包歉下面奉上該程序:

#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);
}
}
}
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表