日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

arduino智能风扇系统

發布時間:2025/3/12 windows 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arduino智能风扇系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

研究方法與思路:

我們小組一開始找的是一個別人做好的項目,按鍵控制風扇擋位,不同擋位對應不同LED燈。但是實現過程中存在bug。而且僅僅通過按鍵控制風扇著實有局限性,因此我覺定用串口控制風扇開關的模式,輸入1,風扇變為光敏自動調節,輸入2,變為按鈕人工控制調節。
我們的思路首先是拆開,把每個功能單獨列出來實現,最后再進行合并

按鍵控制風扇開關:

我在這里遇到了問題,就是按鈕按一下它關閉一會又自動開始轉。最后找到了徐大佬,才解決了問題。
猛地關閉風扇,電流會回流,然后把相應的下限變高(我也沒聽太明白)這個大概就是(buttonValue = analogRead(buttonpin)) > 15而不是大于0的原因。
一開始我用的數字信號,最后用了模擬信號才調出來。。

const int IB = 6; const int IA = 5; int buttonpin = A1; boolean state = false;void setup() {Serial.begin(9600);pinMode(IA, OUTPUT);pinMode(IB, OUTPUT);pinMode(buttonpin, INPUT_PULLUP); }void loop() {int buttonValue = 0;while ((buttonValue = analogRead(buttonpin)) > 15){Serial.println(buttonValue);}Serial.print("a");if (state == true){analogWrite(IA, 0);analogWrite(IB, 0);}else{analogWrite(IA, 105);analogWrite(IB, 0);}state = !state;delay(600); }

串口控制風扇擋位:

const int IB=6; const int IA=5; void setup(){Serial.begin(9600);pinMode(IA,OUTPUT);pinMode(IB,OUTPUT);}void loop(){if(Serial.available()>0){char ch=Serial.read();Serial.println(ch);if(ch == 'l'){analogWrite(6,0); analogWrite(5,0); //Serial.println("l");}else if(ch == 'm'){analogWrite(6,0); analogWrite(5,150);// Serial.println("m");} else if(ch =='h'){analogWrite(6,0); analogWrite(5,250);// Serial.println("h"); } }}

光敏電阻控制風扇擋位:

const int IB=6; const int IA=5; void setup(){Serial.begin(9600);pinMode(IA,OUTPUT);pinMode(IB,OUTPUT);}void loop(){int sv=analogRead(A0);Serial.println(sv);//光越大sv越小analogWrite(IB,0);analogWrite(IA,(600-sv)*0.425 );}

串口控制風扇模式:

主要是用了一些條件語句把上面的模塊拼到一塊,應該能看明白,我就不多說了

const int IB = 6; const int IA = 5; int buttonpin = A1; boolean state = false;void setup() {Serial.begin(9600);pinMode(IA, OUTPUT);pinMode(IB, OUTPUT);pinMode(buttonpin, INPUT_PULLUP); }void loop() {if (Serial.available() > 0) {char ch = Serial.read();if (ch == '4'){Serial.println("你想要智能風扇的哪個功能");Serial.println("1.按鍵控制風扇") ;Serial.println("3.光敏傳感器控制風扇");Serial.println("4.從新選擇");}else{while (1) {if (ch == '1'){int buttonValue = 0;if (Serial.available() > 0){char bb = Serial.read();if (bb == '4'){analogWrite(IA, 0);analogWrite(IB, 0);break;}}else {while ((buttonValue = analogRead(buttonpin)) > 15){// Serial.println(buttonValue);}// Serial.print("a");if (state == true){analogWrite(IA, 0);analogWrite(IB, 0);}else{analogWrite(IA, 105);analogWrite(IB, 0);}state = !state;delay(600);}}else if (ch == '3'){int sv = analogRead(A0);// Serial.println(sv);//光越大sv越小analogWrite(IB, 0);analogWrite(IA, (600 - sv) * 0.425 );if (Serial.available() > 0){char ch = Serial.read();if (ch == '4'){analogWrite(IA, 0);analogWrite(IB, 0);break;}else {Serial.println("如果想要切換功能請輸入4");}}}}}} } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的arduino智能风扇系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。