考研考證壓力大,埋頭苦干的你是不是在煩惱每日圖書館的座位問題?
捧著一大堆書籍,大汗淋漓地跑到圖書館,沒位置的時候真是晴天霹靂!
要是有個自動檢測座位的智能設備,幫助哪些同學迅速地發現座位的空缺,會省去很多人力以及時間~
基于 STM32F103C8T6 單片機,通過串口與涂鴉三明治 Wi-Fi MCU 通信板(WB3S) 進行數據交互,通過單片機檢測按鍵進行配網,通過單片機檢測限位開關的電平變化來檢測座位是否有人坐下。除此之外,還能通過稱重傳感器檢測常規座位的壓力變化,將其反饋到 IoT 云端。
物料清單
硬件 (2)軟件 (1
-
涂鴉三明治 Wi-Fi MCU 通信板(WB3S)
數量:1
適用于涂鴉 IoT 自定義方案中,照明、臺燈、燈絲燈、調光器、照明遙控器、排插、開關、家電、運動健康、傳感類產品原型。查看詳情
-
STM32duino 開發板
數量:1
采用瑞士意法半導體的 STM32F103C8T6 作為主控芯片,同時兼容 GD32C8T6 芯片,板載 RTC 時鐘電路和 Wi-Fi 狀態指示燈。同時擁有 Arduino uno 的 外形,能夠與涂鴉三明治開發板進行良好的拼接,降低開發難度。
步驟
-
第 1 步:硬件設計
座位拓展板
STM32duino 開發板
-
STM32duino 總圖
-
STM32duinoPCB 3D 圖與實物圖
-
STM32duino 主控板介紹
采用瑞士意法半導體的 STM32F103C8T6 作為主控芯片,同時兼容 GD32C8T6 芯片,板載 RTC 時鐘電路和 Wi-Fi 狀態指示燈。同時擁有 Arduino uno 的 外形,能夠與涂鴉三明治開發板進行良好的拼接,降低開發難度。
-
座位拓展板總圖
-
座位拓展板 PCB 3D 模型與實物圖
-
座位拓展板介紹
座位拓展板將 STM32duino 中的引腳引出,方便連接限位開關,同時引出了兩路 作為常規座位的壓力傳感器測量。本項目的座位拓展板為 DEMO 板,仍有較多引腳 未引出,在之后升級中仍可提供更多座位檢測限位開關。
-
-
第 2 步:軟件設計和 SDK 移植
軟件開發采用 KEIL5 進行,配合涂鴉 IoT 平臺生成的 SDK 文件,大大簡化了鏈接到 IoT 云端的速度。如何在涂鴉 IoT 平臺獲取嵌入式軟件開發所需的 SDK,可以參考硬件開發。
-
串口發送服務函數
-
-
/**
*@brief串口發送數據
*@param[in]{value}串口要發送的1字節數據
*@returnNull
*/
voiduart_transmit_output(unsignedcharvalue)
{
USART_SendData(USART1,(unsignedchar)value);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
串口中斷服務函數
/**
*@brief串口1中斷函數
*@param
*@returnNull
*/
voidUSART1_IRQHandler(void)
{
u8Res;
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)//涂鴉智能串口中斷
{
Res=USART_ReceiveData(USART1);//讀取接收到的數據
uart_receive_input(Res);
}
-8-
-}
按鍵檢測與配網函數 基本按照官方文檔中的參考編寫即可
voidkey_scan(void)
{
staticcharap_ez_change=0;
if(KEY_Config_Read()==0){
delay_ms(3000);
if(KEY_Config_Read()==0){
init_flag=0;
switch(ap_ez_change){
case0:
mcu_set_wifi_mode(SMART_CONFIG);
break;
case1:
mcu_set_wifi_mode(AP_CONFIG);
break;
default:
break;
}
ap_ez_change=!ap_ez_change;
}
}
}
voidwifi_stat_led(int*cnt)
{
switch(mcu_get_wifi_work_state())
{
caseSMART_CONFIG_STATE://0x00
init_flag=0;
if(*cnt==2){
*cnt=0;
}
if(*cnt%2==0)//LED快閃
{
LED_WIFI_on();
}
else
{
LED_WIFI_off();
}
break;
caseAP_STATE://0x01
init_flag=0;
if(*cnt》=30){
*cnt=0;
}
if(*cnt==0)//LED慢閃
{
LED_WIFI_on();
}
elseif(*cnt==15)
{
LED_WIFI_off();
}
break;
caseWIFI_NOT_CONNECTED://0x02
LED_WIFI_off();//LED熄滅
break;
caseWIFI_CONNECTED://0x03
break;
caseWIFI_CONN_CLOUD://0x04
if(0==init_flag)
{
LED_WIFI_on();//LED常亮
init_flag=1;//Wi-Fi連接上后該燈可控
*cnt=0;
}
break;
default:
LED_WIFI_off();//LED熄滅
break;
}
}
座位掃描函數(檢測限位開關的狀態)
//座位掃描
voidCHAIR_SCAN(void)
{
//座椅二
if(CHAIR2_Read()==1)//高電平無人坐下未觸發
{
if(chair_2==1)
{
chair_2=0;
mcu_dp_bool_update(DPID_CHAIR_2,chair_2);//BOOL型數據上報;
}
}
elseif(CHAIR2_Read()==0)//觸發有人坐下
{
if(chair_2==0)
{
chair_2=1;
mcu_dp_bool_update(DPID_CHAIR_2,chair_2);//BOOL型數據上報;
}
}
//。。.。。.。。.。。.。。.多個座位類似
}
第 3 步:效果演示限位開關效果展示
-
組裝后效果:
-
加上限位開關效果
-
當限位開關按下時 App 界面
-
在智慧校園活動中,讓我第一次接觸到涂鴉智能的硬件設備,不僅在產品使用上有很大的便利性,活動支持也做的相當不錯。
這次的校園座位檢測系統還可以基于涂鴉 IoT 平臺繼續豐富功能,進行產品迭代。
https://promotion.tuya.com/iot/Platform?_source=9767289ac96ea010968878ddb8f5441e
-
傳感器
+關注
關注
2550文章
51056瀏覽量
753269 -
單片機
+關注
關注
6036文章
44555瀏覽量
634894 -
mcu
+關注
關注
146文章
17141瀏覽量
351074 -
開發板
+關注
關注
25文章
5038瀏覽量
97404 -
智能硬件
+關注
關注
205文章
2346瀏覽量
107548
發布評論請先 登錄
相關推薦
評論