標籤:

智能小車一《arduino是什麼》

一、Arduino是什麼

Arduino是一個能夠用來感應和控制現實物理世界的一套工具。 它由一個基於單片機並且開放源碼的硬體平台,和一套為Arduino板編寫程序 的開發環境組成。

Arduino可以用來開發交互產品,比如它可以讀取大量的開關和感測器信號,並且可以控制各式各樣的電燈、電機和其他物理設備。Arduino項目可以是單獨的,也可以在運行時和你電腦中運行的程序(例如:Flash,Processing,MaxMSP)進行通訊。Arduino板你可以選擇自己去手動組裝或是購買已經組裝好的;Arduino開源的IDE可以免費下載得到。

二、Arduino的優點:

· 便宜 - 和其它平台相比,Arduino板算是相當便宜了。最便宜的Arduino版本可以自己動手製作,淘寶上有組裝好的成品,價格在20元左右。

我在淘寶的這裡買過,item.taobao.com/item.ht

· 跨平台 - Arduino軟體可以運行在Windows,Macintosh OSX(Mac),和Linux操作系統。大部分其它的單片機系統都只能運行在Windows上。

· 簡易的編程環境 - 初學者很容易就能學會使用Arduino編程環境,同時它又能為高級用戶提供足夠多的高級應用。對於老師們來說,一般都能很方便的使用Processing 編程環境,所以如果學生學習過使用Processing 編程環境的話,那他們在使用Arduino開發環境的時候就會覺得很相似很熟悉。

· 軟體開源並可擴展 - Arduino軟體是開源的,對於有經驗的程序員可以對其進行擴展。Arduino編程語言可以通過C++庫進行擴展,如果有人想去了解技術上的細節,可以跳過Arduino語言而直接使用AVR C 編程語言(因為Arduino語言實際上是基於AVR C的)。類似的,如果你需要的話,你也可以直接往你的Arduino程序中添加AVR-C 代碼。目前我給小車加了一個C語言的串口協議,這就是C語言的擴展。

· 硬體開源並可擴展 - Arduino板基於 Atmel 的ATMEGA8 和ATMEGA168/328 單片機。Arduino基於Creative Commons 許可協議,所以有經驗的電路設計師能夠根據需求設計自己的模塊,可以對其擴展或改進。甚至是對於一些相對沒有什麼經驗的用戶,也可以通過製作試驗板來理解Arduino是怎麼工作的。

·大大降低了軟體開發難度,適宜非專業愛好者使用

三、Arduino的缺點:

Arduino基於AVR平台,對AVR庫進行了二次編譯封裝,把埠都打包好了,寄存器啦、地址指針之類的基本不用管。因為是二次編譯封裝,代碼不如直接使用AVR代碼編寫精練,代碼執行效率與代碼體積都弱於AVR直接編譯。

推薦閱讀:

電腦還能這麼小?指甲蓋大小的電腦也能控制機器人!
學習單片機的過程
軟體工程結構2----代碼層級
eM4 OS設計中的可重入性

TAG:單片機 |