邁出物聯網的第一步,玩兒一下Arduino

峻祁連發表於2015-09-09

大家知道,現在物聯網Internet of Things(IoT) 方興未艾,各種智慧裝置層出不窮,手錶、手環、甚至運動鞋等可穿戴裝置,還有智慧家居產品,無時無刻不衝擊著我們的思想和眼球。Autodesk最近也宣佈進軍物聯網行業,剛剛收購了一下物聯網公司SeeControl。

我這樣一點不懂硬體的人也有興趣玩兒一下了,從哪兒開始呢?還是從最簡單的Arduino開始吧。於是興致沖沖的淘了一套Arduino入門套件,這個套件包含了Arduino板和一些常見的感測器,入門夠用了。

 

Getting started with Arduino

首先我們需要一塊Arduino板子、一個麵包板方便插線,還有一些LED啊、感測器神的。這些在套件裡面都有。不過剛開始還是玩兒點簡單的,首先把環境搭起來吧。除了小硬體之外,還需要下載安裝Arduino IDE。目前最新版的1.6.5. 可以從網上下載,windows、linux、mac版都有。我用的是Mac版。

https://www.arduino.cc/en/Main/Software

image

作為開始,還是先玩兒一下blink例子。這個例子就是把一個LED小燈點亮、1秒鐘後關閉,然後迴圈往復。例子原始碼在Arduino IDE裡已經自帶了,在檔案--示例裡面可以找到。現在幹起來,用USB線把Arduino和電腦連起來,按Arduino IDE裡面的上傳按鈕,就是下面的第二個箭頭的那個按鈕。然後注意觀察Arduino板子上13號旁邊有個小燈就已經在閃爍了,成功!太簡單了,其實這個也可以作為一個板子好壞的測試程式。你可以改一下程式碼,比如兩2秒滅0.5秒,再上傳看看是什麼效果。

Screen Shot 2015-09-09 at 11.11.35 AM

通過這個小例子理解了Arduino的工作方式,我們可以通過程式設計來控制Arduino實現我們想要的行為。

 

Do not have Arduino yet? Try 123D Circuits

你估計也想玩兒一下吧,不過你可能還沒Arduino套件吧。沒關係,你可以先試試Autodesk 123D Circuits。 這是個純網頁版的,在Autodesk 123D Circuits上你可以模擬硬體連線,編寫和測試程式碼,等測好沒問題了,你的Arduino也到貨了,直接把程式碼考到Arduino IDE裡燒錄到Arduino裡就可以完美執行了,哈哈。此外你還可以把你在Autodesk 123D Circuits上的成果共享給你的朋友們玩玩兒。

首先登入到Autodesk 123D Circuits,建立一個lab。裡面預設只有一個麵包板,從component元件列表裡拖一個Arduino和一個LED上去。把LED查在麵包板上,然後按照我下圖的樣子滑鼠劃線接起來。最好還拖一個電阻上來,要不電壓太高,LED小燈會爆掉的。 接線是這樣的,LED的一個腳接Arduino上的13號口。一會兒你往下看,程式碼裡也是這樣定義的。 另一個腳接5v電源口,中間放個電阻。

Screen Shot 2015-09-09 at 11.23.35 AM

好了,接好了,就可以點右上角的“Start Simulation”按鈕或者程式碼編輯器裡的“Upload & Run”開始模擬了,你應該能看到LED小燈開始閃爍了。

Screen Shot 2015-09-09 at 11.32.57 AM

注意在開始之前,檢查程式碼編輯器裡的程式碼是不是下面的程式碼啊,如果不是拷貝貼上一下。讀一下下面的程式碼,也很簡單,初始化時連線的13號口,這也就是為什麼我們接線時要連13號。然後在迴圈裡面給個高電平,過1000毫秒再給個低電平,迴圈往復。

Please note that the Arduino code is the default blink code as below, if it is not, you need to copy and paste it into code editor before you upload and run:

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

還是挺簡單的。

下來我想要用LM35溫度感測器來檢查一下當前溫度了,下來在寫 :)

關於 Autodesk 123D Circuits, 的使用,youtube上有不少視訊,可惜要FQ,大家都應該學會科學上網了吧,自己看看吧。

 videos on YouTube

相關文章