--時間:2014.6.11講者:江昭漢講題:Arduino 4 Scratch
今天請到的講師是一位在國小教小朋友寫code的老師
這次請他來教我們實際操作Arduino以及他的coding方式
感覺超好玩的(灑花),那麼就開始吧!
今天要使用到的板子型號是Arduino Uno:
▲Arduino Uno
小巧可愛的板子,網路上其實都能找到相關資訊,這裡就不多做解釋了XD
聽說一片不到500大洋就買得到了,相當便宜呢!
是適合新手的入門款
STEP-1:下載Arduino IDE & S4A
- S4A(Scratch for Arduino):
S4A is a Scratch modification that allows for simple programming of the Arduino open source hardware platform.
也可以由講師要我們連的:台中市教育局網路中心數位教學平台
路徑為「首頁 > 科技教育《開放硬體》 > S4A介紹與入門 > S4A程式介紹 > 官版資源下載(本站下載)」
進入到官版下載區後下載第1、4、6個檔,分別是:
▲下載後會看到這三個檔
STEP-2:安裝Arduino驅動
將Arduino插上電腦後會發現找不到驅動,這時候就要來手動安裝了將arduino-1.0.5-r2-windows.zip解壓縮
(存檔路徑需無中文字,否則到時安裝會出現錯誤)
▲這裡是將zip解壓縮到電腦C槽
之後點開「裝置和印表機」
(路徑為「開始 > 裝置和印表機」,或從控制台點開也可以)
▲點選「開始」後打開「裝置和印表機」
點開後會看到剛剛接上電腦的裝置,因為找不到驅動所以電腦無法辨別
只好來個手動安裝
▲下方有一個未指定的裝置,對他按右鍵選「內容」
▲選擇上方列「硬體」,然後點選下方「內容」
▲選擇「自動搜尋」
▲路徑的地方選擇剛剛解壓縮的資料夾,裡面的「drivers」
▲確定安裝
▲完成後會顯示該裝置的名稱以及port
這台電腦配置的port是COM3
這要記下來,因為待會兒執行IDE時會要你選擇「板子型號」和「port」
勾選正確才能讓你寫的code燒在板子上讓他跑
STEP-3:執行Arduino IDE
▲打開剛剛解壓縮完後的資料夾,執行「arduino」
▲arduino IDE開啟後的樣子
▲點選上方列「Tools」>「Board」,選擇板子型號
(今天測試的板子是Arduino Uno)
▲點選「Serial Port」,選擇電腦配置的port:COM3
(不知道是哪個port的話可以到「裝置和印表機」資料夾裡看)
▲可以看到右下角已更改成正確的資訊
安裝完之後就可以coding了
可是這樣硬幹的話好像有點累,好在有S4A可以讓我們輕鬆寫點小程式
接下來就看看要怎樣架S4A 的環境吧
STEP-4:將Arduino與S4A建立連結
開剛剛下載的S4AFirmware15.ino來將Arduino和S4A建立連結
這樣要使用Arduino就可以用S4A直接「拉」code了! 相當方便又易懂
▲點兩下「S4AFirmware15.ino」
▲打開後一樣要先改Board和Port(可看STEP-3步驟),
然後點左上角的箭頭圖案compile
▲正在complie
▲完成後會看到"Done uploading"
complie成功後就可以把視窗關掉,然後執行剛剛下載的S4A15.exe
▲執行「S4A15.exe」
▲之後就會看到S4A的介面,
可以看到右邊有個訊息是正在搜尋Arduino板子
STEP-5:透過S4A寫程式
S4A是一款簡單、易懂的程式介面
很適合給還不懂語法的小朋友使用,用它來寫些小程式來玩
讓他們先熟悉寫程式的邏輯,而不用先煩惱語法到底該怎麼寫
(開始玩之前還要先背一堆語法,誰受得了XD)
先以圖示介紹一下這個介面上的基本功能:
左上方的「指令分類」放著寫code會用到的指令,想要什麼就直接去裡面抓
抓出來的指令就丟在「程式碼放置區」
程式碼寫好後,如果你的起頭有放「當[旗標]被點一下」的觸發條件
你就按一下右上角的「Run」旗標就可以執行程式了
想停下來就按隔壁的「Stop」紅色點點
右上角可以拖曳的視窗顯示的是Arduino板子上的即時資訊
如果你有使用到板子上的port的話(ex接了一個燈泡、接了一個可變電阻、接了一個按鈕)
就可以從這裡看到那些port的資訊
再來看到圖上的程式碼
它是一個小小的測試程式:讓板子上的燈泡持續亮滅
有想法的人就會知道要讓燈泡亮滅就是先把燈泡打開(trun on),開一段時間後再關掉(trun off),要讓它持續的話就是把它包進一個迴圈(loop)裡面讓他一直執行上述的動作
用演算法呈現:
|START|LOOP:| LIGHT TURN-ON| WAIT 1 sec| LIGHT TURN-OFF| WAIT 1 sec| GOTO LOOP
如此,我們將它用S4A來拉就變上圖那樣 (指令可以到左上角的分類區去選擇)
因為板子上的燈泡位置在port13,所以選擇digital時要選13
▲拉完程式碼的樣子,按下右上角的「Run」程式就會開始跑了
▲板子上的情形,真的有燈在閃爍!
也可以外接LED
這裡使用三色共陰LED來做測試
▲三色共陰LED的外接圖
(從左到右分別是:B(Blue)、G(Green)、GND(接地)、R(Red))
(從左到右分別是:B(Blue)、G(Green)、GND(接地)、R(Red))
將GND插到寫有「GND」的port
然後看你想亮哪個顏色就把那個顏色的腳插進port13
(插其他port也行,只是程式碼要改)
以下是測試的樣子:
然後看你想亮哪個顏色就把那個顏色的腳插進port13
(插其他port也行,只是程式碼要改)
以下是測試的樣子:
你也可以把四根全部插進去,然後設定讓兩、三個port同時亮
這樣就會有混色光了XD(全亮的話是白色的)
私心覺得Blue+Green最好看 <3
▲把R、G、B分別插到port11、12、13,然後讓他們交錯亮、同時亮
▲選擇「Pong」後按確定
▲會看到右上角的換成了Pong的檔
Pong這個範例呢,是藉由滑鼠控制底下的板子讓球可以回彈
不能讓球落地不然就輸了
不能讓球落地不然就輸了
然後我們其實可以外接擴充板(增加port)
再接一個可變電阻
利用電壓值的改變讓板子可以左右移動,這樣就可以取代滑鼠游標了!
變成是你只要轉動可變電阻,螢幕上的板子就會跟著動
這就是簡易版的搖桿遊戲
▲Arduino Uno的擴充板
▲接上後的樣子
此外還可以接其他東西,像是伺服機(伺服馬達)、開關...等等
▲伺服機(伺服馬達)
▲接到D8(棕紅橘分別接:G、U、S)
▲開關,可接到A0~A5其中一個(在板子上D排下面那排),
然後就可以從S4A介面右邊的Arduino資訊那看到有值改變了
/今天的課程大致上就這樣,讓我們簡單玩了一下Arduino
Arduino能做的事當然不只這些,像講師今天就帶了一台自走車
還搭配一支遙控器,讓自走車可以在接收到紅外線訊號後可以直走、倒退、左右轉
使用的就是Arduino
總覺得相當的厲害又有趣,而且板子又便宜XD
有興趣的朋友也可以自行google「Arduino」
應該有很多相關文章以及介紹
甚至還有Arduino開發機器人的討論板
有什麼問題都可以上去跟大家一起討論討論
--
[相關連結]
Arduino官網 http://www.arduino.cc/
S4A官網 http://s4a.cat/
Arduino簡介 http://yehnan.blogspot.tw/2012/02/arduino.html
Arduino Uno開箱文與安裝設定 http://yehnan.blogspot.tw/2012/02/arduino-uno.html
沒有留言:
張貼留言