智能小車一《arduino是什麼》
一、Arduino是什麼
Arduino是一個能夠用來感應和控制現實物理世界的一套工具。 它由一個基於單片機並且開放源碼的硬體平台,和一套為Arduino板編寫程序 的開發環境組成。
Arduino可以用來開發交互產品,比如它可以讀取大量的開關和感測器信號,並且可以控制各式各樣的電燈、電機和其他物理設備。Arduino項目可以是單獨的,也可以在運行時和你電腦中運行的程序(例如:Flash,Processing,MaxMSP)進行通訊。Arduino板你可以選擇自己去手動組裝或是購買已經組裝好的;Arduino開源的IDE可以免費下載得到。
二、Arduino的優點:
· 便宜 - 和其它平台相比,Arduino板算是相當便宜了。最便宜的Arduino版本可以自己動手製作,淘寶上有組裝好的成品,價格在20元左右。
我在淘寶的這裡買過,https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53fYMAhyo&id=523243157722&_u=71r66iq3f1f
· 跨平台 - 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:單片機 |