回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

ESP32-C3网络同步时钟 简单

头像 创客维克多 2023.05.28 233 5

        从Arduino到Esp32-C3,是个质的飞跃。其实自己本身也有C3,但是因为有得申请试用,于是也申请了一块。收到货,发现很小,比我自己的C3还小一半。于是迫不及待地把引脚焊接上去了。原本还想着焊接个底座,方便插拔,但是后来手上没有8pin的排针母座,只有16pin的,但是如果截成8pin的,就只能剩下7pin了,因为要牺牲掉一个针脚,于是马上淘宝了一批。可还是因为急着用,所以就直接把主板跟扩展板焊接到一起了。焊接后发现扩展板上的引脚符号基本上都被盖住了,所以接下来使用,要对着引脚图来,否则用不了。刚好,我看到最上面的一行引脚还能看得到,于是就用手上的数码管做了一个网络同步时钟。

步骤1 焊接主板&扩展板引脚

焊接1.jpg

步骤2 接线

接线.jpg

步骤3 时间同步

同步1.jpg

同步2.jpg

步骤4 wifi连接失败显示

断网.jpg

代码

#include <WiFi.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include <SevenSegmentTM1637.h>
#include <SevenSegmentExtended.h>

int8_t timeZone = 8;
const PROGMEM char *ntpServer = "ntp1.aliyun.com";
SevenSegmentExtended  display(0,5);

void setup(){
  WiFi.begin("wifi账户", "wifi密码");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Local IP:");
  Serial.print(WiFi.localIP());

  NTP.setInterval (600);
  NTP.setNTPTimeout (1500);
  NTP.begin (ntpServer, timeZone, false);
  display.begin();
}

void loop(){
  if (WiFi.status() == 3) {
    display.printTime(NTP.getTimeHour24(),NTP.getTimeMinute(),true);

  } else {
    display.print("----");

  }

}

        至此,基于Esp32-C3的网络同步时钟就做好了。

        但是还有很大的完善空间:

1. 加入蜂鸣器,做成闹钟;

2. 加一个外部输入模块,可以离线情况下输入wifi账号和密码进行wifi连接(目前还没有想到解决方案);

3. 加入更多的传感器如温湿度、光照等。

评论

user-avatar
  • BG6MFG

    BG6MFG2024.03.11

    用ESP32-WROOM-32编译错误,

    0
    • 花生编程

      花生编程2023.07.28

      赞赞赞

      0
      • 花生编程

        花生编程2023.07.28

        厉害

        0
        • 三春牛-创客

          三春牛-创客2023.07.25

          赞赞赞赞

          0
          • 三春牛-创客

            三春牛-创客2023.07.25

            厉害

            0