s4 a sensor board
DESCRIPTION
使用Ardublock+Arduino S4A Sensor Board基礎實驗教學TRANSCRIPT
Dept. of Electronics Engineering
Arduino S4A Sensor Board基礎實驗
吳錫修
October 17, 2014
shap
e th
e fu
ture
Arduino IDE 1/4
南開科大電子工程系2
下載Arduino整合開發環境軟體壓縮檔http://arduino.cc/en/Main/Software
解壓至硬碟
USB連接PC與Arduino開發板
shap
e th
e fu
ture
Arduino IDE 2/4
南開科大電子工程系3
安裝USB驅動程式
shap
e th
e fu
ture
Arduino IDE 3/4
南開科大電子工程系4
啟動Arduino IDE,確認Arduino開發板連接埠
shap
e th
e fu
ture
Arduino IDE 4/4
南開科大電子工程系5
切換中文介面
File/Preferences
重新開啟Arduino IDE
shap
e th
e fu
ture
外掛ArduBlock 1/6
南開科大電子工程系6
ArduBlock外掛軟體必須依附於Arduino IDE下運行
Arduino是文本式程式設計環境,而ArduBlock是以圖形化積木組合方式設計程式
可在ArduBlock設計圖控程式,再上傳至Arduino IDE
使程式設計視覺化,即使沒有Arduino程式語言基礎的人也可以嘗試編寫Arduino控制程式
shap
e th
e fu
ture
外掛ArduBlock 2/6
南開科大電子工程系7
下載ArduBlock http://blog.ardublock.com/
shap
e th
e fu
ture
外掛ArduBlock 3/6
南開科大電子工程系8
將下載的ardublock-xxx.jar檔複製到Arduino IDE資料夾之 tools/ArduBlockTool/tool子目錄即可 (必要時自行建立子目錄)
shap
e th
e fu
ture
外掛ArduBlock 4/6
南開科大電子工程系9
由Arduino IDE之Tools功能表,執行ArduBlock
shap
e th
e fu
ture
外掛ArduBlock 5/6
南開科大電子工程系10
shap
e th
e fu
ture
外掛ArduBlock 6/6
南開科大電子工程系11
Arduino IDE之語言設定必須選擇System Default,ArduBlock才會切換為中文介面
shap
e th
e fu
ture
S4A Sensor Board 1/3
南開科大電子工程系12
四個RJ11接頭,可外接其他裝置 (D2/D3, A3, A4, A5)
⼀個⼀公分⼤⼩的按鍵開關 (D2)
⼀個蜂鳴器 (D9)
⼀個麥克風 ( A2)
兩顆 LED 顯示,⼀顆為紅⾊(D10),⼀顆為綠⾊ (D11)
⼀個滑桿可變電阻(10K),有效行程65mm (A0)
⼀個光感測元件 (A1)
預留⼀個藍芽孔位 (UART)
shap
e th
e fu
ture
S4A Sensor Board 2/3
南開科大電子工程系13
紅色LED D10
綠色LED D11
蜂鳴器 D9
開關 D2光敏電阻 A1
可變電阻 A0
N/ATXRX
GND3.3VN/A
D12 D4 D8 D7 D6 D5
麥克風 A2
A5 D2 D3A4 A3 A5 A4
外接電源
shap
e th
e fu
ture
S4A Sensor Board 3/3
南開科大電子工程系14
shap
e th
e fu
ture
類比/數位訊號處理 1/3
南開科大電子工程系15
類比訊號:連續變化的物理訊號,訊號的振幅、頻率或相位可能隨時間變化
數位訊號:只由高/低二種電位訊號所組成
shap
e th
e fu
ture
類比/數位訊號處理 2/3
南開科大電子工程系16
Microcontrollers are digital devices – ON or OFF
類比訊號必須經由A/D轉換處理
shap
e th
e fu
ture
類比/數位訊號處理 3/3
南開科大電子工程系17
微處理器使用PWM(Pulse Width Modulation,脈波寬度調變)技術來輸出類比訊號
D3, D5, D6, D9, D10, D11支援PWM輸出
PWM 被應用在許多地方,調光燈具、馬達調速等
shap
e th
e fu
ture
Arduino輸出控制
Digital OUTPUT
HIGH or LOW
PIN# -- 0 to 13
pinMode( 11, OUTPUT );
digitalWrite( 11, HIGH );
Analog OUTPUT
0 to 255
PIN# -- 3, 5, 6, 9, 10, 11
pinMode( 10, OUTPUT );
analogWrite ( 10, 128 );
南開科大電子工程系18
shap
e th
e fu
ture
南開科大電子工程系19
Lab 1
實驗目的
熟用數位輸出控制
讓S4A Sensor board D11 LED每0.5秒閃爍
參考檔案:led_do.adp
shap
e th
e fu
ture
led_do.adp
南開科大電子工程系20
shap
e th
e fu
ture
南開科大電子工程系21
Lab 2
實驗目的
熟用類比輸出控制
讓S4A Sensor board D10 LED由最亮每0.1秒漸暗,之後循環
參考檔案:led_ao.adp
shap
e th
e fu
ture
led_ao.adp
南開科大電子工程系22
shap
e th
e fu
ture
Arduino輸入控制
Digital INPUT
Range: ??
PIN# -- 0 to 13
pinMode( 2, INPUT );
if ( digitalRead ( 2 )) {
}
Analog INPUT
Range: ??
PIN# -- 0 to 5
pinMode( 0, OUTPUT );
i = analogRead ( 0 );
南開科大電子工程系23
shap
e th
e fu
ture
南開科大電子工程系24
Lab 3
實驗目的
熟用數位輸入控制
按下S4A Sensor board D2開關時, D11 LED亮;放開D2開關時,D11 LED不亮
參考檔案:sw_led.adp
shap
e th
e fu
ture
sw_led.adp
南開科大電子工程系25
shap
e th
e fu
ture
南開科大電子工程系26
Lab 4
實驗目的
熟用類比輸入控制
使用S4A Sensor board A0可變電阻調整D10 LED亮度
S4A Sensor board A0可變電阻讀值介於0~1023
參考檔案:vr_led.adp
shap
e th
e fu
ture
vr_led.adp
南開科大電子工程系27
shap
e th
e fu
ture
光敏電阻
南開科大電子工程系28
光線照射時,CDS內原本處於穩定狀態的電子受到激發成為自由電子。所以光線越強,產生的自由電子也就愈多,電阻值就會變⼩
註:受光時,S4A Sensor board A0光敏電阻讀值⼤
shap
e th
e fu
ture
南開科大電子工程系29
Lab 5
實驗目的
熟用S4A Sensor board A0光敏電阻輸入控制
類比輸入控制、數位輸出
利用S4A Sensor board A0光敏電阻當作輸入裝置,當外界亮度比設定值⼩時讓S4A Sensor board D11 LED亮,否則讓LED亮燈號熄滅
設定值⼤⼩須根據現場環境調整
參考檔案:cds_led.adp
shap
e th
e fu
ture
cds_led.adp
南開科大電子工程系30
shap
e th
e fu
ture
蜂鳴器
南開科大電子工程系31
簡單的聲音輸出裝置
透過振動頻率控制,可輸出簡單的音階
音階 Do Re Mi Fa So La Si 低音 261 294 329 349 392 440 493中音 523 587 659 698 784 880 988高音 1046 1175 1318 1397 1568 1760 1976
shap
e th
e fu
ture
南開科大電子工程系32
Lab 6
實驗目的
熟用S4A Sensor board D9蜂鳴器輸出控制
數位輸入控制、數位輸出
按⼀下S4A Sensor board D2按鍵讓D9蜂鳴器發出下課鐘聲
參考檔案:buzzer_music.adp,buzzer_music.ino
Mi Do Rei So (低 8)
So (低 8) Rei Mi Do
Mi Rei Do So (低 8)
So (低 8) Rei Mi Do
shap
e th
e fu
ture
buzzer_music.adp
南開科大電子工程系33
shap
e th
e fu
ture
buzzer_music.ino
南開科大電子工程系34
int sound_pin = 9; // 蜂鳴器void setup(){
pinMode( 11 , OUTPUT);}
void loop(){if (digitalRead( 2)){sound(659, 523, 587, 392);sound(392, 587, 659, 523);sound(659, 587, 523, 392);sound(392, 587, 659, 523);
}}
void sound (int n1, int n2, int n3, int n4){// play a note on pin 9tone(sound_pin, n1, 1000);delay(1000);tone(sound_pin, n2, 1000);delay(1000);tone(sound_pin, n3, 1000);delay(1000);tone(sound_pin, n4, 1000);delay(1000);noTone(sound_pin);delay(1000);
}
shap
e th
e fu
ture
麥克風
南開科大電子工程系35
將聲波轉換為電子訊號
動圈式麥克風(Dynamic Microphone)當聲波進入麥克風,振膜受到聲波的壓力而產生振動,與振膜連接在⼀起的線圈則開始在磁場中移動產生感應電流。
電容式麥克風(Condenser Microphone)當聲波進入麥克風,振動膜產生振動,因為基板是固定的,使得振動膜和基板之間的距離會隨著振動而改變電容值
聲音愈⼤讀值愈⼤
shap
e th
e fu
ture
南開科大電子工程系36
Lab 7
實驗目的
熟用S4A Sensor board A2麥克風輸入控制
類比輸入控制、數位輸出
利用麥克風偵測拍手聲音,當聲音輸入值⼤於設定值時(狀態)讓燈號亮,再拍⼀次則熄滅
需要debounce機制
shap
e th
e fu
ture
mic_led.adp
南開科大電子工程系37
shap
e th
e fu
ture
Arduino Language Reference
南開科大電子工程系38
http://arduino.cc/en/Reference/HomePage
39