2014年6月12日 星期四

第十四堂課:S4A,Scratch for Arduino

其實這堂課默默讓我有種回到電機系的感覺
像是「電工廠實習」或是「電儀表實驗」
尤其是在看講師準備許多自己 DIY 製作的東西

今天這門課介紹的是 arduino
一種「單晶片微電腦」( single-chip microcomputer )或稱做「微控制器」( microcontroller )
當然也是開放原始碼,像是電路圖設計是完全開放給任何人下載使用
我們可以把微處理器想像成體積很小,記憶體容量也小,功能還有輸入輸出都相對簡單的小電腦

近幾年來竄紅
不過最主要的原因應該是在花博夢想館,「花械花開」的互動裝置頗受好評
隨著遊客的接近,去感應在他們身上穿戴的裝置,螢幕畫面產生變化

arduino UNO























arduino 有很多不同類型,這堂課使用的是 arduino UNO
基本上我之前的認知是用 Java 來寫程式去控制 arduino
不過這次我們使用 Scratch 電腦程式開發平台

Scratch 的代表物是一支貓
講者介紹的時候還大聲「喵!」叫了一下
























這個程式開發平台不需要像我們平常寫程式那樣敲敲打打
基本上只要邏輯能力好,你只需要拉取畫面上元件
把各個元件接上,如同堆積木那樣
就可以執行程式了
當然主要是針對年紀比較小,對寫程式還比較沒有概念的小朋友

Scratch 畫面,一個乒乓球遊戲

















所以 S4A,就是 Scratch for Arduino
我們先來到 臺中市教育局網路中心數位教學平台
點選「科技教育《開放硬體》」就可以看到許多跟 arduino 還有 S4A 相關的資料
詳細執行過程我就不贅述了
簡單來說我們先在 windows 手動安裝 arduino 的驅動程式( windows 沒有 arduino 的驅動程式 )
把軔體透過 USB 燒到 arduino
接下來就開啟 Scratch 來寫程式了

我們做了滿多事情
像是簡單用某個數位訊號輸出接腳來外接 LED 讓它定時閃爍
觀察數位跟類比輸入訊號值
嘗試有斷跟無斷開關
用可變電阻控制馬達轉動的角度,或是控制乒乓球遊戲的平台

當然上述有些我們有把 arduino 的板子再外接一個週邊
也是另外一個板子,雖然我不記得他叫什麼
以前朋友也跟我說過 arduino 有很多不同的週邊
可能是因為 arduino 跟這些週邊加起來也不便宜,所以學校課程好像也鮮少教這個
但是上手門檻比較低也是真的

接下來我們來看看講師到底發給我們哪些東西

外接週邊板子 + 可變電阻





















這邊我們就是把可變電阻接到一個類比訊號接腳,隨著旋轉可變電阻,類比訊號的值也會改變
值得一提的是,可變電阻的那三根線是講師自己焊上去,同時白色的底座是用 3D 印表機印出
整個觸動我電機系的回憶,只是看到焊接的銀白處,就莫名感動
老實說我很喜歡實作的感覺,很有成就感
當然成就感是建立在你做的東西有成功這件事情上

外接週邊板子 + 可變電阻 + 馬達





















這邊多了一個馬達,我們有嘗試用可變電阻控制他的角度
另外還有一個接上電腦主機 USB 的傳輸線
arduino 不需要外接電源,不管是供電還是燒程式進去,都只依靠這條線

有斷開關
我們接到一個數位訊號接腳觀察
有斷開關就是按一下,變成ON
再按一下,變成OFF

無斷開關






















無斷開關則是在按下去的時候才是ON
放開就變成OFF了
很像是智慧型手機上的電源鈕,短按待機,長按關機
無斷開關就是針對不同的按壓時間,做出不同的功能
左邊那條線,黑膠布纏繞的裡面其實還有一個小電阻
這樣才可以正常使用,不會發生問題
當然這兩個開關也都是講師自己 DIY 做出來

大致上的課程是這樣子
基本上也只是簡單玩玩
雖然感覺很簡單,但不曉得如果是國小的我,到底這個東西我能不能接受呢?
很有趣是肯定的,只是不見得有能力去組織這些程式吧
一直想起高中的 Visual Basic 電腦課,我完全不知道要怎麼寫出老師交代的東西

又想起最近資訊進步的時代
好多網路文章標題開始出現
「每個人都要學寫程式」
「國外小朋友從小就開始學寫程式」
我一點也不認同,千萬不要因為什麼東西很重要很火紅
就去逼迫孩子,強迫孩子學習
從英文這點還沒辦法讓大家理解嗎?
每個孩子都不同, 擅長的領域也都不一樣
如果自己沒有一點動機的話,那樣學東西我覺得無法抓到精髓

做自己喜歡做的事情吧,別干預別人
希望我還能繼續在這裡寫東西,繼續觸摸有關科技的事物

沒有留言:

張貼留言