iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 7
2
IoT

IoT沒那麼難!新手用JavaScript入門做自己的玩具~系列 第 7

[Day 7]-用JavaScript控制Arduino吧!Hello LED World~ Johnny-Five 之 LED Level 1練習!

IoT沒那麼難!新手用 JavaScript 入門做自己的玩具!(iT邦幫忙鐵人賽系列書)

★本系列文章已集結成冊,和系列文不同的是:

  • 本書使用大量的圖解來說明LED系列、多種感測器等原理。
  • 補足系列文程式碼的解說,增加逐行程式碼的詳細解說!
  • 全彩的書籍,用圖解的方式,讓讀者來理解Johnny-Five各種API的功能與效果,讓你不會只讀文字看到想睡覺而學不起來。

歡迎大家做出自己想要的玩具,為了樂趣而學習,讓學習變成你的樂趣!ヽ(・×・´)ゞ
讓Arduino也能用JavaScript創造出屬於自己的作品!

★購書連結-天瓏網路書局:
https://www.tenlong.com.tw/products/9789864345328

《IoT沒那麼難!新手用 JavaScript 入門做自己的玩具!(iT邦幫忙鐵人賽系列書)》
博客來、金石堂、momo、誠品、PChome、讀冊,均有販售喔!─=≡Σ((( つ•̀ω•́)つ
ISBN:9789864345328

新手上路!初進IoT的世界就從最簡單的開始吧!(ง๑ •̀_•́)ง

發光二極體(Light-emitting diode),就是我們俗稱的「 LED 」

回溯歷史,從只有紅光、綠光兩個顏色時代,
直到藍色光LED被研發出來造就現在的LED顏色光譜!

節錄wiki -
2014年憑藉「發明高亮度藍色發光二極體,帶來了節能明亮的白色光源」,天野浩與赤崎勇、中村修二共同獲得諾貝爾物理學獎

題外話~
以前我在讀高職、大學的時候,也都沒有藍色LED可以用...
後來自己跑去光華商場買,藍色一顆就要10元! 超貴的!(●▼●;)
PS:紅、綠色一顆只要2、3元...

如何看極性?

LED有極性之分,教大家怎麼看極性,我做了幾張圖來解說~

  • 從外觀來判斷
    依規範來說,LED的端子長腳為正極 短腳為負極

可以觀察本魯宅的 LED 的外觀(「・ω・)「

那你們心中一定會有很大的疑問~

Q:如果不小心在路上(欸?)撿到一顆LED,但是他的腳已經被剪掉了...
那要怎麼辨別呢? (|||゚д゚)

沒關係!還有方法可以辨別!
仔細看LED的外觀邊緣處不是正圓形的,有一邊會有一個平面的特徵,那就是負極了!

LED 包裝外觀的切面處 - 從下往上看 (屁屁的地方



LED 包裝外觀的切面處 - 從上往下看


以上兩種是由外觀來辨別LED的極性~

當然有一些廠商可能不會照著規範製作LED, 就會產生誤會了....
最好還是用電表來測試一下LED的好壞,在寫程式的時候也可以先排除硬體故障的因素。

  • 用電表來量測
    電子的世界很大,無法把所有測試儀器都解釋,但是三用電表一定是最基本要準備的!

各式各樣的三用電表~



如何量測呢?

量測的方法是,先調到蜂鳴(開斷路)測試檔,紅棒接LED的正腳,黑棒接LED的負腳
如果會亮就代表成功了! 不亮的話反過來接再試一次,如果上述重複測試都沒有亮的話,可能要考慮看看是不是LED燒毀或是瑕疵損毀等,換一顆吧~

先調到「 蜂鳴(開斷路)測試檔 」

紅棒接LED的正腳,黑棒接LED的負腳
如果會亮就代表成功!


LED 零件就介紹到這邊啦~(ゝ∀・)b

Johnny-Five LED API

接下來要說Johnny-Five提供了什麼LED API 給我們~

Johnny Five LED-http://johnny-five.io/api/led/#api

一共有13種方法可以讓我們做使用
因為很多功能都差不多就省略不說了~(好偷懶

新手LV1. 本篇就講解簡單的以下這些功能
on( )off( )toggle( )stop( )strobe( )/blink( )


  • on( )
    功能:打開 LED




  • off( )
    功能:關閉LED。

但是特別注意如果你的LED 正在執行strobe() 或是blink() 的話,執行 off() 會沒有作用!得先執行stop()函式停止strobe() 或是blink() 才行。


  • toggle( )
    切換LED目前的狀態。如果LED目前為亮則滅、為滅則亮。


  • strobe( ) / blink( )
    讓LED 亮→滅 頻率的閃爍。

可以利用stop()的方式讓閃爍停止,但注意 停止的是他的計數器,而不是讓LED回到滅(Off)狀態!

PS:strobe 和 blink 看不出有什麼差別....
連官網的注釋都說 blink 只是 strobe 的別名而已(。ŏŏ)


  • stop( )
    停止計數器。

讓blink、pulse等有時間週期類的動作停止。
但注意 停止的是他的計數器,而不是讓LED回到滅(Off)狀態!如果要完全的關閉LED需要呼叫stop()和off()。

像這樣:

// 完全關閉LED
led.stop().off();

圖和off()那一張動圖一樣,就不放了..... <(_ _)>

這些是基本的LED用法!
下一篇我們要講到有變化的PWM讓LED有更多的狀態喔~(๑•̀ㅂ•́)و✧

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


文後

這些圖錄的好累R......(〒︿〒)


同步連載於blogger-King 學習前端之人生
著作權為 Ying-chi Tzeng所有,轉載請告知,感謝您^^


上一篇
[Day 6]-用JavaScript控制Arduino吧!Johnny-Five 之 利用 REPL 模式來開發吧!
下一篇
[Day 8]-用JavaScript控制Arduino吧!來點變化吧 PWM 輸出~ Johnny Five 之 LED Level 2練習!
系列文
IoT沒那麼難!新手用JavaScript入門做自己的玩具~33

1 則留言

1
PeterLiao
iT邦新手 5 級 ‧ 2019-09-22 12:50:09

太用心了!好期待成品

不過誰會在路上撿到LED/images/emoticon/emoticon01.gif

台北市掉寶率很高,像這個阿北就撿到甩棍(?!
(欸?! XD
說到成品....我沒有成品壓(X
https://ithelp.ithome.com.tw/upload/images/20190922/20103130iDkrHz7uEb.jpg

我要留言

立即登入留言