Arduino 的開源特性,使得它有一大批擁戴的粉絲,互聯(lián)網(wǎng)上也出現(xiàn)了很多學習的社區(qū)。積木的編程方式很大程度上降低了學習者的門檻,不需要專業(yè)的知識, 不需要工科的背景,只要你喜歡,你就可以玩。尤其是現(xiàn)在重視下一代培養(yǎng)的大人們,這是你和孩子進行親子互動最好的方式之一。
1. Arduino 單片機介紹
Arduino 是源自意大利的一個開放源代碼的硬件項目平臺,該平臺包括一塊具備簡單 I/O 功能的電路板以及一套程序開發(fā)環(huán)境軟件。Arduino 可以用來開發(fā)交互產(chǎn)品,比如它可以讀取大量的開關(guān)和傳感器信號,并且可以控制電燈、電機和其他各式各樣的物理設(shè)備;Arduino 也可以開發(fā)出與 PC 相連的周邊裝置,能在運行時與 PC 上的軟件進行通信。
Arduino 是一個開放源碼電子原型平臺,擁有靈活、易用的硬件和軟件。要給 Arduino 下一個最準確的定義,最好用一些實例來描述。你想當咖啡煮好時,咖啡壺就發(fā)出“吱吱”聲提醒你嗎? 你想當郵箱有新郵件時,電話會發(fā)出警報通知嗎? 想要一件閃閃發(fā)光的絨毛玩具嗎?想要一款具備語音和酒水配送功能的 X 教授蒸汽朋克風格輪嗎? Arduino 都可以實現(xiàn)。
Arduino 真正騰飛的原因是其能夠?qū)崿F(xiàn)將模擬輸入轉(zhuǎn)換為數(shù)字輸入,換言之,可以將光線、 溫度、聲音或者市場上已有的任何低成本的傳感器信號輸入,Arduino 都能識別。對于數(shù)字傳感器,Arduino 支持 SPI( 高速同步串行口)和 I2C 總線。這一功能覆蓋市場上 99%的 傳感器。使用其他開發(fā)平臺是不易實現(xiàn)的——想想如果把一塊 Beagleboard(偉大的產(chǎn)品) 和Arduino 綁在一起,僅僅是為了獲得傳感器的數(shù)據(jù),那真是太奇怪了!
傳統(tǒng)開發(fā)板往往過于復雜,有很多附件,例如液晶顯示屏、按鈕、發(fā)光二極管、7段數(shù)碼管等等。開發(fā)板展示了其一切功能。Arduino 板上顯示的功能數(shù)量是絕對最小值,如果要實現(xiàn)功能擴展,只需增加 Shield(盾)。Arduino Shield 有成百上千,從液晶顯示屏到無線上網(wǎng)技術(shù),但要增加多少 Shield 由用戶自己定。擴展 Shield 的功能也容易,對于制作擴展 Shield 功能的人還會有商業(yè)上的刺激。
Arduino 開發(fā)板不是由芯片制造商設(shè)計的。為什么強調(diào)這點呢?因為芯片制造商為了突出自己的產(chǎn)品與眾不同,他們常常會添加一些奇怪的東西。而 Arduino 強調(diào)微控器間的共同性而不是差異性。這就意味著 Arduino 是一個絕佳的初學者平臺,只要在 Arduino 板上可以做的事情,在其他任何的微控制器上都可以做,這一基本特征將伴隨你很長時間。
2.Arduino 驅(qū)動的安裝及程序的燒寫
本文中的開發(fā)板是 Funduino UNO R3 的 開發(fā)板,完全兼容官方版本,看實物:
我們先來下載 Arduino 的開發(fā)軟件,web 地址:http://arduino.cc/en/Main/Software
下載下來的文件是一個 arduino-1.0.zip 的壓縮文件夾,解壓出來到硬盤。
將? Funduino UNO? R3 開發(fā)板通過 USB 線連接到 Windows 時,就會提示有名為“Arduino UNO R3”的新 USB 設(shè)備找到。
接著Windows 會引導我們進入“找到新的硬件向?qū)А贝翱冢x取其中的“否,暫時不”選項后單擊“下一步”按鈕。
接下來的步驟需要安裝 Funduino UNO R3 所需的驅(qū)動,選取其中的“從列表或指定位置安裝(高級)”選項后單擊“下一步”按鈕。
Funduino UNO R3 驅(qū)動放在 Arduino 1.0 安裝目錄下的 drivers 目錄中,我們需要為 Windows指明該目錄為安裝驅(qū)動時搜索的目錄。單擊“下一步”按鈕后,Windows 就開始查找并安裝 Arduino 驅(qū)動程序。如果一切正常的話,我們將看到如下的成功界面。
Arduino 驅(qū)動安裝成功之后,我們可以在 Windows 設(shè)備管理器中找到相應(yīng)的 Arduino 串口。
3.ArduBlock 介紹
ArduBlock 軟件是 Arduino 官方編程環(huán)境的第三方軟件,目前必須依附于 Arduino 軟件下運行,區(qū)別于 Arduino 文本式編程環(huán)境,ArduBlock 是以圖形化積木搭建的方式編程的,這樣的方式會使編程的可視化和交互性加強,編程門檻降低,即使沒有編程經(jīng)驗的人也可以嘗試給 Arduino 控制器編寫程序。
一個 LED 閃爍程序,下面分析一下程序:
主程序 do→循環(huán){設(shè)定 1 引腳輸出高電平→延時 1 秒→設(shè)定 1 引腳輸出低電平→延時 1 秒.}
如果你是高手請回避: 圖形對應(yīng)的 C 語言void setup()
{
pinMode( 1 , OUTPUT);
}
void loop()
{
digitalWrite( 1 , HIGH ); delay( 1000 ); digitalWrite( 1 , LOW ); delay( 1000 );
}
興致來了吧,馬上安裝。
下載地址:http://cloud.github.com/downloads/taweili/ardublock/
ardublock-all.jar
先下載,打開Arduino1.0,點擊 File,再點擊 Perferences。
我們可以看到彈出的框,記住下面這個路徑
D:\我的文檔\Arduino\tools\Ar
duBlockTool\tool
進入看看你的文件夾有沒有這個路徑,如果沒有就一直創(chuàng)建文件夾,然后把你下載回來的
壓縮包(其實是 JAVA 軟件)復制在最后的文件夾里面,就安裝完成了。
打開Arduino 1.0 開發(fā)環(huán)境,Tools→ArduBlock 這個選項就是
那ArduBlock 究竟怎樣使用呢?ArduBlock 模塊被分為不同的類,“控制”區(qū)的功能是一塊控制結(jié)構(gòu)。
1. 控制
2. PIN 腳
這些模塊可以在你的 Arduino 模板作為虛擬引腳。
3. 數(shù)字,常量和變量
4. 運算
此項目包括邏輯運算符和數(shù)學運算
5. 常用命令
這些在程序編寫中是常用的。
6. 模塊
每個模塊都代表一種可直接使用的硬件,它可以直接作為硬件的一部分。