一直以來,許多設計師、創客親們都十分青睞使用Arduino來設計作品,但是對那些完全沒有編程基礎的小白們(尤其是小學生和初中生)來說,編程簡直就和看天書一樣,的確不太好懂,圖形編程軟件S4A和ArduBlock因此應運而生。本篇我們就主要給大家分析一下S4A。 S4A,全名“Scratch For Arduino”,顧名思義,它是在Scratch的基礎上開發完成提供了對Arduino的支持。 Scratch是一款由麻神理工學院(MIT) 設計開發的一款面向少年的簡易編程工具。使用者可以不認識英文單詞,也可以不會使用鍵盤。構成S4A程序的命令和參數都是通過積木形狀的模塊來實現的。 其實,Scratch自己也有Scratch Board,但比較難買到,并且價格很高,而Arduino擁有基于開放源碼的軟硬體平臺,又設計了完善的串口通訊接口,落在廣大創客的眼里,這兩者簡直就是天生一對! S4A這款軟件不再局限于傳感器板和樂高玩具,能夠利用Arduino開發板來創作出更多更加強大的互動作品。 不過在使用之前大家都有一番好奇,S4A和Arduino IDE這兩款軟件究竟有什么樣的區別?在學習過程中究竟是使用S4A呢,還是使用Arduino?不如我們就一起來看看兩者的對比吧! 從圖中,我們不難發現,同樣的程序內容,S4A是通過圖像界面來實現Arduino開發板的基本功能,看起來更直觀,并不用涉及編程語言的學習,使用起來十分簡單。 但是在開發環境配置上,由于S4A依賴于Arduino IDE燒寫固件后才能運行,因此不僅需要下載安裝S4A工具,還需要同時安裝Arduino IDE并燒寫S4A固件。 由于經過圖形界面的封裝,S4A將每個管腳的功能已固定,導致在實現更多相同管腳功能(如電子琴需要7個數字電平檢測)、更復雜的器件操作(如LCD屏)、和Arduino類庫使用(如SoftSerial)上存在較多局限性。 由上表,我們也可以看出,S4A可以培養和訓練學習者的編程邏輯,難度較低;而Arduino IDE的使用中需要學習C語言這種舉足輕重的編程語言,相對而言增加了一些學習難度。 如果學習者對編程和硬件控制有興趣,學習Arduino IDE對于童鞋們能夠控制更多電子器件、理解軟件本質和后續軟件開發具有非常深遠的意義。 附:S4A使用詳細介紹 S4A官網 http://s4a.cat 系統支持 Windows Mac Linux(Debian) Linux(Fedora)(version 1.5) Raspbian (Debian for RaspberryPi)(version 1.5) 開發板支持 Arduino Diecimila,Duemilanove and Uno 管腳功能(Arduino Uno) Digital read: digital pins 2 and 3 Digital write: digital pins 10,11 and 13 Analog read: analog pins 0~5 Analog write: digital pins 5,6 and 9 Servo control: digital pins 4 and 7(continuous rotation) digital pins 8 and 12(standard) 開發環境準備 a. S4A工具下載安裝 http://s4a.cat b. Arduino IDE工具下載安裝(附帶Atmel芯片驅動) http://www.arduino.org.cn/software#ide c. S4A固件下載 http://vps34736.ovh.net/S4A/S4AFirmware16.ino d.使用Arduino IDE工具將S4A固件(非bootloader)燒寫入Arduino Uno開發板 e.打開S4A工具,然后使用USB轉接線將Arduino Uno開發板連接至電腦,S4A會自動搜索到開發板,工具將自動多出開發板相關使用接口 |