把遇到錯誤的、學習到的前端筆記在這邊

總瀏覽量

Copyright © Tzeng Ying-chi. 技術提供:Blogger.

2019/08/16

[2019鐵人賽] - 5.筆記IoT初練習-用JavaScript控制Arduino吧!- 實作篇


接下來就要實作程式部分囉!ヽ(・×・´)ゞ


本篇文章續上篇
「 
[2019鐵人賽] - 4.筆記IoT初練習-用JavaScript控制Arduino吧!— 安裝環境篇 


有如學習程式一切的開始「Hello World」~
Arduino的第一個程式「Blink」閃耀你的LED吧!XD

Step 3.  Coding....(ง๑ •̀_•́)ง

程式碼如下:


var five = require("johnny-five");
//引入johnny-five
var board = new five.Board(); //宣告Arduino開發版
board.on("ready", function() { //當Arduino開發版ready好,做以下動作
var led = new five.Led(13); //宣告led在開發版第13腳

led.blink(500);
//每500毫秒 LED會亮→滅→滅...持續的閃爍 });

解說一下上面做了哪些事情~

首先 var board = new five.Board(); 這行

一開始要先調用J5的 Board();
告訴電腦USB連接到初始化實體的Arduino板子,
依照官網所說不用特別設定通訊埠,雖然官網是這樣說.....

本魯一開始就是遇到沒有設定通訊埠而報的錯 ╮(╯_╰)╭


Component Classes-Board: http://johnny-five.io/api/board/



所以還是加一下好了........(´-ι_-`)

-----
var board = new five.Board({
port:"目前Arduino和電腦連接的Port",
});
-----

※如何知道Arduino連到哪一個通訊埠?

Win的使用者可以透過裝置管理員查看
Mac的使用這需要輸入指令 $ ls /dev/tty.*

查看Arduino連接的是哪一個port

Johnny-Five (簡稱J5) 的寫法沒有什麼特別不同的地方,可以看到第七行

board.on("ready", function() {
    //執行的內容
});

語法上平時有在寫JS的朋友們應該都蠻熟悉的~ヽ(・×・´)ゞ

第10行 利用J5的 led()函式
宣告板子第13隻腳為輸出腳位,當有動作時會輸出5V電壓

第13行 剛剛宣告的LED 利用內建的閃爍函式blink();
其動作為LED on-off 這樣算一次動作,在括號裡面填寫毫秒數,在毫秒內會做完一次的動作。

範例中的blink(500);的意思就是
500毫秒會做完一次的 LED on-off 的動作,然後重複動作。

大致上的程式的動作差不多是這樣啦~(有錯請訂正 (つд⊂)


以電子角度來講

new five.Led(13); 就代表板子輸出電壓的腳位是第13腳 blink(); 
這個函式其實就是電壓不斷的一直變化 5V→0V→5V→0V→5V 一直循環下去~

Step 4. NodeJS GO!!

程式寫好之後,開啟終端機到該目錄底下輸入 node 檔名.js



就是這麼簡單!ʅ(´◔౪◔)ʃ

電腦便會連接上你的Arduino板子,並開始動作
現在應該可以看到板子上的LED燈一閃一閃的吧!d(`・∀・)b



恭喜你用JavaScript統一軟體世界了ヽ(́◕◞౪◟◕‵)ノ 

本文到這邊先下台一鞠躬了,有錯敬請留言改正,感謝您的閱讀啦~<(_ _)>

0 留言:

張貼留言