近幾年來,在書店中帶有“電子”、“編程”等關鍵詞的書籍和雜志越來越多。當您翻看這些書籍的標題時,不時地會看到“Arduino”和“Raspberry Pi”之類的詞。
不過,當聽到或看到“Arduino”和“Raspberry Pi” 時,可能有不少人會想:“哦,好像在哪兒聽到過。只是不清楚它究竟是什么”。
本文將圍繞“Arduino”,具體介紹以下幾個方面的內容:、
什么是“Arduino”?
Arduino與Raspberry Pi有什么區別?
Arduino的種類有很多,在選擇時應該注意什么?
目錄
什么是Arduino?
Arduino的歷史和名稱由來
Arduino和Raspberry Pi,使用哪個比較好?
Arduino與Raspberry Pi的區別
如何掌握Arduino的使用方法?
Arduino的典型產品列表以及每種產品的使用方法
Arduino還能這樣用!
Arduino竟然有這些功用!
歡迎來到電子世界
1. 什么是Arduino?
Arduino是一款開源微控制器開發板,即便是沒有豐富的電氣和編程知識的電子設計初學者也很容易上手。首先,聽到“Arduino”,應該能夠想起下圖所示的外觀,對該產品有個大致印象。
Arduino開發板示例(Arduino UNO)
這是將各種電子元器件配置在電路板上的開發板,外觀相似的產品包括在電腦和電視機等內部常用的被稱為“電路板”、“印刷電路板”、“PCB”的產品。其中,將載有能夠通過編程改變其工作的“微控制器”(Microcontrollers或Microcomputers的簡稱)芯片的電路板稱為“微控制器開發板”,照片中的Arduino也是微控制器開發板的一種,也被稱為“Arduino開發板”。
然而,“Arduino”這個名稱不僅僅包括“Arduino板”,還包括用來編程的被稱為“集成開發環境(IDE)”的軟件。
Arduino IDE
這種用于編程的軟件通常被稱為“Arduino IDE”,在需要區分板卡和軟件時,可以分別稱它們為“Arduino板”和“Arduino IDE”。
2. Arduino的歷史和名稱由來
“Arduino”是在2003年意大利Interaction Design Institute Ivrea(IDII,交互設計學院)的學生Hernando Barragán(埃爾南多·巴拉甘)的碩士論文研究項目“Wiring”基礎上開發而成的。“Wiring”的研究目的是通過將復雜的機制抽象化,使藝術家和設計師等在創作作品時可以在沒有電子工程知識的情況下也能操作微控制器,從而能夠將精力集中在實現最初的目的(作品制作等)上。
Arduino的開發項目始于其后的2005年。Barragán的碩士論文導師Massimo Banzi 與David Mellis、David Cuartielles等人一起開始了名為“Arduino”(拉取Wiring的源代碼)的項目。
“Arduino”這個名稱來源于Arduino項目的創始人Massimo Banzi喜歡去的一家名為“Bar di Re Arduino”的酒吧,是根據酒吧名稱將電路板命名為“Arduino”的。
此后,Arduino開始風靡全球,并在“創客運動”(一種推動利用3D打印機等數控設備創作作品的活動)的風潮下,成為世界上最受歡迎的微控制器開發板之一。
追溯Arduino的發展歷史,可以看到很多關于Arduino團隊(Arduino LLC 和 Arduino SRL)的內部分裂以及商標和制造權問題相關的文章。事情最終通過兩者的和解而落下帷幕,對于我們這樣的Arduino用戶來說,這個結局(從對Arduino板的流通和Arduino IDE的更新等的影響角度來說)的確讓我們松了一口氣。
3. Arduino和Raspberry Pi,使用哪個比較好?
如今,電子制作的新手通常是一邊參考諸如“用Arduino制作……”、“用Raspberry Pi實現……”等標題的文章和書籍,一邊進行基礎練習。
但是,這里面也有一些人會有這樣的疑問:“那么,我應該買哪一個比較好呢……?”不知道該選擇哪一個才好。在這里,我首先簡單介紹一下Arduino和Raspberry Pi的區別。
Arduino屬于“微控制器開發板”,Raspberry Pi屬于“單板計算機”。前面已經介紹過微控制器開發板。我認為將單板計算機解釋為“凝聚了必備最少功能的計算機”,可能更容易理解。基于這樣的視點,讓我們從幾個角度來探討應該使用Arduino還是Raspberry Pi。
Raspberry Pi 4 Model B
4. Arduino與Raspberry Pi的區別
可能有人認為,“如果只是微控制器和計算機之別的話,那么計算機不是可以向上兼容嗎……?”但是,實際上還涉及到它們各自適用的用途,以及它們在不同應用中的易用性。
① 有無操作系統(OS)
例如,從內部軟件的運行來看,存在Arduino沒有OS、Raspberry Pi有OS的特點區別。
這并不是可以簡單地說“有操作系統(OS)更好”,有時候,在操作系統中運行的其他應用程序也可能會影響到希望實現的目標工作,在使用計算機時,時常會發生死機等問題,這些都是需要考慮的因素。當然,如果您希望執行Linux上運行的程序,就需要選擇Raspberry Pi了,因為Arduino無法執行這類程序。
② 作用不同
事實上,微控制器有微控制器應該做的工作,計算機有計算機應該做的工作。Raspberry Pi可以結合LED和開關等的輸入和輸出實現很多事情,因此很難通過能做什么或不能做什么來考量,但如果按照各自發揮的不同作用來考慮,就可以看清什么情況下該使用Raspberry Pi,什么情況下該使用Arduino。
例如,Arduino可以發揮以下作用:
LED和電機的控制
如果您需要處理此類電氣信號(更接近硬件),選擇Arduino比較好。
此外,Raspberry Pi可以發揮以下作用:
網絡通信(有線/無線局域網)
將影像輸出到顯示器或投影儀等
使用相機或攝像頭(圖像處理等)
如果您需要完成這類由計算機處理的工作(更接近軟件),應該選擇Raspberry Pi。
5. 如何掌握Arduino的使用方法
如果您的身邊有人能教您如何使用Arduino,能夠邊問邊學是比較好的,但是通常不好意思請人多次一對一地教自己,而且并不是每個人的身邊都有這種專業人士,所以如果可以的話,能找到自學的方法就更好了。
筆者推薦以下兩種方法:
① 買書,按照書中的內容學習
② 參考網上的文章,按照相關介紹學習
① 通過書籍學習時
如果通過看書(技術書和入門書)來學習,就需要在書店或網店購買相應的書籍,雖然買書需要花錢,但大多數書都是面向從零開始的初學者的,內容非常細致易懂。而且,還有一個好處是“只要按這本書學習,基本可以學會”,而如果自己在網上搜索各種資源自學的話,容易遇到一些瓶頸。書籍的好處在于,您可以通過閱讀它們獲取新知識,而無需自己在網上搜索。
下面我列舉一些講解Arduino使用方法的書,您可以參考用戶評價和相關書籍來選用。
開始使用Arduino吧 第3版
有這本書足夠!用Arduino開始電子制作 超簡單入門教程 修訂版第3版
② 通過網上資源學習時
如果您通過網上搜到的資源學習,會發現有很多免費的資源可用,因此比通過書籍學習的成本更低。如果能找到精心編寫的文章,就可以獲得豐富的信息來提升技能,所以如果您習慣于在網上查找資料,就可以搜索所需的信息,并從不同角度了解相關信息的講解。
下面我列舉一些關于Arduino入門的文章,建議以閱讀這些文章為主,當遇到感興趣的關鍵詞時,可以隨時搜索以進一步了解。
如何開啟Arduino之旅
介紹了Arduino新手應該怎樣購買Arduino主機、如何安裝Arduino IDE、以及如何使LED發光。我們可以參考這個步驟開始Arduino之旅!
Arduino – Lighting up LEDs
創建程序
使用面包板將LED和電阻器連接到Arduino,點亮多個LED并使多個LED交替閃爍。要逐漸習慣程序和布線的處理方法。
Arduino – Sketch, Taking a Look at Programs
使用光傳感器
嘗試使用傳感器來代替人類的五種感官。在這里,使用光傳感器來感知周圍環境的亮度并使之與LED的亮度建立關聯。
Let’s use Arduino with a light sensor!
6. Arduino的典型產品列表以及每種產品的使用方法
下面介紹一下需要購買Arduino板時要考慮哪些要點。市場上有很多種Arduino板,不同的產品類型其價格和功能也不同。在這里我根據常見的需求來介紹四種Arduino板。
① 只是想開始練習
對于沒有特別想要制作的作品,“只是想先試用一下Arduino!”的各位,我建議從“Arduino UNO”開始。
Arduino UNO
“Arduino UNO”是最基本的開發板,也被認為是Arduino系列的代表。既然是“代表”,其技術書等書籍和在網上、雜志等上面的文章和信息是最多的,支持Arduino的擴展電路板(被稱為“擴展板”)也很多。
Arduino UNO的輸入/輸出端口(輸入/輸出引腳)配有針座,在其中插入跳線即可與面包板等相連接。
在網上搜索有關Arduino的信息時,很多都是以Arduino UNO為例進行說明的,所以如果您使用的是其他類型的Arduino板,就需要通過對照引腳編號等來進行組裝接線等工作。而如果您使用的是Arduino UNO,則可以直接使用其接線信息和程序代碼。
② 想要大量的輸入輸出
在您想要控制很多LED、想要檢測很多開關、想要驅動很多電機等情況下,如果“Arduino UNO”的輸入/輸出端口數量不夠,“Arduino Mega”是個不錯的選擇。它比UNO要貴。
Arduino Mega
“Arduino Mega”的輸入/輸出端口比UNO更多,使用“Arduino Mega”可以增加相應數量的傳感器(當連接很多LED時,需要注意電流消耗情況。這一點不僅針對Mega,而是所有微控制器通用的注意要點)。
在UNO中,只有一組串行通信端口(也用作USB接口),但在Mega中,除了一組USB復用接口之外,還有三組端口,所以當您想在微控制器之間進行通信時,或想要進行Bluetooth/Zigbee等串行通信時,建議使用Mega。
由于常用引腳的位置與“Arduino UNO”基本相同,因此很多與UNO兼容的擴展板也適用于Mega。
與UNO相比,Mega可以進行PWM輸出的引腳較多,所以如果希望使用PWM信號驅動的電機數量較多時,使用Mega更好。如果以后想用Arduino來控制機器人,那么我認為Arduino Mega值得擁有。
③ 想嵌入小型作品中
如果您想將其嵌入尺寸很小的機器人或設備中,建議使用推薦尺寸比UNO更小的緊湊型“Arduino Micro”。它比UNO便宜一些。
Arduino Micro
“Arduino Micro”的引腳上配有排針,可以直接將微控制器開發板插入面包板。如果將針座焊接在萬用電路板等上面,也可以在不使用跳線的情況下牢固地接線。
萬用電路板
使用萬用電路板時,應遵循電子作品創作界中的一些默認文化,比如需要在要進行焊接的有銅箔的面(圖案面)進行布線,在進行LED或電阻器切腳時,不要丟掉這些腳,而是將其靈活運用于電路板上的布線。
④ 想自制鍵盤和鼠標
近年來,在電子作品創作界,“自制鍵盤”開始流行起來。通過自己制作電腦鍵盤,可以制作出符合自己要求的理想鍵盤,或具有有趣功能的原創鍵盤。使用“Arduino Leonardo”,可以開發鍵盤和鼠標等HID設備。Arduino Leonardo開發板的形狀類似于UNO,但它是一種不同的Arduino板。
Arduino Leonardo
“HID”是“Human Interface Device”的縮寫,一般是指電腦鍵盤或鼠標等。特別是“符合HID規范的設備”,當通過USB連接到電腦時,無需安裝產品固有的設備驅動程序即可使用。Arduino Leonardo中配備了名為“ATmega32U4”的微控制器,它可以充當符合HID規范的設備使用,因此可以用作鍵盤或鼠標。
如果其他的Arduino板中也配有ATmega32U4微控制器,那么也可以用來開發HID,就像前面介紹的Arduino Micro中也配有ATmega32U4,所以也可以使用Arduino Micro來自制鍵盤和鼠標。如果您想在面包板上制作原型,選擇Leonardo比較好,如果您想在萬用電路板上進行焊接,建議選擇Micro。
7. Arduino還能這樣用!
隨著Arduino的出現,微控制器控制不再僅僅局限于制造商制造的家電等產品,還被越來越多地應用在業余愛好者活躍的機器人、藝術、DIY等個人創作領域。下面介紹三種與這些領域相關的使用了Arduino的產品(作品)。
TINKERKIT BRACCIO ROBOT
這是Arduino官方開發的機械臂套件。機械臂可以通過6個伺服電機自由移動,并且可以使用Arduino靈活控制。教育機器人套件也有很多種,但其中大多數都使Arduino。
Let’s start having fun with Braccio.mp4
※此鏈接為Youtube視頻
Plastic Reflectic
這是一個以海洋垃圾問題為主題的裝置,旨在讓人反思塑料污染對自然環境的影響。該設備使用了多達600個防水伺服電機。就像在這類作品中的表現一樣,在用電子控制創建項目的媒體藝術展覽領域,Arduino也在大展身手。
Plastic Reflectic interactive installation for plastic soup foundation.mp4
※此鏈接為Youtube視頻
Arduino Camera Slider
這是一種使相機自動滑動的設備。通過使用Arduino控制兩個步進電機來實現相機的往復和旋轉。使用Arduino進行 DIY的一大好處是可以按照自己喜歡的尺寸、通過自己對運行的調整來制作自己想要的設備。
Homemade Motorized Camera Slider.mp4
※此鏈接為Youtube視頻
8. Arduino竟然有這些功用!
最后,我想介紹一些此前在Device Plus中發布過的關于使用Arduino進行電子創作的文章。許多作者正在用自己獨特的創意在制作各種有趣的設備,希望這些項目能給您帶來啟發。
【用Arduino和距離傳感器制作小雞賽車!】
這是一款可以在游戲(所謂的“小雞賽跑”)中玩的機器人,它會自動向墻壁行駛,當操作者按下按鈕使小雞賽車停下來時,比賽誰在離墻壁更近的位置停下來。
該項目采用超聲波距離傳感器測量距離,還具有在字符液晶顯示器上顯示距離值的功能。
在最后一刻停下來!用Arduino和距離傳感器制作小雞賽車!(第1篇)
【用Arduino和TOF距離傳感器制作甜甜圈播放器】
為了紀念留聲機的甜甜圈造型轉盤,作者開發了一款“甜甜圈播放器”,它可以使真正的甜甜圈旋轉,用距離傳感器檢測并根據形狀發出聲音。當您想要創作一個獨一無二的獨特作品時,Arduino將會是您的得力助手。
用Arduino和TOF距離傳感器制作甜甜圈播放器【后篇】
【用Arduino和FeliCa讀卡器制作出入登記系統】
這是一個使用FeliCa讀卡器(可以與FeliCa兼容交通IC卡或智能手機進行通信)制作的、可以識別個人并記錄進出日期和時間的系統。當您在想“真希望有這樣的東西/功能……”時,使用Arduino來實際制作出來其實是一件很棒的事。
用Arduino Mega進行電子制作!用FeliCa讀卡器制作一個出入登記系統
9. 歡迎來到電子作品創作世界
通過以上內容,我們已經了解了Arduino的特點、選擇方法和作品實例。作為個人,我們能夠創作世界上獨一無二的作品,這也是電子作品創作的真正樂趣所在。
如果您有任何想法,比如“要是有這樣的東西就好了”或“要是能做出這樣的東西一定會很有趣吧”,那就使用Arduino來嘗試實現它吧!
河島 晉
1991年出生于日本福岡縣北九州市。從九州工業大學研究生畢業后,一直從事電子制作套件的開發、機器人競賽的運營、活動中的制作業務等工作。目前,主辦了數字制造社區“藥院Make部”,同時還在福岡縣福岡市推動制造活動。多次參加機器人大賽和作品競賽。代表作有“論文守護者”和“再睡五分鐘鬧鐘”。
審核編輯黃宇
-
微控制器
+關注
關注
48文章
7627瀏覽量
151800 -
led
+關注
關注
242文章
23332瀏覽量
662146 -
IDE
+關注
關注
0文章
339瀏覽量
46805 -
開發板
+關注
關注
25文章
5110瀏覽量
97893 -
Arduino
+關注
關注
188文章
6477瀏覽量
187491
發布評論請先 登錄
相關推薦
評論