欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7548|回復: 1
打印 上一主題 下一主題
收起左側

Arduino教程之-感光燈

[復制鏈接]
跳轉到指定樓層
樓主
這個項目中將介紹一個新元件——光敏電阻。從名字可以看出,這個器件是依賴光作用的。在黑暗的環境中,光敏電阻具有非常高阻值的電阻。光線越強,電阻值反而越低。通過讀取這個電阻值,就可以檢查光線的亮暗了。我們這里選用的是光敏二極管,光敏二極管其實就是光敏電阻中的一種,只是它還具有正負極性。
我們這次做的這個非常好玩,叫做感光燈。它能隨著光線明暗而選擇是否亮燈。這個光感燈非常適合用做夜晚使用的小夜燈。晚上睡覺的時候,家中燈關掉后,感光燈感覺到周圍環境變暗了,就自動亮起。到了白天,天亮后,感光燈就又恢復到關閉的狀態了。

所需材料
  • 1×  5mm LED燈
  • 1×  220歐電阻
  • 1×  10k電阻
  • 1×  光敏二極管
  • 1×  手電筒(可選)

STEP 1: 硬件連接
LED燈還是和以往一樣的接法。而光敏二極管是有正負極的,和LED一樣,也是遵循長腳(+),短腳(-)的原則。還需注意的與光敏二極管相連的電阻是10k,而不是220Ω。



STEP 2:輸入代碼
完成硬件連接后,打開Arduino IDE,輸入下面這段代碼。
  1. int LED = 13;                     //設置LED燈為數字引腳13
  2. int val = 0;                      //設置模擬引腳0讀取光敏二極管的電壓值

  3. void setup(){
  4.       pinMode(LED,OUTPUT);         // LED為輸出模式
  5.       Serial.begin(9600);        // 串口波特率設置為9600
  6. }

  7. void loop(){
  8.       val = analogRead(0);         // 讀取電壓值0~1023
  9.       Serial.println(val);         // 串口查看電壓值的變化
  10.       if(val<1000){                // 一旦小于設定的值,LED燈關閉
  11.               digitalWrite(LED,LOW);
  12.       }else{                        // 否則LED亮起
  13.               digitalWrite(LED,HIGH);
  14.       }
  15.       delay(10);                   // 延時10ms
  16. }
復制代碼

下載完代碼后,LED燈會亮起,這時,你需要拿一個手電筒照你的光敏二極管(用手機后置攝像頭的閃光燈應該也可以),這時你會發現LED燈神奇般的自動熄滅。但是,一旦你的手電筒移開,LED燈又再次亮起。


STEP 3:代碼回顧
這段代碼想必你一定能看的懂了吧?我就簡單說一下,可能不明白的地方。

我們之講LM35溫度傳感器的時候,也用到了用模擬口讀值。強調了,模擬量不需要輸入輸出模式。這里,也是同樣用模擬口用來讀取光敏二極管的模擬值。

一旦有光照射,讀出的模擬值就會減小,這里設定的上限值是1000。這個值可以按你需要的亮度來選取。選取方法:先把整個裝置放在你想讓LED關閉的一個環境下,然后打開串口,查看串口顯示的值,把這個值替換掉代碼中的1000。從串口讀值,是調試代碼一種很好的方法。


STEP 4:硬件回顧
這里接觸了一種新元件——光敏器件。這類器件都是將光信號變成電信號的特殊電子元件。元件內部有特殊的光導材料,外部用塑料或者玻璃封裝。光線照射在這類光導材料上時,光敏器件的電阻值就會迅速變小。光敏元件有很多,光敏電阻,光敏二極管,光敏三極管等等。不過原理是差不多的。我們這里選用的是光敏二極管。

光敏二極管其實是光敏電阻中的一種。所謂二極管,就是有正負極的,所以在連線的時候也要注意正負極。

光敏電阻在黑暗的環境中,具有非常高阻值的電阻。光線越強,電阻值反而越低。隨著兩端電阻值的減小,電壓也就相應減小(從模擬口讀到的值也就變小,模擬口0~1023的值對應是0~5V的電壓值)。

那電壓為什么會減小呢?那就要用到我們初中學的物理知識——分壓原理。讓我們看一個典型的分壓電路,看看它是如何工作的。



[輸入電壓Vin(我們這里也就是5V),連在兩個電阻上,只測量通過電阻R2的電壓Vout,其電壓將小于輸入電壓。計算R2兩端的Vout電壓公式是:

在我們這里,R1代表的就是10k電阻,R2代表的就是光敏二極管。本來R2在黑暗中,值很大很大,所以Vout也就很大,接近5V。一旦有光線照射的話,R2的值就會迅速減小,所以Vout也就隨之減小了,讀取的電壓值就小。通過上面這個公式可以看出, R1選取不能太小,最好在1k~10k左右,否則比值變化不明顯。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:186853 發表于 2017-4-6 21:14 | 只看該作者
非常好的設計
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表