第四章 基礎專題1
在這個章節,你將會學會:
- 了解蜂鳴器元件的使用
- 使用變數搭配digitalWrite\/digitalRead讀取\/寫入Arduino接腳
CH4-1 警報器
實習清單
實驗名稱 | 警報器 |
---|---|
預期實驗結果 | 使用蜂鳴器發出警報聲 |
實驗目的 | Ø 了解如何使用蜂鳴器 |
材料清單 | Ø Arduino*1 Ø 無源蜂鳴器*1 |
元件介紹
本次實驗經會使用到蜂鳴器,蜂鳴器是一種簡單的發聲材料,有著體積小,便宜耐用的優點,蜂鳴器基本分為兩種規格。
一:無源蜂鳴器:無內建音源電路,需要從外部輸入訊號方可發聲,無極性之分。
二:有源蜂鳴器:有內建音源電路,只要通電就會發出故固定頻率之音響,有極性之分。
(一)無源式蜂鳴器 (二)有源式蜂鳴器
實習步驟與說明
本次的實習是要利用蜂鳴器發出警報聲,要使蜂鳴器改變發聲的音調,我們就要去控制蜂鳴器的頻率,因此使用到一個新的函數tone()
tone(pin, frequency)
tone(pin, frequency, duration)
pin:要產生聲音的引腳
frequency: 產生聲音的頻率,單位Hz,類型unsigned int
duration:聲音持續的時間,單位毫秒(可選),類型unsigned long
電路實作
佈線圖
Arduino程式實作
完整程式碼
01 void setup() 02 { 03 } 04 05 void loop() 06 { 07 for(int i=200;i<=800;i++) \/\/用循環的方式將頻率從200HZ 增加到800HZ 08 { 09 pinMode(4,OUTPUT); 10 tone(4,i); \/\/在四號端口輸出頻率 11 delay(5); \/\/該頻率維持5毫秒 12 } 13 delay(4000); \/\/最高頻率下維持4秒鐘 14 for(int i=800;i>=200;i--) 15 { 16 pinMode(4,OUTPUT); 17 tone(4,i); 18 delay(10); 19 } 20 } 21 |
---|
程式碼說明
隨堂作業
1、 設計按下按鍵才會發出警告聲的電路與程式
CH4-2 溫度計
實習清單
實驗名稱 | 溫度計 |
---|---|
預期實驗結果 | 使用蜂鳴器發出警報聲 |
實驗目的 | Ø 了解如何使用蜂鳴器 |
材料清單 | Ø Arduino*1 Ø LM35DZ溫度感應器*1 |
元件介紹
LM35DZ溫度感應器、是利用電壓的變化來感應溫
工作電壓:0V-30V:工作溫度,0℃-100℃
LM35DZ接腳圖
LM35DZ的工作原理是利用電壓的變化來量測溫度,
當0℃時電壓為0V,每上升1℃電壓上升10mv 利用此定律來量測溫度
實習步驟與說明
本次實驗的電路圖很簡單、難的在於將電壓轉換成溫度的公式,會利用到ANALOG IN的孔位
再次回到本實驗、該解釋本次的轉換公式了
LM35DZ感測器每上升1℃電壓上升10mv等於到100℃時輸出電壓為1V
Int n = analogRead(A0); \/\/讀取A0口的電壓值
float vol = n * (5.0 \/ 1024.0*100); \/\/使用浮點數存儲溫度數據,溫度數據由電壓值換算得到
n * (5.0 \/ 1024.0*100)
為什麼要乘以100呢、因為lm35dz偵測器100℃時輸出電壓為剛好是1V
當20℃時lm35dz 輸出 0.2V的電壓,15度C時輸出的電壓為0.15V 由此可以看出
將LM35DZ的電壓值*100就會剛好是溫度的數值
所以我們要將A0腳位的數值轉換回電壓值
N*(5\/1024)=電壓值
電壓值*100=溫度
N*(5\/1024*100)
電路實作
佈線圖
Arduino程式實作
完整程式碼
001 void setup() { 002 003 Serial.begin(9600); \/\/使用9600速率進行串口通訊 004 } 005 006 void loop() { 007 008 int n = analogRead(A0); \/\/讀取A0口的電壓值 009 010 float vol = n * (5.0 \/ 1024.0*100); \/\/使用浮點數存儲溫度數據,溫度數據由電壓值換算得到 011 012 Serial.println(vol); \/\/串口輸出溫度數據 013 delay(2000); \/\/等待2秒,控制刷新速度 014 } |
---|
隨堂作業
1、將溫度感應器與警報器結合,超過30度則警報器響起