<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 采用ESP8266的創(chuàng )意時(shí)鐘擺件

采用ESP8266的創(chuàng )意時(shí)鐘擺件

作者: 時(shí)間:2024-01-29 來(lái)源:趣味硬件 收藏

這個(gè)模塊在近兩年來(lái)芯片大幅度漲價(jià)的趨勢下依然能夠保持十幾塊錢(qián)一片,簡(jiǎn)直是DIY的利器,其基本功能基本能夠滿(mǎn)足小型DIY應用,速度也是杠杠的,就是對于我來(lái)說(shuō)開(kāi)發(fā)有點(diǎn)小麻煩了點(diǎn),不太習慣Arduino IDE、Lua腳本等方式寫(xiě)代碼,所以我選擇的是SDK方式,可能是習慣了的方式吧。

本文引用地址:http://dyxdggzs.com/article/202401/455179.htm

一、硬件部分

1.核心部分模塊使用,其基本的最小系統如下所示。


2.USB轉串口部分,這里采用的電路可以實(shí)現自動(dòng)下載,我們知道,平時(shí)我們下載的固件的時(shí)候都是需要將GPIO0引腳拉低后再上電,才能進(jìn)入下載模式,這個(gè)一鍵下載電路就完美解決了這個(gè)問(wèn)題,非常方便。


3.電源部分使用5V轉3.3V的芯片1117-3.3芯片,使用兩片,和LED燈分開(kāi)供電,因為L(cháng)ED燈比較多,怕電流太大了會(huì )導致wifi連接不穩定。



4.LED驅動(dòng),這里使用TM1637數碼管專(zhuān)用驅動(dòng)芯片來(lái)驅動(dòng)LED燈,它使用IIC通信,非常方便。再加上MOS管增強驅動(dòng),使LED燈亮度更好。




5.LED矩陣組成4個(gè)8段數碼管和兩個(gè)點(diǎn)



6.畫(huà)好的PCB如下:



二、軟件部分

軟件使用RTOS的SDK方式,其實(shí)這個(gè)也很簡(jiǎn)單,歷程非常多。下面附上最主要的幾個(gè)函數

1.WiFi連接

/*wifi參數設置*/user_set_station_config(void)
{    wifi_set_opmode(STATION_MODE);              //設置為STATION MODE
    strcpy(station_cfg.ssid, ssid);          //ssid名稱(chēng)
    strcpy(station_cfg.password, password);  //密碼
    wifi_station_set_config(&station_cfg);      //設置WIFI帳號和密碼}

2.網(wǎng)絡(luò )時(shí)間獲取

LOCAL unsigned char time_buf[8]; //空年月日時(shí)分秒周LOCAL void ICACHE_FLASH_ATTR SyncNetTimeCallBack(void) {    //獲取時(shí)間戳
	uint32 ts = sntp_get_current_timestamp();
	 unsigned char i, tmp;	if (ts != 0) {
		os_timer_disarm(&getNetSyncTimer);
		os_delay_us(60000); //延時(shí)等待穩定
		os_delay_us(60000); //延時(shí)等待穩定
        //處理時(shí)間戳,返回具體的時(shí)間
		char *pDate = (void *) sntp_get_real_time(ts);		data = sntp_get_time_change(pDate);
		os_printf("20%x_%x_%x_%x:%x:%x_%xn",data.year,data.month,data.day,data.hour,data.minute,data.second,data.week);

		time_buf1[1] = data.year;
		time_buf1[2] = data.month;
		time_buf1[3] = data.day;
		time_buf1[4] = data.hour;
		time_buf1[5] = data.minute;
		time_buf1[6] = data.second;		//time_buf1[4]/16*10+time_buf1[4]%16;
		os_printf("%d:%d:%d rn", time_buf1[4]/16*10+time_buf1[4]%16, time_buf1[5]/16*10+time_buf1[5]%16, time_buf1[6]/16*10+time_buf1[6]%16);
		sec=time_buf1[6]/16*10+time_buf1[6]%16;
	     min=time_buf1[5]/16*10+time_buf1[5]%16;
		 hour=time_buf1[4]/16*10+time_buf1[4]%16;
		os_timer_arm(&second_timer, 1000, 1); //使能毫秒定時(shí)器
	}
}
void ICACHE_FLASH_ATTR wifi_event_handler_cb(System_Event_t *event) {		//開(kāi)始網(wǎng)絡(luò )授時(shí)
		sntp_setservername(0, "time1.aliyun.com");
		sntp_setservername(1, "time2.aliyun.com");
		sntp_setservername(2, "time3.aliyun.com"); // set sntp server after got ip address
		sntp_init();
		os_timer_disarm(&getNetSyncTimer);
		os_timer_setfn(&getNetSyncTimer, (os_timer_func_t *) SyncNetTimeCallBack,NULL);
		os_timer_arm(&getNetSyncTimer, 1000, 1);
}

3.兩個(gè)任務(wù),一個(gè)走時(shí),一個(gè)檢測光敏電阻,晚上的時(shí)候就熄滅掉,白天的時(shí)候亮起。具體的任務(wù)主體就是設一個(gè)1秒的定時(shí)器來(lái)走時(shí),然后間隔5分鐘重新從網(wǎng)絡(luò )獲取時(shí)間,這樣即使是1秒的定時(shí)器不準影響也很小,因為每五分鐘會(huì )修正一次。

	 xTaskCreate(time_update, "time_update", 1024, NULL, 11, NULL);
	 xTaskCreate(time_update1, "time_update1", 1024, NULL, 10, NULL);

三、實(shí)物如下




放桌子上拍攝看著(zhù)效果不太好。




關(guān)鍵詞: ESP8266 ESP12 單片機 時(shí)鐘DIY

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>