物聯網:4.1-物連網感測實驗~基於Arduino開發平台之光感實驗

淡江大學開放式課程
7粉絲
7 次觀看·2023年10月1日
各位同學大家好
首先非常
歡迎各位來學習物聯網感測實驗
那我們這個實驗是基於Arduino的開放平臺
那我們要做的是光感測實驗
那什麼是Arduino呢
那我們等一下在課程中都會學習到
那我是
首先介紹我是今天的助教
我叫廖英橋
好那我們究竟要做什麼樣實驗呢
那我們就從日常生活中觀察
你會發現說
一般來說我們在家中燈是開著的時候
那當太陽光慢慢照射進屋內的時候
我們其實會透過手動
把手動的方式將電燈關閉
來達到一個節能的效果
那同樣的當太陽漸漸下山時
那我們發現
屋內的
光線不足時
我們也會透過手動的方式將電燈打開
那像這樣子繁雜動作應該用
是不是應該自動透過物聯網
物體跟物體之間溝通的方式
來達到自動開燈關燈的效果呢
那至於要怎麼樣完成這樣的實驗呢
那接下來我們就透過一個簡單的觀察
其實可以發現
當我們太陽光照射進來的時候
我們是透過我們的眼睛
然後再將我們眼睛的感受傳給大腦
判斷是白天或是晚上
那假設現在是晚上的話我們再透過
手動的方式將燈打開
那這樣子其實我們可以透過
物聯網的方式我們將眼睛想像成是一個光感測器
那我們可以將大腦想像成是我們的Arduino
那我們可以再將我們的燈泡想像成是我們的LED燈
那這三個物聯網物件就可以達到這樣子的實驗
那所以我們剛剛講過了
我們會介紹三個元件
第一個是光感測器
第二個是Arduino
第三個是LED燈
那接下來我們會一一介紹每一個元件的細節
好首先第一項是光感測器
其實光感測器就是我們的所謂的光敏電阻
那是沒有正負極的差別的
那其實簡單的說就是說光越強的時候它會越亮
它的光越強越亮,磁會越大
那光越弱的時候越暗
磁會越小
那我們就可以透過這樣的方式來解釋它
就是說我們假設一個
光敏電阻
在太陽光底下的時候
它讀到的值其實是會大於300以上
經過我們的觀察我們發現它會大於300以上
那越亮的話磁會越大
那相對的
在晚上的時候呢那它值就會小於300
那越暗的情況下它的值就會越小
好那至於光敏電阻要怎麼使用呢
通常都是通過
正極接上隨便一個腳位
因為我們剛剛有說過它是沒有極性的
它腳位是沒有極性的
那負極再接到另外一個腳位
這樣就可以使光敏電阻正常運作了
那光敏電阻運作完的東西
我們要那個值要怎麼辦呢
我們剛剛有說過是傳給我們的大腦
也就是類似我們的Arduino
所以那要怎麼傳給Arduino呢
就透過一條線
透過一條單芯線的方式將值
接到Arduino上面的腳位
那這樣Arduino就可以接收到
光敏電阻的值
好那Arduino究竟是什麼呢
就讓我們接下來介紹
這是Arduino
它長的是畫面上的那個樣子
那會看到上面有非常多複雜的元件
那隻要
其實我們只要記得它是類似我們的大腦
它可以做一些簡單的運算
那我們都稱它為電腦
它是一個Microcontroller的一個微控制器
那Arduino上面有非常多的腳位
大家可以在畫面中看到
那其實
這都非常的複雜
那我們之後的課程都會一一介紹
我們在這裡大概只要學會兩個腳位就好了
兩個部分就好了
第一個是我們的
類比輸入
也就是畫面上紅色框框框起來的地方
那類比輸入就是說我們
剛才光敏電阻會讀到的值
它將會傳給Arduino
那Arduino就要透過這個類比輸入的方式
將值接收起來
那另外一個腳位就是
數位輸出
還記不記得
剛說過我們最終的實驗是要透過LED燈開跟關
那LED燈開跟關的話
就要透過這個數位輸出的方式
將它打開或關閉
那其他元件我們都會在
其他的Arduino其他的
部分我們都會在
之後的課程介紹到
那這個部分只會介紹到這兩個部分
這兩個
元件這樣子
好
接下來第三個元件就是我們的LED燈
其實我們可以在畫面中看到
市面上販售的LED燈都有非常多種顏色
那其實每一種顏色呢
它們的使用方式都是一樣的
我們再觀察一下它們是不是都有
長腳位跟短腳位
其實長腳位就是正極
短腳位就是負極
那使用的方式其實很簡單
就是讓
正極接到電池的正極
負極接到電池的負極
形成一個通路
這個LED燈就會亮了
但在這個實驗中我們的供電方式其實是透過
Arduino來供電的
好
那我現在再講一下我們的所有的實驗流程
就是說
假設我們
光明電阻Arduino跟LED燈都接上去之後呢
太陽光的時候呢
那值會由光明電阻
傳送到Arduino
進而透過Arduino判斷是白天還是晚上
將燈做一個開關的動作
那Arduino現在判斷的話是白天
是白天嘛
所以應該是會
那個燈就會被關閉
那接下來我們只要透過
手
將光遮住
那光感測器就感測不到陽光了
那這時候呢
那就會
那個Arduino就會判斷說現在是晚上
就會使LED燈發亮
這樣子
好
那接下來就是我們動手做做看的時間
會教大家如何完成上述的實驗
謝謝
好
接下來是我們動手做做看的時間
那我會教大家怎麼一步一步的把
這個完整的實驗兜起來
好
首先我們在動手做做看裡面會用到一個東西
叫做麵包板
那這究竟什麼是麵包板呢
其實它上面有很多的孔
大家可能會覺得非常複雜
但其實
很簡單的
你們只要發現它們的同一排
就像畫面中的箭頭的部分
它們同一排是一個通路就行了
你們只要記住這一點
其實就可以把麵包板學起來
那下一步呢
就是說我們要怎麼把這個實驗兜起來呢
那首先我們是不是要使用光明電阻
還記不記得我們是要
讓它兜成一個迴路
那所以我們光明電阻要透過Arduino來供電的話
我們必須要從
Arduino上面的一個5V的腳位
接一條線
到我們的麵包板上面
好
那會發現說其實這個麵包板的這個
同一列
上面都是5V的電
那我們只要再將
光明電阻任一個腳位接到其中
一個洞裡面去
那光明電阻另外一個腳位接到其他的
洞依照畫面上所顯示
好
那我們接下來是要讓光明電阻形成一個迴路嘛
那光明電阻比較特別就是說
光明電阻必須要用一般的電阻跟它搭配起來纔可以使用
那一般的電阻我們會在之後的課程中講解
那這裡
這裡大家只要觀察到說
它目前的狀況上是一個迴路就好了
那在這樣的迴路的情況下呢
電流是從5V流出來
然後再到GND的腳位回去
所以是一個
是一個迴路
那
那這樣的話
只會讓
光明電阻可以運作而已
但直徑並沒有丟到Arduino裡面去讓它做判斷
那接下來我們
我們就是必須要接一條線
那我們在兩個電阻之間接一條線
讓直可以透過這條綠色的線
流到我們的
類比輸入的腳位
這樣Arduino就可以去讀這個腳位的直
才能判斷說
目前是白天還是晚上
好那判斷完白天或晚上的時候
我們是不是要把LED燈打開
那接下來就要教大家怎麼把LED燈接上去
那LED燈非常簡單
我們只要把
長腳位接到我們的13的
13腳位
就如畫面上所示
那短的腳位是
負極
就接到GND的腳位
就是接地的腳位
依照這樣的方式呢
我們就可以整個運作
我們的這個實驗
好那接下來就是我們動手做的時間
那我會一一介紹
動手做給各位看
那首先第一個
就是我們的LED燈
可以發現說
它其實會有長的跟短的腳位
長的就是正極
短的就是負極
好
那接下來就是單芯線的部分
可以看到
綠色
黑色跟紅色三條單芯線
其實它們的功能是一樣的
就是隻是傳送電路而已
那顏色的話只是讓我們
人類的眼睛比較好辨識而已
好
那這是一般的電阻
然後這是我們剛剛所說的光敏電阻
然後這是我們的
類似我們人類大腦的Arduino
好這是麵包板
然後這是因為Arduino需要有程式進去
它需要透過這種傳輸線
以及供電的方式
那供電的話會透過我們的行動電源來供電
好那接下來我就要一步一步帶各位做
好
首先我們要讓光敏電阻可以運作的話
我們是不是要讓它通電
那我們就讓它接到Arduino的5V輸出
可以看到第三個腳位是
5V的輸出
然後呢那接下來再接到
麵包板上隨便一個孔
隨便一個孔
好
接下來其實可以看到這一排
都是5V輸出了
那我們在
在使用光敏電阻任一個腳位
它只有兩個腳位
其中一個腳位接到
一個孔
那另外一個隨便找一個孔
接上去就可以了
好
那接下來我們是不是還有說過
我們還需要透過一個電阻的方式
來使這個光敏電阻可以運作
那我們就一樣在這上面隨便接
要跟
光敏電阻另外一邊的腳位
做同一排
接上去
好
接下來呢
再給它一個負極的電
接到我們Arduino的GND
也就是接地的腳位
好
這樣子只是光敏電阻可以運作的情況下
那接下來我們要
抓取光敏電阻的值
必須在兩電阻之間的孔
接一條線
然後呢再接一條線到我們的
數位輸入
的腳位第二個
這個
好
那接下來是LED的部分
就是讓我們的
較長的腳位接到正極13腳位
那較短的腳位接到GND的那個負極
好
接上去之後呢我們再把
這個USB孔都插上去
好這時候把行動電源打開
好那目前是有光的情況下
所以LED燈不會亮
那當我把光線遮住的時候
各位可以發現其實LED燈已經亮了
那這就是我們目前的實驗
好
接下來我們來看整個電路細部的部分
那我們可以觀察到
這個紅色線接的是5V
所以電流從5V這邊丟出來
然後讓這個光敏電阻這個腳位接收到值
那它會一樣光敏電阻會接到負極
所以這邊是負極的腳位
那負極的腳位會接上一個電阻
那電阻會再把電流帶到另外一邊去
會接到這個黑色的線就是
要接地的那個負極
那最後負極呢再接到我們這個
GND的腳位
那剛剛所講的這是一個
剛好是一個迴路的部分
那我們Arduino要怎麼取值呢
是透過這條綠色的線
那這條綠色的線是插在兩個電阻之間
所以值呢會透過這個
光敏電阻值會從這邊
經過這條綠色的線
流到我們的
類比輸入analog in的2號孔
然後呢這樣Arduino就可以知道說
我們的值是白天還是晚上
那進而在控制這邊的LED燈
那LED燈的正極是叫較長的腳位
是接到第13個腳位
那負極的話是較短的那個腳位
是接到GND的腳位
好,那這個以上大概是我們的
整個流程,整個電路的流程圖
好,那接下來呢
我們就可以看一下我們的實作圖呢
那Arduino是怎麼運作
它是怎麼判斷值的呢
那就看到我們程式碼的部分
那大家程式碼看到密碼
可以不用緊張
但我們只要看到紅色的地方
尤其是第9行的時候
有沒有看到一個VAL
其實它是value的意思
就是說我們透過這個VAL可以讀到
剛光敏電阻傳進來的值
那在第10行的部分我們是用判斷
判斷它說這個值是不是小於300
小於300代表說它是晚上
那是晚上後它就會執行第12行的
11行的程式碼
是讓LED燈亮起來的程式
那如果它是白天的話呢
它就會執行到第13行的程式碼
讓LED燈關閉
那這個程式碼是不是非常簡單呢
那至於其他的部分
我們會在之後的章節再做介紹
好,謝謝大家
