光敏電阻

光敏電阻常見於小夜燈裡面,光敏電阻主要是利用光電導效應的一種特殊的電阻,當有光線照射時,電阻內原本處於穩定狀態的電子受到激發,成為自由電子。所以光線越強,產生的自由電子也就越多,電阻就會越小,透過會變化的電阻值,進一步產生輸出強弱訊號。

範例影片展示

接線與實作

由於每個光敏的電阻值範圍不同,有些甚至會趨近於 0,因此在接線上我們必須要用到一個普通電阻在線路裡頭,作為避免短路的「保護」作用,而光敏電阻的訊號腳會接在類比腳 ( A 開頭的腳位 ),這裏把訊號腳接在 A3 腳位,兩支腳都可當作訊號腳,若其中一支作為訊號腳,則另外一支就是 VCC 或 GND,這裡我們把另外一支腳接在 3.3V ( VCC ),訊號腳另外接一個電阻連到 GND。

如果 VCC 和 GND 顛倒過來接,但數值也會跟著顛倒,如果發現光越強數值越小,應該就是接反了。


由於 Webduino 支援開發板種類只會越來越多,接線圖先使用馬克一號與 Fly 示範,對於其他開發板來說,只要把光敏電阻一隻腳接電組,然後連接接類比腳,另一隻腳接 VCC 或 GND,仍會一樣的效果

馬克一號接線示意圖:

馬克一號接線光敏電阻

Fly 接線示意圖:

Fly 接線光敏電阻

實際接線照片:

馬克一號接線光敏電阻

馬克一號接線光敏電阻

基本操作

打開 Webduino Blockly 編輯工具 ( https://blockly.webduino.io ),因為這個範例會用網頁「顯示文字」來顯示光敏電阻數值,所以要先打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「顯示文字」,此時在右下角會出現對應的積木功能可以選擇。

網頁互動測試區

把開發板放到編輯畫面裡,填入對應的 Webduino 開發板名稱,開發板內放入光敏電阻積木,名稱設定 photocell,腳位設定 A3。

光敏電阻相關積木在「環境偵測 > 光敏(可變)電阻」目錄下。

光敏電阻積木

接著放入「photocell 開始偵測」的積木,使用「顯示」積木顯示偵測到的數值。

偵測光敏電阻 Blockly

因為光敏電阻是類比訊號,偵測的速由開發板的類比取樣速率決定 ( 每塊開發板只會有一個類比取樣速率 ),可以從開發板的下拉選單中進行設定,這裏設定為 100ms ( 0.1 秒 )。

數值轉換積木

不過純粹的類比取出來的數值會有很多小數點,區間也可能不是我們要的區間 ( 光敏電阻偵測為 0~1 之間的訊號,但我可能想變成 1000 到 2000 之間的數值 ),所以就要針對偵測到的數值進行四捨五入或尺度轉換。

四捨五入與尺度轉換的積木在「進階功能 > 數值轉換」目錄下。

顯示光敏電阻數值

將四捨五入的積木放在偵測到的數值之前,就可以得到四捨五入的數字。

轉換光敏電阻顯示數值

如果要把 0~1 轉換成 1000~2000,只要多添加尺度轉換的積木就可以,原始資料填入 0 和 1,轉換後的資料填入 1000 和 2000。

填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,用光照射光敏電阻,或用手遮蔽光敏電阻,就可以看到數值發生變化。

範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-01#R9j29OnE8G

範例解答 ( 體驗版 ):https://goo.gl/a2N0K7

相關參考