以下作品由安信可社區用戶
King6688制作
產品說明
Ai-WB2-32S 是由深圳市安信可科技有限公司開發的 Wi-Fi&BT 模組,該模組搭載BL602芯片作為核心處理器,支持 Wi-Fi 802.11b/g/n 協議和 BLE 5.0 協議。BL602 芯片內置低功耗的 32 位 RISC CPU,276KB RAM 和豐富的外圍接口,包括SDIO,SPI,UART,I2C,IR remote,PWM,ADC,DAC,PIR 和 GPIO 等。可廣泛應用于物聯網(IoT)、移動設備、可穿戴電子設備、智能家居等領域。
TM1637 是由天微電子開發的一種帶鍵盤掃描接口的LED(發光二極管顯示器)驅動控制專用電路,內部集成有MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。本產品性能優良,質量可靠。主要應用于電磁爐、微波爐及小家電產品的顯示屏驅動。采用DIP/SOP20的封裝形式。
功能特點
●采用功率CMOS 工藝
●顯示模式(8 段×6 位),支持共陽數碼管輸出
●鍵掃描(8×2bit),增強型抗干擾按鍵識別電路
●輝度調節電路(占空比 8 級可調)
●兩線串行接口(CLK,DIO)
●振蕩方式:內置RC 振蕩(450KHz+5%)
●內置上電復位電路
●內置自動消隱電路
●封裝形式:DIP20/SOP20
說明:
本次移植參考了WangChong的論壇帖子進行更改,對原有的部分命名做了規范化,參考帖子地址:【外設移植】TM1637 + M61-32S:https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44420&fromuid=13055&_dsign=6ac131ea
使用:
本次我使用的是AI-WB2-32S開發板,自己畫了一個板子整合TM1637和舵機、BLE(舵機、BLE的將會在另外2篇帖子介紹),對應的接線方式如下:
移植過程:
根據參考帖子以及TM1637的規格書進行更改,時序圖上方帖子里已經有了,TM1637支持5V電壓,原貼用是的AI-M61-32S 3V3的供電,本次需要更改為AI-WB2支持的方式并用5V供電,主要是更改io以及時間的設置,本來移植到這步已經完成了園長的要求了,但是!筆者想著既然都用1637了,干脆直接改一個能與NTP服務器同步時間的時鐘出來吧,于是又整合了wifi和ntp的部分,然后根據算法處理第1~4位和時間點、日期的顯示,顯示時間5S,日期顯示2S,關鍵代碼如下:
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的排母掰彎了一些,各位大佬看看就好~~
效果圖:
原貼地址:
【外設移植】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
審核編輯 黃宇
-
開發板
+關注
關注
25文章
5504瀏覽量
102221 -
NTP
+關注
關注
1文章
216瀏覽量
14339
發布評論請先 登錄
安信可定位開發板BU03-Kit使用指南 ——硬件&軟件

低價不貴!安信可WiFi+BLE模組Ai-WB2系列

正點原子ESP32S3系列開發板全面支持小智AI
安信可Ai-WB2系列模組/開發板連接AWS亞馬遜云方法

評論