Arduino 是什麼?
完全的行外 不知道怎麼理解這個玩意兒 或者可以類比下別的什麼?
創客圈中Arduino越來越火,越來越多人開始了解到Arduino。每個人接觸Arduino的時機不同,了解它可能各種不同的方面,因為我算是Arduino行業中的人員,相信能有更全面的了解。
Arduino一詞發源於義大利的伊夫雷亞(Ivrea)。伊夫雷亞的阿爾杜伊(Arduin)是約1000年前的義大利國王,在當地聲名卓著。Arduino是義大利語中的男性用名,意思是「強壯的朋友」。
這裡一句話總結Arduino
Arduino是一類便捷靈活、方便上手的開源電子原型平台,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。她不僅適用於工程師進行快速原型開發,也同樣適用於藝術家、設計師、愛好者和對於「互動」有興趣的朋友們。同時他幾乎是現代創客必備的工具。
一、Arduino是一類平台。
他包含很多的硬體以及編程軟體(IDE即編程環境)。同時還有各種各樣周邊的硬體去兼容Arduino這個平台,並且這些硬體通常都已經帶有了兼容Arduino控制器的函數庫。
二、Arduino是很便捷靈活的。
Arduino的設計初衷是讓人們更加便宜且方便的控制機器人。但是無心插柳柳成蔭,現在的Arduino已經在更多的領域展現出來他的價值,現在的Arduino擁有幾乎任何單片機都難以比擬的函數庫。且各種感測器都具有驚人的通用性,在Arduino體系下,幾乎每款控制器都能兼容。這種巨大的優勢,相信裸奔過各種不同單片機的工程師們一定有更深刻的體會。這些兼容性設計,使得Arduino雖然更多的是硬體,但是比傳統硬體離程序員甚至大眾更近了,所以現在的Arduino其實算是程序員想直接跟硬體交互的最好手段之一了(也許還有樹莓派)。
三、Arduino是開源的。
Arduino是硬體軟體都開源的。軟體開源在程序員眼中早就見怪不怪,很多著名軟體都是開源的,包括linux操作系統。開源帶來的好處也是有目共睹,人們一般認為無力不起早,但是在開源下,這個命題顯然是偽命題,一旦開源並鼓勵分享,在沒有任何實際利益的驅動下,仍會有大量的人貢獻出自己的力量,這大概是人希望得到認同,以及幫助他人的本能吧。
所以Arduino的創立者者,他們規定任何人都可以複製、重設計甚至出售Arduino板子。人們不用花錢購買版權,連申請許可權都不用。但是,如果你加工出售Arduino原板,版權還是歸Arduino團隊所有。如果你是在基於Arduino的設計上修改,你的設計必須也和Arduino一樣開源。
Arduino設計者們唯一所有的就是「Arduino」這個商標。如果你的設計也想用Arduino命名,那麼你就得支付費用。這樣做是為了保護「Arduino」這個商標不被低劣的作品損壞。
Arduino之所以能這麼紅火,有以下幾點是其他硬體平台無法媲美的。
1、其具有大量的庫。並且有不成文的規定,就是一旦你設計了一款Arduino兼容的感測器,或者執行器,那麼你必須為其寫好相應的庫函數以便於使用者調用。
2、相比於C51,STM32,等硬體平台更加親民,完全脫離了寄存器的配置,幾乎所有功能都已經有了上層庫調用,透明掉了大部分與硬體相關的操作,對於原本就熟悉程序的而不熟悉微機原理的人來說,使用起來容易很多。
3、Arduino入門教程低齡化,入門門檻很低,甚至小學生都能玩上,相比之下其他平台很少有能做到。
wiki:Arduino是一個開放源代碼的單晶元微控制器,它使用了Atmel AVR單片機,採用了基於開放源代碼的軟硬體平台,構建於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似Java、C語言的Processing/Wiring開發環境。 本人經驗:1、學習嵌入式系統快速簡易的入門方法,從其中的例子開始學習;2、具有豐富的軟體硬體資源,國內外很活躍的開源軟體硬體;3、可以快速開發出系統原型機器,產品開發要重新設計硬體並進行代碼優化;4、面向對象編程,c/c++混合編程,GNU開發方式,與Linux一樣;
5、Arduino已經發展成為一種平台,它支持多種MCU;
6、本人先在proteus上進行模擬開發,好處是代碼開發快!最後是在硬體上運行。可以直接理解為一台小型的電腦,功能較簡單。
自身擁有一些介面,可以通過簡單的拔插電路,連接一些外圍設備,比如感測器、LED燈、舵機、電機等。再通過附帶的編程環境,寫程序控制這些外圍設備,進而設計出符合自己期望用途的小型設備。當然,這只是簡單去理解它,實際上,以它為核心的設備也有很複雜的。近幾年新興的一種開源硬體,開發較簡單,網上有很多基於它的應用,有興趣可以上手玩玩
反正我這學期這門課要掛,,不說了。我也得去哭一會
是個老師用來坑學生的東西。
不說了我先去哭一會兒。
推薦閱讀:
※Arduino 的 Serial.write() 和 Serial.print() 的區別在哪裡?
※arduino與電腦利用wifi數據互通,是怎麼實現的?
※如何通過顏色識別技術,將不同顏色輸出相應數值。可以用單片機,arduino或者樹莓派嗎?
※arduino為什麼沒有arm晶元的控制板?
※Arduino有什麼炫酷的作品?
TAG:Arduino |