自2005年arduino橫空出世以來,開源硬體就像linux一樣,很快風靡全球。arduino最初隻是為學生設計的一款既便宜又易用的微控制器闆,但如今在“創客運動”的大背景下取得了巨大的成功。
arduino使用的是atmel var 8位微控制器,是一個軟硬體開源的平台。不僅開放軟體的源代碼,而且硬體電路設計圖同樣可以從網絡上下載下傳。任何使用者都可以利用這些開放的資源,再根據自己的需要進行修改和定制,釋出适合自己的軟體工具和硬體設計。此外,它不像傳統的微控制器程式,隻有有一定電路和程式設計背景的人才能夠靈活使用,因為采用了非常簡單的程式設計語言,arduino的入門變得非常容易,即使是沒有理工科背景的人,也能夠快速上手。
正是因為開源,讓全球成千上萬的教育工作者、學生、科研工作者、電子愛好者和創客組成了一個龐大的開源硬體社群。不管是個人還是公司,都被該社群的魅力所吸引。例如,英特爾、三星、微軟紛紛加入了arduino社群,推出了相關的軟硬體産品。而很多在kickstarter上進行衆籌的初創團隊推出的産品,其最初的原型也都是在arduino的基礎上設計的。
目前,在市場上還有很多相容arduino的開源硬體,各自有不同的特點和應用場景,比如microduino、wrtnode、pcduino,同時還配有各種擴充子產品和擴充闆。除了公司和團隊之外,很多創客本着開源和共享的目的,在網上免費釋出了自己的arduino開源設計和diy作品,供更多的人參與和讨論,這很有可能會碰撞出更多的創意作品,例如,開源3d列印機、無人機等。此外,網上還有大量免費的開源庫、教程、電子書、視訊等各種開放資源,以及友好互助的論壇問答等,這些都是這個社群中重要的組成部分。
這就是開源的滾雪球效應,剛開始開源又易上手,吸引了最初的一批人加入其中,之後産生越來越多的優秀資源,而這些資源又吸引更多人參與其中,這種正回報的激勵效應,促成了社群指數型的擴張。
作為一款相容arduino的微控制器平台,microduino同樣采用開源模式,公開所有的電路設計和軟體源代碼。它采用u型27引腳布局,子產品間非常容易組裝,對着u27引腳插入即可,無須擔心引腳是否接錯。又因為它隻有硬币大小,組裝後的體積非常小,是以在空間要求非常嚴格的應用環境下占有優勢。microduino可以看作是一種電子積木,核心子產品和擴充子產品互聯隻需要根據u型布局的引腳直接接入,便可快速搭建起一個實體系統,然後按照arduino開發和程式設計方式,下載下傳程式,即可完成自己的創意作品。因為相容arduino,是以microduino保留了其易上手的特點;同時因為易組裝、體積小等特點,讓microduino更具吸引力。
microduino遵循了開源硬體的發展模式,在社群的培育上花了很大的精力。相關人員詳細地制作了microduino的維基百科,目前共有805篇文章,2405個新檔案上傳和8733次修訂,而且全部是中英文對照,甚至還有韓文和日文的頁面。同時,還精心制作了300篇以上的microduino教程,配有文字、圖檔、源代碼和視訊,供全球來自不同國家的使用者參考和使用。
microduino的王鎮山(tiki)介紹說:“所有的子產品都是玩家共同創意、設計、測試和改進的。不但有玩家共同開發的硬體,還有玩家自發編寫的支援軟體,并分享利用microduino完成的作品。”這正是開源社群建設所帶來的回報。與其說microduino是一個開源硬體産品,不如說它是一個遵循“衆營”理念的開源項目。
而本書能夠順利完成,很大一部分也要歸功于開源力量和社群中豐富的開放資源。本書的特點是以一個個具體的示例為核心内容,提供詳細的實體連接配接圖和源代碼,讓讀者能夠通過循序漸進的實踐過程,學習和掌握基本的電子元器件、microduino核心控制器以及相關傳感器的使用。希望通過本書,能讓更多的人步入開源硬體和創客運動的實踐中去,實作一件件自己喜歡的創意作品,然後再與更多的人進行交流和分享。
最後,感謝microduino創始人王鎮山和機械工業出版社策劃編輯張國強,沒有他們的支援和鼓勵,本書就不可能誕生。此外,還要感謝我的父母,沒有他們的了解和寬容,就沒有現在的我,我也不可能安心地完成本書。
前言
<a href="https://yq.aliyun.com/articles/108806">第1章 開源硬體</a>
<a href="https://yq.aliyun.com/articles/108807">1.1 什麼是開源</a>
<a href="https://yq.aliyun.com/articles/108809">1.2 為什麼要開源</a>
<a href="https://yq.aliyun.com/articles/108810">1.3 開源軟體</a>
<a href="https://yq.aliyun.com/articles/108815">1.4 開源硬體</a>
1.4.1 arduino
1.4.2 microduino
1.4.3 樹莓派
1.4.4 pcduino
1.4.5 其他開源硬體平台
<a href="https://yq.aliyun.com/articles/108818">1.5 如何選擇開源硬體</a>
<a href="https://yq.aliyun.com/articles/108819">1.6 總結</a>
1.7 參考
<a href="https://yq.aliyun.com/articles/108820">第2章 microduino</a>
<a href="https://yq.aliyun.com/articles/108821">2.1 microduino系列産品</a>
<a href="https://yq.aliyun.com/articles/108832">2.2 相容arduino系列産品</a>
2.2.1 microduino avr核心系列子產品
2.2.2 microduino擴充子產品
2.2.3 microduino 擴充闆
<a href="https://yq.aliyun.com/articles/108835">2.3 microduino stm32核心系列</a>
<a href="https://yq.aliyun.com/articles/108839">2.4 microduino wrt系列</a>
<a href="https://yq.aliyun.com/articles/108845">2.5 microduino傳感器系列</a>
<a href="https://yq.aliyun.com/articles/108852">2.6 開源項目</a>
<a href="https://yq.aliyun.com/articles/108855">2.7 總結</a>
2.8 參考
<a href="https://yq.aliyun.com/articles/108859">第3章 microduino入門</a>
<a href="https://yq.aliyun.com/articles/108864">3.1 準備開發環境</a>
3.1.1 下載下傳arduino ide和驅動
3.1.2 安裝arduino ide
3.1.3 安裝驅動程式
3.1.4 microduino開源資料下載下傳
<a href="https://yq.aliyun.com/articles/108869">3.2 “hello world!”——開啟程式設計之旅</a>
<a href="https://yq.aliyun.com/articles/108875">3.3 點燈——邁入實體世界</a>
<a href="https://yq.aliyun.com/articles/108879">3.4 重新認識軟體與硬體</a>
<a href="https://yq.aliyun.com/articles/108884">3.5 i/o操作——現學現用</a>
<a href="https://yq.aliyun.com/articles/108886">3.6 rgb彩色led——彩色的世界</a>
<a href="https://yq.aliyun.com/articles/108894">3.7 光敏電阻</a>
3.8 感溫杯
3.9 蜂鳴器
3.10 認識三極管
3.11 中斷的使用
3.12 定時中斷的使用
3.13 adc采樣的不同基準源對比
3.14 繼電器的使用
3.15 數字溫度計
3.16 i2c通信
3.17 microduino 序列槽調試
3.18 調試的思路
3.19 總結
3.20 參考
第4章 microduino進階
4.1 紅外發射與接收——無線通信
4.2 1602 lcd顯示
4.3 超音波測距
4.4 紅外遙控舵機
4.5 pwm控制直流電動機
4.6 步進電機控制
4.7 eeprom讀寫
4.8 microduino-oled
4.9 microduino-tft
4.10 藍牙控制rgb彩燈
4.11 microduino-10dof
4.12 總結