Arduino小白的学习历程
生活随笔
收集整理的這篇文章主要介紹了
Arduino小白的学习历程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Arduino小白的學習歷程
例7 溫度報警器
作為一名剛接觸Arduino的小白,覺得溫度報警器這個東西特別新鮮,先把它的效果描述一下:
效果一:打開串口監視器(至于怎么理解串口監視器,我來說說自己的想法,如果哪點說錯了,望各位大佬指證:串口監視器,類似于c語言中,打開的那個CMD窗口,通過串口監視器。可以debug自己的程序,同時,也能輸出一些信息到電腦屏幕上,總之,是個特別好用的東西),能看到室外溫度的變化情況。
效果二:當溫度超過一定的閾值時(這里假定是20度)溫度報警器發出類似警笛的聲音,同時,紅燈閃爍。
廢話不說,直接上代碼
int val;//val變量用于讀取模擬端口A0的值,范圍是0-1023 int lightval;//lightval變量控制用于燈的閃爍 int toneval;//toneval變量用于報警器的聲音 double tempature;//tempature變量用來表示室外的溫度 double sinval;//sinval變量用于轉換成三角函數值 unsigned long tepTimer; void setup() {pinMode(A0,INPUT);pinMode(8,OUTPUT);pinMode(9,OUTPUT);//數字9號口輸出PWM信號,這是一個連續的信號。Serial.begin(9600);//建立串口通信}void loop() { val=analogRead(A0);//讀取模擬端口A0的數值 tempature=val*(5/10.23);//將A0口讀取到的數值轉換成溫度值 if(tempature>=20) {for(int x=0;x<180;x++) {sinval=sin(x*(3.1412/180));toneval=2000+(int)(sinval*1000);lightval=200+(int)(sinval*500);tone(8,toneval);//為蜂鳴器寫入tonevalHZ的頻率analogWrite(9,lightval);delay(2);}} //當溫度大于20度時,蜂鳴器報警,同時燈閃爍 else { noTone(8); analogWrite(9,LOW);} //當溫度小于20度時,蜂鳴器停止報警,同時燈熄滅 if(millis()-tepTimer>500) { tepTimer=millis(); Serial.print("tempature:"); Serial.print(tempature); Serial.println("℃");}} //設置系統時間,每隔500ms輸出一次溫度代碼說明:簡單的 if-else判斷,唯一值得注意的是,如何讓蜂鳴器發出類似警笛的聲音。這一部分代碼樓主也不太清除其背后的道理,通過查閱網上資料找的
使蜂鳴器發出警笛聲音的代碼
for(int x=0;x<180;x++) {sinval=sin(x*(3.1412/180));toneval=2000+(int)(sinval*1000);tone(8,toneval);delay(2);}按照下面的圖連接電路(別連接錯了,注意面包板的排線方式,同時一定要為LED燈加電阻,樓主總是忘記😭)
總結
以上是生活随笔為你收集整理的Arduino小白的学习历程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西安市:外地职工离职如何提取公积金
- 下一篇: 【kuangbin】简单搜索 - 13.