以下作品由安信可社區(qū)用戶
King6688制作
產(chǎn)品說明
Ai-WB2-32S 是由深圳市安信可科技有限公司開發(fā)的 Wi-Fi&BT 模組,該模組搭載BL602芯片作為核心處理器,支持 Wi-Fi 802.11b/g/n 協(xié)議和 BLE 5.0 協(xié)議。BL602 芯片內(nèi)置低功耗的 32 位 RISC CPU,276KB RAM 和豐富的外圍接口,包括SDIO,SPI,UART,I2C,IR remote,PWM,ADC,DAC,PIR 和 GPIO 等??蓮V泛應(yīng)用于物聯(lián)網(wǎng)(IoT)、移動設(shè)備、可穿戴電子設(shè)備、智能家居等領(lǐng)域。
TM1637 是由天微電子開發(fā)的一種帶鍵盤掃描接口的LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動、鍵盤掃描等電路。本產(chǎn)品性能優(yōu)良,質(zhì)量可靠。主要應(yīng)用于電磁爐、微波爐及小家電產(chǎn)品的顯示屏驅(qū)動。采用DIP/SOP20的封裝形式。
功能特點
●采用功率CMOS 工藝
●顯示模式(8 段×6 位),支持共陽數(shù)碼管輸出
●鍵掃描(8×2bit),增強型抗干擾按鍵識別電路
●輝度調(diào)節(jié)電路(占空比 8 級可調(diào))
●兩線串行接口(CLK,DIO)
●振蕩方式:內(nèi)置RC 振蕩(450KHz+5%)
●內(nèi)置上電復(fù)位電路
●內(nèi)置自動消隱電路
●封裝形式:DIP20/SOP20
說明:
本次移植參考了WangChong的論壇帖子進行更改,對原有的部分命名做了規(guī)范化,參考帖子地址:【外設(shè)移植】TM1637 + M61-32S:https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44420&fromuid=13055&_dsign=6ac131ea
使用:
本次我使用的是AI-WB2-32S開發(fā)板,自己畫了一個板子整合TM1637和舵機、BLE(舵機、BLE的將會在另外2篇帖子介紹),對應(yīng)的接線方式如下:
移植過程:
根據(jù)參考帖子以及TM1637的規(guī)格書進行更改,時序圖上方帖子里已經(jīng)有了,TM1637支持5V電壓,原貼用是的AI-M61-32S 3V3的供電,本次需要更改為AI-WB2支持的方式并用5V供電,主要是更改io以及時間的設(shè)置,本來移植到這步已經(jīng)完成了園長的要求了,但是!筆者想著既然都用1637了,干脆直接改一個能與NTP服務(wù)器同步時間的時鐘出來吧,于是又整合了wifi和ntp的部分,然后根據(jù)算法處理第1~4位和時間點、日期的顯示,顯示時間5S,日期顯示2S,關(guān)鍵代碼如下:
void sntp_task()
{
tcpip_callback(_startup_sntp, NULL);
vTaskDelay(5000 / portTICK_PERIOD_MS);
while(1)
{
for(int i=0;i<5;i++){
uint32_t seconds = 0, frags = 0;
sntp_get_time(&seconds, &frags);
blog_info("[NTP] time is %lu:%lurn", seconds, frags);
utils_time_date_from_epoch(seconds+UTC*60*60, &date);
blog_info("Date & time is: %u-%02u-%02u %02u:%02u:%02u (Day %u of week, Day %u of Year)rn",
date.ntp_year,
date.ntp_month,
date.ntp_date,
date.ntp_hour,
date.ntp_minute,
date.ntp_second,
date.ntp_week_day,
date.day_of_year
);
uint32_t hour = date.ntp_hour;
uint32_t minute = date.ntp_minute;
uint32_t second = date.ntp_second;
//tm1637 顯示時間
int digit4 = 0;
int digit3 = 0;
int digit2 = 0;
int digit1 = 0;
digit4 = floor(hour/10);
digit3 = floor(hour%10);
digit2 = floor(minute/10);
digit1 = floor(minute%10);
sendDisplayData(digit4, digit3, digit2, digit1, dotFlag);
vTaskDelay(1000 / portTICK_RATE_MS);
dotFlag=!dotFlag;
}
//tm1637
//顯示日期
int digit4 = 0;
int digit3 = 0;
int digit2 = 0;
int digit1 = 0;
digit4 = floor(date.ntp_month/10);
digit3 = floor(date.ntp_month%10);
digit2 = floor(date.ntp_date/10);
digit1 = floor(date.ntp_date%10);
dotFlag = 0;
sendDisplayData(digit4, digit3, digit2, digit1, dotFlag);
vTaskDelay(2000 / portTICK_RATE_MS);
}
}
燒錄驗證效果:
由于畫的板子沒有注意TM1637與AI-WB2-32S的排母的間距,所以焊接的時候只能把1637的排母掰彎了一些,各位大佬看看就好~~
效果圖:
原貼地址:
【外設(shè)移植】Ai-WB2+TM1637 NTP時鐘:https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45246&highlight=NTP%E6%97%B6%E9%92%9F&_dsign=4fb83a50
審核編輯 黃宇
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
NTP
+關(guān)注
關(guān)注
1文章
169瀏覽量
13890
發(fā)布評論請先 登錄
相關(guān)推薦
評論