Arduino 基本知識
什麼是Arduino? Arduino 是一個開放原始碼的微控制器開發板。連接上不同的感應器和控制器,再加上軟件可以做出各樣有趣的電子作品。 Note to teacher: 微控制器是一台微型電腦,芯片內已經集成微型電腦的主要部分。
Arduino Uno 硬件架構 數碼腳位 (Digital Pins) USB 連接電腦 微控制器 ATmega328 供電腳位 6 模擬腳位(Analog Pins) Note to teacher: 在Arduino上下兩旁有好幾個插口,我們稱它們為腳位。我們可以利用電線 (jumper wires) 直接插進這些腳位,從而讓Arduino跟外面聯繫。我們後面的例子都是用電線插上這些插口跟不同的感應器和電子元件聯繫的。 上排的是「數碼腳位」(Digital Pins). 它們叫數碼腳位因為這些腳位只可以輸出或輸入 0或1(但有些數碼腳位可以輸出PWM信號 -後面幾課會提到),而下排的叫「模擬腳位」(Analog Pin),它可以輸入從0到1024中間的所有信號。 供電腳位中最重要的是 GND(地線)和 5V。
Arduino可以做什麼?
Try this! 打開 “Arduino” 軟件 Step 1. Go to Tools > Board and select “Arduino Uno”
Try this! Step 2. Plug in USB cable to Notebook and Arduino Step 3. Wait until Port has a COM port shown up with “Arduino Uno” Select the COM port.
Blink Step 4. Select File > Examples > 01.Basics > Blink
Blink Step 5. Click Verify Arduino Program is called “sketch”. It is written using Arduino C language Step 6. Click Upload
Try this! Open File > Examples > Firmata > StandardFirmata
Try this! Press Verify and Upload
創建第一個電路 電線 x 3 Arduino板 220 Ohm 電阻 x 1 麵包板 LED x 1 Notes to teacher: 盒子內有兩種電阻,較大的那個是220 Ohm,較小的那個是1000 Ohm。 這個電路要用比較大的那個(即220 Ohm)。 先讓學生把要用的元件準備好。電線顏色建議如圖所示一樣,但找不到對應的其實也無所謂,只是在搭建電路時講解會比較方便而已。
麵包板 中間的每一條竪線都是內部連接的。 紅藍橫線,內部已經連接,即同一條線上任何兩點是通電的。 Note to teacher: 實際那個麵包板會小一點,但不影響操作。麵包板只要記住上下兩排各自是內部連接,而中間的每一條都是內部連接。
麵包板 注意! 記住不要把任何電子元件的腳分別插在同一條內部連接的線上,否則容易產生短路而燒掉該電子元件! !
輸出OUTPUT
創建電路 第13腳位 Pin 13 GND 地線 LED 短腳 (cathode) 連接 GND 5V (Ground) Note to teacher: 跟著這個圖插法已經可以閉合電路。幾點需要留意: 1. 黃色的線一端插進第13端口,另一端插到麵包板上 2. 黃色線在麵包板的一端和電阻應該是在同一條豎線上 3. 電阻的另一端和LED的長腳是在同一條豎線上 4. LED的短腳和黑線在同一條橫線上 5. 黑色那條線插到GND的插口上面 注意:LED是有方向的,長腳的是正,短腳的是負,如果長短腳翻轉來插,LED是不會亮的。 這個電路,Arduino可以控制第13端口輸出 0 (即0 V) 或 1 (即5 V) 電壓來控制經過LED的電流,從而控制LED是亮著還是關閉。
Coding101程式 打開“Coding101”的程式,並插入Arduino USB線到電腦。 ⚠️你會發現這個程式跟Scratch很相近,它其實是基於Scratch而開發的軟件。所以你學過的Scratch語句,這裡都是能用的。
連接COM端口
Device指令 這個程式多加了兩個指令區-Devices和Cloud。Devices包括所有於Arduino溝通相關的指令。
LED練習1 點擊綠旗會令LED每一秒閃動一次。
LED練習2 增加黃,紅,綠三個LED 點擊綠旗會令三個LED以黃紅綠的順序閃動,每次一秒
輸入INPUT
PWM (Pulse Wave Modulation) Arduino板上沒有模擬輸出腳位,它是利用數碼腳位加上PWM技術將數碼信號轉換成模擬信號輸出。 什麼是PWM技術?簡單來說,PWM是把數碼信號轉換成模擬信號的一種計算方法。 Note to teacher: PWM中文為脈衝寬度調變。基本來說,就是利用信號開關的對比來模擬Analog信號。
PWM原理 假設數碼腳位輸出0V,它在這段時間的平均值就是0V。 相反,如果數碼腳位有一半時間輸出0V,另一半時間輸出5V,它在這段時間的平均值就是2.5V。 0V Note to teacher: 這幾頁可以考慮只在高年級的班級演示,低年級的班級只需要知道PWM腳位是用來輸出模擬信號就夠。
PWM原理 又如果數碼腳位四分之三時間是輸出0V,四分之一時間輸出5V,它這段時間的平均值就是1.25V (= 5V * 1/4)。
PWM腳位 以上說明如果數碼腳位不斷轉換開關信號的相對比例,它可以輸出不同的平均值。 Note to teacher: 在Digital Pin下邊寫著 “DIGITAL (PWM~)”,意思是PWM腳位是那些有~在旁的腳位。
Light Sensor練習 在coding101的程式內顯示light sensor 讀數
Sound Sensor練習 對sensor叫的時候才會開燈!
CO2 探測系統
以石灰水探測CO2 測試石灰水如何改變光度 將得到的數據上載上網
Setting
Setting
Setting
Arduino Code
數據上載 上載數據上ThingSpeak
完成~!