步驟1:LDR
代表“光敏電阻”。這是一種電阻,其電阻值隨強度或所照射的光量而變化。隨著落在它上面的光量的增加,其電阻會降低,反之亦然。
我們制作了一個電路,為Arduino開發板給出1或0的邏輯。可以反轉電路以更改邏輯。
任何微控制器或數字操作設備不能直接在模擬電壓下運行。我們必須將模擬轉換為數字值,為此我們使用ADC。 Arduino內置了ADC,因此我們只需插入跨接線即可。
它接受一個模擬值(在本例中為LDR兩端的電壓)并將其轉換為10位數字。由于我們有10位,因此ADC的輸出范圍是0-1023(即1024個值2 ^ 10)。 0 – 5V之間的每個電壓都映射到0-1023之間的值。為什么要到1023年?原因是我們的ADC的分辨率。在這里,我們用10位組合表示每個值。隨著用于表示一個值的位數的增加,輸出值將變得更加準確。
值位表示形式
0 – 1.25 00
1.25- 2.5 01
2.5-3.75 10
3.75-5 11
步驟3:PWM(脈沖寬度調制)
脈沖寬度調制是一種可以根據消息信號改變脈沖寬度的技術。在這種情況下,LED連接到arduino板的PWM輸出引腳,并使用AnalogWrite()函數使該引腳上的脈沖寬度變化。脈沖寬度的變化可以看作是引腳上平均電壓的變化。因此,盡管我們僅更改LED點亮或熄滅的時間,但由于視覺的持久性,好像我們正在改變LED兩端的電壓一樣,導致其褪色和變亮。
第4步:所需的組件
現在是該項目所需的組件。我保證這些都是非常便宜和簡單的物品(除了Arduino開發板本身:p)
Arduino Mega 2560開發板
LED(我用了白色和紅色)
10 K電位計
220歐姆電阻
面包開發板或性能開發板(我都進行過測試)
跳線
步驟5:連接/電路
連接如下:
連接電阻的一端(我有一個1k的電阻…如果愿意,可以使用任何其他值。確保它不是太高或太低)到arduino板的5V引腳。將電阻器的另一端連接到LDR的一端。 LDR的另一端應連接到地面(GND)。
從電阻器和較早連接的LDR的連接處接一根線,然后將其連接到arduino板上的模擬輸入5。
接下來,從板上的任何PWM引腳上接一根電線,然后將其連接到LED的陽極。將LED的陰極連接到電阻的一端,另一端連接到GND。
步驟6:編程
如果需要幫助,請附加使用arduino軟件制作的文件。
步驟7:面包板測試
我測試了電路板上的電路,并通過稍微移動電位器來找到正確的調整。令我滿意之后,我制作了一個下面的視頻。現在是時候制作一個更可靠,更永久的電路板了。
步驟8:最終和完整模型
所以我焊接了一塊更堅固的板進行最終實驗。我在這里使用了紅色LED,因為它顯示的暗淡和亮度比晶體光更好。
-
Arduino
+關注
關注
188文章
6471瀏覽量
187242 -
mega2560
+關注
關注
0文章
17瀏覽量
5828 -
LDR
+關注
關注
0文章
99瀏覽量
7594
發布評論請先 登錄
相關推薦
評論