前情提要:【物聯網】入門介紹-什麼是物聯網 What's IoT ? 從幾年前開始全球吹起了一股創客風,開始全民瘋 coding、瘋 MOOCs、各種極客當道.. 老實講生活在現在一個資訊這麼發達的時代, 真的似乎 只要有心,人人都可以當食神。( ㄜ.. 我是說當 maker 這篇要講的就是,一個常用來實作在物聯網底層裝置 ( IoT Devices ) 的開源平台- Arduino。 而這個平台也非常受自創者、創客 aka Maker 們的喜愛。 -- 至於為什麼要當一個創客( Maker ) 這件事吧,除了因為好玩、培養興趣以外, Jason 還有個不一樣的看法就是,如果我們用創業的這個角度來看,然後我們先從數據上來看, 台灣年輕人創業 90% 撐不過一年!而剩下來這10% 當中又有 90% 撐不過五年! 代表說當初那些滿懷熱血衝一波跑去創業的人,真正撐超過五年活下來的只有 1% 的人... 當然創業失敗的理由有千百種啦,不過最主要的還是下面這幾類吧!
那今天如果我們換從一個 Maker,創意發想的角度出發的話: 我想多數人都能同意:如果是在搞新創東西的話,本來就是在 Trial and Error。 那要怎麼用最低的成本,去獲得最多次的嘗試,就成了一門顯學。 但我想如果能透過自學成為一個 Maker 會是個不錯的起手式! 一、基本介紹 What's Arduino?
Arduino 的誕生是因為義大利一家高科技設計學校的老師,由於他經常聽到底下的學生抱怨說找不到便宜好用的微控制器 ( Microcontroller )。然後在2005年冬天, 他跟當時一位到他們學校做訪問學者的西班牙籍晶片工程師討論了這一個問題。接著兩人決定設計自己的電路板,並找了他學生幫電路板設計程式語言。
兩天之後,就寫出了程式碼;又過了三天,電路板就完工了!並把這塊電路板命名為 Arduino。 在完成設計之後,他們也秉持著開源 ( Open Source ) 的理念,將全部的軟體專案、硬體電路等全部都公佈出去,唯一保留下的是 Arduino 這個名子 ( 如果你要用這個名子來賣電路板的話,就需要付給核心開發團隊一點商標費。) 對於End User 來說,除了花錢購買電路板之外就不需要花費其他任何費用。 Arduino 官網:https://www.arduino.cc/ 看完前面那些喇賽的東西之後,我們再 detail 一點來看 Arduino 這東東。
Arduino 可說是引領著全世界創客的風潮,有不計其數的創意專案就是靠它做出來的,至於為什麼 Arduino 會這麼熱門、這麼紅 ( 台灣大概從2006-2007 就有人開始在玩這東西了,不過真正開始比較熱門大概是2008-2010年的事了,時至今日在台灣有非常多的學校--大專院校、高中職、國中甚至國小,都開始在教 Arduino。) 如果要整理個什麼原因還是理由出來,我會覺得是以下四點吧!
最後我們在用一張以 Jason 前看到的圖,來回顧 Arduino 的發展史吧~ 二、硬體平台 Arduino Broad
其實從上一節最後那個發展史的圖來看,我想你們大概也能想像 Arduino 的板子早就發展的五花八門、越來越多 ( 這也是開源所帶來的好處之一,造就整個硬體、產品的多樣性。) 人人都可以找一片最適合自己需求的 Arduino 板子來用,接著 Jason 從官網產品列表 那邊隨便截了幾張 Arduino Products 的圖給各位參考一下:
新手入門然後看到上面產品列表,頓時覺得東西多到豆頁疼不知道怎麼買的話: 可以考慮從最基本的 Arduino Uno 或者 Arduino Nano 下手,因為不論是學校在教或者在網路上找到的教程,蠻多都是用這兩塊板子做教學範例的。 而 Arduino 的東西及一些周邊擴充板、模組、零件,在台灣都非常好購買! 如果你是台中人的話,對台中火車站前的電子街應該是不會太陌生,基本上你去到那,你想要的東西就都有賣了!就算那邊沒賣也沒關係,走去隔壁間就好xD 不過 Jason 個人還蠻不推薦去電子街買東西的,因為真的是ㄐㄅ貴,可能跟網拍的東西比會貴上個兩倍那種 Orz 除非啦~ 是公司要用的東西,可以報帳,不然我自己要玩的東西我是不太會去那邊買,買買露天就很方便了,還可以貨到付款、7-11 取貨。 三、軟體開發環境 Arduino IDE
在板子成功買到之後,再來就是要寫程式了!
於是我們可以先到官網來下載 Arduino IDE:https://www.arduino.cc/en/Main/Software 可能很多人不太了解 IDE 是什麼意思,我在這邊稍微解釋一下: IDE 是 Integrated Development Environment 的縮寫,從英文的字面意思來看,你大概就能知道它代表的是- "整合"、"開發"、"環境",沒錯它就是一個把軟體開發所需要的工具都整合在一起的一個東西。 Yep 以前做開發的人就是這麼苦逼,開發用的工具軟體啥的都是一個一個分開獨立的,寫code要一個編輯器、Debug 要 Debug工具、程式要 Run 要 Run Environment 、想找點 Example Code 來看要回去翻 Document,現在通通都不用了!全部都 All in one 在一起,一個 IDE 就都搞定了! 而 Arduino 提供的 IDE 功能及畫面都相當的簡約,你在安裝完成開啟後應該可以看到: 在上圖中,你也可以看到一隻Arduino 程式最基本的架構會包含,void setup( ){ } 跟 void loop( ){ } 這兩個部分。 取代了 C 語言中的 int main( ){ } 程式在開始運行以後,會先執行寫在 setup 裡面的程式,而且只會執行一次。 所以通常我們會在 setup 裡面寫上一些我們需要的初始設定 ( 如: UART 的 Baud Rate、GPIO 的 Pin define 等 ),也可以寫上一個開機檢測,決定要進去特殊的工程模式或者正常的 Work State 等等。 而在把寫於 setup 的程式碼運行完畢後,接著就會執行寫在 loop 裡面的程式碼,寫在 loop 裡面的程式碼就等同於寫在 while(true){ } 裡面的程式碼一樣,會永無止境的運行下去。 所以一般我們會將主要工作流程的代碼寫在這邊。 不過 Arduino IDE 內建的文字編輯器並不好用,所以進階一點的開發者通常會選擇在他習慣的文字編輯器上比較高效能的做 Coding,在代碼編輯完成後,再回頭用 Arduino IDE 開啟那個 .ino 檔來做燒錄及測試。 像我個人是習慣用 Sublime Text 3 然後再掛一個 Arduino 的套件來用這樣。安裝方法:
四、學習資源 Study Resource
最後在硬體 ready 軟體開發環境也 ready 後,自然而然就想搞點新奇有趣的東西來玩玩。
不過萬丈高樓平地起,在正式開始搞一些有的沒有的之前,還是可以先開啟幾個 Build-in 在 Arduino IDE 裡面的 Example 來看,了解基本的 Serial Port 怎麼用、GPIO怎麼控制等等。開啟方法:工具列 檔案 > 範例 最後在跟各位分享幾個 Jason 以前在學習 Arduino 的時候看過覺得的還不錯 Blog:
推薦讀物:
2 評論
Jason Chen
7/27/2022 12:03:36
Hi 各位看官們好,
回覆
Jason Chen
8/2/2022 09:44:24
已售出,謝謝。
回覆
發表回覆。 |
Jason Chen人不光是生來就擁有一切,而是靠他從學習中得到的一切來造就自己。- 歌德 文章分類
全部
封存檔
九月 2023
|