▲資料來源:痞客幫-資訊吐司-[資訊小知識] 類比訊號 VS 數位訊號
類比訊號是一連續性的訊號,與數位訊號相反,
生活中大部分的訊號都是連續性的,例如:
溫度可從0℃~10℃,不會只有0℃和10℃,
聲音可從10分貝~100分貝,不會只有10分貝和100分貝。
電腦是看不懂類比訊號的,因此電腦只能透過電壓值(0V~5V,解析成1024等份,轉換成0~1023的數位訊號才看得懂。
舉例:今天有一個類比訊號進入Arduino電壓值是5V,因此Arduino將其轉換成自己看得懂的數位訊號1023。
因此我們也可以推算回去,將數位訊號轉換成電壓,公式:數位訊號(0~1023)/1023*5
補充:相反的也可以從數位訊號轉為類比訊號喔!(PWM) 後續單元再學。
Arduino本身的解析度為10位元(10bit),因此可以解析類比訊號切成1024等份,那什麼是位元呢? →
如左圖,Arduino腳位中編號A0~A5皆為類比腳位(Analogy pin)。
S4A是一款能用積木程式撰寫Arduino的程式編輯器,
而為了達到這樣的目的,我們就必須使用S4A事先寫好的程式燒入到Arduino裡(不清楚請看Unit:0),在用S4A的積木編輯器來控制Arduino。
想當然我們就必須知道S4A的程式裡,是如何宣告Arduino的腳位,
從右邊的S4A積木中我們可以知道,在S4A的程式中是可以讀取A0~A5腳位獲得的類比訊號
可變電阻,又稱為電位器,可以改變電阻值的原件,在這次的教學中採用的是10k歐姆的可變電阻。
可變電阻在旋轉的過程中,會改變AB腳位的電阻值及BC腳位的電阻值,(請看下方影片)
因此通常B腳位常被當作訊號腳位,A和C腳位可以擇一當電壓腳位(5V正極)與接地腳位(GND負極)。
說明:觀察可變電阻在Arduino讀取類比訊號時的數值。
材料:電腦*1、Arduino Uno*1、USB*1、10k可變電阻*1。
作法:
一、製作一個可變電阻的電路。(請參考5-2 知識)
二、轉動可變電阻觀察S4A中A0的數值變化,
最小應為0(電阻值10k,電壓值0),
最大應為1023(電阻值0,電壓值5V)。
說明:透過可變電阻的數位訊號數值0~1023,控制三顆LED燈亮的順序,最後同時關閉。
材料:電腦*1、Arduino Uno*1、USB*1、LED燈*3(3顆不同顏色)、220Ω電阻*3、1kΩ可變電阻*1。
作法:
一、製作一個可變電阻的電路。(請參考5-2 知識)
二、製作三個LED燈的電路。(請參考3-2 實作)
三、在S4A中撰寫程式,邏輯:當綠旗被點擊無限重複次,如果A0>340則D10輸出高電位,如果A0>680則D11輸出高電位,如果A0>1022則D12輸出高電位,如果A0=0則D10、D11、D12輸出低電位。
說明:請運用可變電阻控制有源蜂鳴器,並效仿右方影片,傳遞P摩斯密碼。
材料:電腦*1、Arduino Uno*1、USB*1、有源蜂鳴器*1。
繳交:請將作品拍攝成操作影片,並轉傳給您的指導老師。
可以偵測環境中的溫度,本次教學採用的是LM35溫度感測器。
DHT11溫溼度感測模組偵測範圍、誤差值與腳位:
可偵測溫度範圍為-40℃~110℃,誤差值+-0.25℃
共有三個腳位,如右圖→→→→→
1.VCC接電壓(5V正極)
2.OUT接類比輸入(Analogy 0~5)
3.GND接地(GND負極)
注意:接錯線可能導致溫度感測器燒壞,請確認無誤後再行通電。
一側是圓凸面,一側是平面,請確實檢查。
說明:透過LM35溫度感測器偵測類比轉數位數值後,再透過公式轉換成實際溫度。
材料:電腦*1、Arduino Uno*1、USB*1、LM35溫度感測器。
作法:
一、製作一個LM35溫度感測器的電路,並將類比訊號輸出連接A0腳位。(請參考5-7 知識)
二、在S4A中觀察類比腳位A0經由Arduino解析後的數位訊號數值(此時還不是實際溫度)。
三、在S4A中新增兩個變數,分別是「Vol」(電壓)、「Temp」(溫度)。
四、已知A0讀取範圍是0~1024,Arduino電壓是0V~5V,因此透過程式計算可以將A0讀取的數位訊號轉為電壓值:
Vol=讀取A0數位訊號數值/1024*5(看不懂請複習知識 5-1或自己主動問數學老師或指導老師)。
五、已知每上升1℃,電壓值就會增加0.01V,因此可以透過程式計算將電壓值轉換成實際溫度:
Temp=Vol/0.01(不知道為什麼代表你數學不好,自己主動問數學老師或指導老師)
說明:透過LM35溫度感測器、LED燈與蜂鳴器製作一個防止寵物熱死在家中的警示裝置,當室內溫度高於30度時,LED亮紅燈且蜂鳴器發出聲音警告,而當室內溫度低於30度時,LED燈亮綠燈。
材料:電腦*1、Arduino Uno*1、USB*1、LM35溫度感測器、LED燈*2(紅、綠)、220歐姆電阻*2、有源蜂鳴器*1。
繳交:請將作品拍攝成操作影片,並轉傳給您的指導老師。(建議使用吹風機加熱,可以短時間產生效果)
可以偵測環境中水位的高度,
共有三支腳位:
VCC(電壓)、GND(接地)、S(訊號)
特別注意的是水位不可以超過感測器以免感測器接觸水而壞掉▼
說明:觀察水位不同,類比訊號的數值。
材料:電腦*1、Arduino Uno*1、USB*1、水位感測器。
作法:
一、製作一個水位感測器的電路,並將類比訊號輸出連接A0腳位。
二、裝一杯水將水位感測器放入。(注意:水位不可以超過水位感測器上限)
三、在S4A中觀察類比腳位A0經由Arduino解析後的數位訊號數值。
四、使用完後用乾淨的衛生紙擦拭以免生鏽。
說明:製作一個當水位上升到一定高度時,能夠警告他人的警示裝置。
材料:電腦*1、Arduino Uno*1、USB*1、水位感測器、其他元件。
繳交:請將作品拍攝成操作影片,並轉傳給您的指導老師。
可以偵測環境中聲音的大小,
共有四支腳位:
VCC(電壓)、GND(接地)、A0(類比訊號)、D0(數位訊號)
聲音感測器是透過:
1.若接在A0,不接D0,則採類比輸入的方式判斷聲音大小。
2.若不接A0,接在D0,則採數位輸入的方式判斷聲音大小,且當聲音大小超過一定的值之後就會叫(可以透過調節門檻值的電阻,調整聲音大小的門檻)→→→→→→→→→→→→→
說明:觀察聲音大小不同,類比訊號的數值。
材料:電腦*1、Arduino Uno*1、USB*1、聲音感測器。
作法:
一、製作一個聲音感測器的電路,並將類比訊號輸出連接A0腳位。
二、對其吼叫。
三、在S4A中觀察類比腳位A0經由Arduino解析後的數位訊號數值。
說明:製作一個當拍手時LED燈就會打開,再次拍手時LED燈關閉的裝置。
材料:電腦*1、Arduino Uno*1、USB*1、聲音感測器、LED燈(顏色不限)、220歐姆電阻。
繳交:請將作品拍攝成操作影片,並轉傳給您的指導老師。