“這是一篇介紹老式電風(fēng)扇智能化改造的文章”
如今相當(dāng)一部分的家庭依然使用著一些老式家電,扔掉浪費(fèi),繼續(xù)使用又有點(diǎn)土不拉嘰的。利用機(jī)智云的云計(jì)算平臺(tái),可以輕而易舉地實(shí)現(xiàn)一些智能功能,舊瓶裝新酒,讓老式電氣發(fā)出現(xiàn)代異彩,感覺有點(diǎn)像用古代的缶裝上現(xiàn)代的人頭馬XO,把風(fēng)箏搞成隱形飛行器一樣,極具科技感酷勁。為了更利于老式電氣的改裝,通過手機(jī)-gokit-無線模塊-風(fēng)扇等一系列硬件的中繼接力,完成對(duì)一臺(tái)老式風(fēng)扇的調(diào)速過程。
硬件準(zhǔn)備
序號(hào) | 名稱 | 規(guī)格/型號(hào) | 數(shù)量 |
1 | 老式風(fēng)扇 | 三檔手動(dòng)調(diào)速 | 一臺(tái) |
2 | 機(jī)智云開發(fā)板 | Gokit2 | 一套 |
3 | 無線發(fā)射模塊 | L24YK-TXH | 一個(gè) |
4 | 4路功率驅(qū)動(dòng)模塊 | TB6612FNG | 一個(gè) |
5 | 無線接收模塊 | L24YK-RX4 | 一個(gè) |
6 | 電源模塊 | AC220V/DC3.3V | 一個(gè) |
7 | 繼電器模塊 | 4路光耦 | 一個(gè) |
8 | 電阻,電容,LED燈等 | 200Ω,1K,RGB共陰極LED | 若干 |
項(xiàng)目完成后的圖片
1)Gokit+無線發(fā)射模塊
2)接收板
4路功率驅(qū)動(dòng)模塊+無線接收模塊+電源模塊+繼電器模塊
3)接收板通過一個(gè)插座盒安裝到老式風(fēng)扇
軟件開發(fā)環(huán)境
機(jī)智云賬號(hào)一個(gè)
借助機(jī)智云的云服務(wù)和開發(fā)工具(MCU自動(dòng)代碼生成),這方面的教程機(jī)智云社區(qū)的前輩們已經(jīng)介紹的非常詳細(xì),在此就不再啰嗦了。
代碼說明
通過自動(dòng)生成的代碼+機(jī)智云寵物屋的云端部分+添加部分邏輯和自定義函數(shù),就可以完成項(xiàng)目,可靠地進(jìn)行控制。下面介紹一下邏輯和自定義函數(shù)部分的代碼:
1)修改原來寵物屋的WiFi配置狀態(tài)顯示代碼
void wifiStatusHandle(),是寵物屋代碼里的函數(shù),用于監(jiān)視Gokit開發(fā)板上的Key2狀態(tài),也就是手機(jī)與硬件設(shè)備配置時(shí),自動(dòng)或手動(dòng)配置WiFi連接的按鈕短按或長按的狀態(tài),只不過經(jīng)過修改以上代碼,該設(shè)備的Gokit開發(fā)板上不會(huì)有任何表示,取而代之的是,接收板收到數(shù)據(jù)后,RGBLDE燈點(diǎn)亮的同時(shí),會(huì)以接收到的相應(yīng)風(fēng)量指令啟動(dòng)風(fēng)扇,也就是遠(yuǎn)程配置。
void wifiStatusHandle(){if(myGizwits.wifiHasBeenSet(WIFI_SOFTAP)) {Serial.println(F(“WIFI_SOFTAP!”));ControlFan_1(); //Soft AP模式,向無線接收模塊發(fā)送紅燈點(diǎn)亮和啟動(dòng)第一檔風(fēng)量數(shù)據(jù) } if(myGizwits.wifiHasBeenSet(WIFI_AIRLINK)) {Serial.println(F(“WIFI_AIRLINK!”));ControlFan_2();
//AirLink模式,向無線接收模塊發(fā)送藍(lán)燈點(diǎn)亮和啟動(dòng)第二檔風(fēng)量數(shù)據(jù) } if(myGizwits.wifiHasBeenSet(WIFI_STATION)) {Serial.println(F(“WIFI_STATION!”)); } if(myGizwits.wifiHasBeenSet(WIFI_CON_ROUTER)) {Serial.println(F(“WIFI_CON_ROUTER!”));ControlRst();//配置成功后,關(guān)閉遠(yuǎn)程設(shè)備。 } }
2)添加邏輯控制代碼
void loop() { bool varR_Switch = 0;//系統(tǒng)根據(jù)數(shù)據(jù)點(diǎn)自動(dòng)生成的開關(guān)變量,以下相同。bool varR_Fan_1 = 0;//風(fēng)量一檔bool varR_Fan_2 = 0;//風(fēng)量二擋bool varR_Fan_3 = 0;
//風(fēng)量三檔 KEY_Handle();//key handle , network configure wifiStatusHandle();//WIFI Status Handle//手機(jī)發(fā)過來的開關(guān)事件if(myGizwits.hasBeenSet(EVENT_Switch)) { myGizwits.read(EVENT_Switch,&varR_Switch);if(varR_Switch == 1)//當(dāng)開關(guān)為開狀態(tài)時(shí) { ControlFan_1();//默認(rèn)風(fēng)量一檔開啟 }else{ ControlRst();
//當(dāng)開關(guān)為關(guān)閉時(shí),風(fēng)扇停止。 } }//手機(jī)發(fā)過來的第一檔風(fēng)量事件 if(myGizwits.hasBeenSet(EVENT_Fan_1)) { myGizwits.read(EVENT_Fan_1,&varR_Fan_1);//Address for storing dataif(varR_Fan_1 == 1)//接收到云端一檔時(shí) { ControlFan_1();//風(fēng)量一檔開啟 }else{ ControlRst();//當(dāng)開關(guān)為關(guān)閉時(shí),風(fēng)扇停止。 } }//手機(jī)發(fā)過來的第二檔風(fēng)量事件 if(myGizwits.hasBeenSet(EVENT_Fan_2)) { myGizwits.read(EVENT_Fan_2,&varR_Fan_2);
//Address for storing dataif(varR_Fan_2 == 1)//接收到云端二檔時(shí) { ControlFan_2();//風(fēng)量二檔開啟 }else{ ControlRst();//當(dāng)開關(guān)為關(guān)閉時(shí),風(fēng)扇停止。 } }//手機(jī)發(fā)過來的第三檔風(fēng)量事件 if(myGizwits.hasBeenSet(EVENT_Fan_3)) { myGizwits.read(EVENT_Fan_3,&varR_Fan_3);
//Address for storing dataif(varR_Fan_3 == 1)//接收到云端三檔時(shí) { ControlFan_3();//風(fēng)量三檔開啟 }else{ ControlRst();//當(dāng)開關(guān)為關(guān)閉時(shí),風(fēng)扇停止。 } } myGizwits.process();}//關(guān)閉設(shè)備函數(shù)void ControlRst(){ val = 0;for(int i = 9;i 《= 11;i++){ pinMode(i,OUTPUT); digitalWrite(i,HIGH);
}}//風(fēng)量一檔控制函數(shù)void ControlFan_1(){ ControlRst();//啟動(dòng)設(shè)備前,先關(guān)閉其他檔位的風(fēng)量 digitalWrite(Pin9,LOW);//向接收端無線模塊發(fā)送開關(guān)啟動(dòng)信號(hào)}//風(fēng)量二檔控制函數(shù)void ControlFan_2(){ ControlRst();//啟動(dòng)設(shè)備前,先關(guān)閉其他檔位的風(fēng)量 digitalWrite(Pin10,LOW);//向接收端無線模塊發(fā)送開關(guān)啟動(dòng)信號(hào)}//風(fēng)量三檔控制函數(shù)void ControlFan_3(){ ControlRst();//啟動(dòng)設(shè)備前,先關(guān)閉其他檔位的風(fēng)量 digitalWrite(Pin11,LOW);//向接收端無線模塊發(fā)送開關(guān)啟動(dòng)信號(hào)}
核心功能就是利用三個(gè)void ControlFan()風(fēng)扇控制函數(shù),依次啟動(dòng)ardiuno的9,10,11三個(gè)引腳低電位,從而控制連接在三個(gè)腳上面的無線發(fā)射模塊三路開關(guān)信號(hào)發(fā)送出去。當(dāng)風(fēng)扇上的無線接收模塊收到信號(hào)后,會(huì)立刻觸發(fā)對(duì)應(yīng)的繼電器閉合,從而啟動(dòng)風(fēng)扇運(yùn)行和RGBLED燈點(diǎn)亮。
關(guān)閉設(shè)備函數(shù)void ControlRst(),其實(shí)質(zhì)就是復(fù)位三個(gè)ardiuno引腳,從而觸發(fā)接收模塊動(dòng)作,關(guān)閉風(fēng)扇,不管風(fēng)扇運(yùn)行在任何風(fēng)量檔位上,都可以立刻關(guān)閉。
五 關(guān)于模塊使用說明,完整代碼,測(cè)試用APK
1)本文提到的模塊,電路圖,完整代碼等請(qǐng)參照附件的資料
2)本文使用的手機(jī)APK是機(jī)智云提供的標(biāo)準(zhǔn)測(cè)試調(diào)試軟件,大家請(qǐng)上云端下載就可以了。配置前后的圖標(biāo)和界面如下圖所示:
原文標(biāo)題:老式電風(fēng)扇改造:基于ArduinoUNOR3和機(jī)智云的智能調(diào)速風(fēng)扇
文章出處:【微信公眾號(hào):機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
電風(fēng)扇
+關(guān)注
關(guān)注
7文章
152瀏覽量
35541 -
Arduino
+關(guān)注
關(guān)注
188文章
6489瀏覽量
189956 -
機(jī)智云
+關(guān)注
關(guān)注
3文章
603瀏覽量
26722
原文標(biāo)題:老式電風(fēng)扇改造:基于ArduinoUNOR3和機(jī)智云的智能調(diào)速風(fēng)扇
文章出處:【微信號(hào):IoTMaker,微信公眾號(hào):機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
機(jī)智云推出集成Deepseek和豆包大模型的AIoT開發(fā)平臺(tái)
什么是云計(jì)算平臺(tái)?搭建云計(jì)算平臺(tái)需要什么條件
機(jī)智云歷史數(shù)據(jù)導(dǎo)出與排查指南

機(jī)智云榮登2024邊緣計(jì)算TOP100榜單
STM32連接機(jī)智云,代碼移植,NTP實(shí)時(shí)時(shí)間獲取(一)

云計(jì)算平臺(tái)的最佳實(shí)踐
云計(jì)算hpc的主要功能是什么
云計(jì)算hpc是什么意思
AI云平臺(tái)與傳統(tǒng)云計(jì)算的區(qū)別
人工智能云計(jì)算是什么
通過機(jī)智云平臺(tái)電腦網(wǎng)頁控制設(shè)備的指南

機(jī)智云智家APP的設(shè)備掃描與綁定限制

《機(jī)智云入門必備》手把手教你燒錄GAgent固件

評(píng)論