找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2802|回复: 5
打印 上一主题 下一主题
收起左侧

袖珍网络定闹时钟

[复制链接]
跳转到指定楼层
楼主
       ESP8266-01S价格便宜体积小。虽然可用端口少,但通过程序设计就可充分开发它的用途。这个网络定闹时钟有时钟显示,温湿度显示,闹钟调整,定时闹铃。断电后定闹设置不变. 整机装在一个两节7号电池盒中,体积小,非常适合放在床头使用.晚上通电,早上断开非常省电.
若大家觉得有用我再上传程序。
       外观图如下:

fc1b46be432eb24d2b0249dcdd428e7c.jpg (211.12 KB, 下载次数: 111)

时间

时间

dece1de0fe359d7e81815a356f3117d5.jpg (201.11 KB, 下载次数: 108)

温度

温度

d802d7fe21508d3ae791e7e3d6775901.jpg (210.35 KB, 下载次数: 102)

湿度

湿度

9df254242c815b4d890f7a09138989f5.jpg (192.89 KB, 下载次数: 111)

结构

结构
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584814 发表于 2024-1-31 08:27 | 只看该作者
我来讲个故事:从前有个太监啊
回复

使用道具 举报

板凳
ID:386381 发表于 2024-1-31 17:59 来自手机 | 只看该作者
有用,拜请楼主开源吧。
回复

使用道具 举报

地板
ID:1112603 发表于 2024-4-8 11:17 | 只看该作者
??太监怎么了...求结局
回复

使用道具 举报

5#
ID:91165 发表于 2024-6-17 12:52 | 只看该作者
man1234567 发表于 2024-1-31 08:27
我来讲个故事:从前有个太监啊

发帖没代码,后来都成太监了
回复

使用道具 举报

6#
ID:997011 发表于 2024-11-17 16:31 | 只看该作者
文凤轩 发表于 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);
}
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表