步驟1:接線分壓器
第一步是連接Arduino以讀取由光敏電阻產(chǎn)生的電阻確定的電壓。您可以根據(jù)示意圖簡(jiǎn)單地為電路板布線(線的顏色無(wú)關(guān)緊要,但有助于確定目的)。
Arduino上的A0-A5引腳使您可以讀取或?qū)懭?a href="http://www.wenjunhu.com/analog/" target="_blank">模擬信號(hào)傳感器,例如光敏電阻,旋鈕(電位計(jì))和溫度傳感器。這是Arduino網(wǎng)站上模擬引腳的描述:
Arduino板包含一個(gè)6通道,10位模數(shù)轉(zhuǎn)換器。這意味著它將把0到5伏之間的輸入電壓映射為0到1023之間的整數(shù)值。這將產(chǎn)生讀數(shù)之間的分辨率:5伏/1024單位或每單位.0049伏(4.9毫伏)。
光敏電阻,也稱為光敏電阻(LDR)或光電池,其工作原理是根據(jù)檢測(cè)到的光強(qiáng)度來(lái)限制通過(guò)它的電壓量。電阻隨著光輸入的增加而減小-換句話說(shuō),光越多,穿過(guò)光敏電阻的電壓就越大。
為了利用光敏電阻,您將創(chuàng)建一個(gè)分壓器 strong》-一種無(wú)源線性電路,可將輸入電壓分配給兩個(gè)或多個(gè)組件(類似于Y型分配器)。
要?jiǎng)?chuàng)建本課程所需的分壓器,您將:
將Arduino 5V引腳(輸入電壓)的電壓連接到電路(使用面包板)。
將輸入電壓連接到靜態(tài)電阻器(10k Ohm)
建立從靜態(tài)電阻器出來(lái)的分壓器:
一條通往模擬引腳的路徑( A0)
通向可變電阻器(光敏電阻)的一條路徑
完成從動(dòng)態(tài)電阻器到地的電路。
隨著光敏電阻的電阻增加(較低的光強(qiáng)度),更多來(lái)自10k歐姆電阻的輸入電壓將被阻塞并轉(zhuǎn)移到A0引腳。這意味著進(jìn)入光敏抗蝕劑的光強(qiáng)度越小,它產(chǎn)生的電阻就越大,這又將更多的電壓轉(zhuǎn)移到A0引腳(電壓必須流到某個(gè)地方)。同樣,進(jìn)入光敏電阻的光越強(qiáng),它產(chǎn)生的電阻就越小,這又意味著要轉(zhuǎn)移到A0引腳的電壓就更少。
簡(jiǎn)而言之,到A0引腳的電壓就越大,
以下是具體的接線說(shuō)明(請(qǐng)參閱本課程的面包板圖像):
光敏電阻
將光敏電阻器如圖所示插入面包板。
電阻器
從光敏電阻器的一側(cè)跨幾行連接一個(gè)10k-Ohm電阻器。
電線
按圖所示連接電線:
紅色:
將5V引腳連接到面包板上的紅色/正側(cè)欄。
將紅色/正側(cè)欄連接到連接了電阻器引線但未連接光敏電阻的行(這是分壓器靜態(tài)電阻器部分的輸入電壓)。
黃色:將黃色電線從靜態(tài)電阻器的另一端連接(該電線應(yīng)與靜態(tài)電阻器引線和一個(gè)光敏電阻引線)連接到Arduino的A0引腳(這是分壓器的一條路徑,另一條路徑穿過(guò)光敏電阻)。
黑色:
將容納另一根引線的行從光敏電阻連接到面包板上的黑色/負(fù)側(cè)欄。
將面包板的黑色/負(fù)側(cè)欄連接到Arduino的GND引腳。這樣就完成了電路。
注意:您可以將5V引腳直接連接到與靜態(tài)電阻的單獨(dú)引線相同的行,并將GND直接連接到光敏電阻的單獨(dú)引線,但是我喜歡養(yǎng)成將Arduino的5V和GND引腳連接到側(cè)軌的習(xí)慣。這將在以后的課程中派上用場(chǎng)。
步驟2:編寫(xiě)代碼
使用Arduino IDE創(chuàng)建一個(gè)新草圖。新草圖有兩種殘存方法。
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
在設(shè)置方法之前,您需要為連接到光敏電阻的模擬引腳聲明一個(gè)變量。
int analogPin = 0;
void setup() {
// put your setup code here, to run once:
}
正如您在上一課中所回顧的那樣,設(shè)置方法在固件啟動(dòng)時(shí)運(yùn)行一次。在本課程中,目標(biāo)是將來(lái)自光敏電阻的電壓值寫(xiě)入串行監(jiān)視器。為此,您將使用Serial.begin方法啟動(dòng)串行監(jiān)視器,并傳入波特率(每秒位數(shù))。
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
下一步,您將編寫(xiě)代碼以讀取原始數(shù)據(jù)從A0傳入(請(qǐng)記住,它將是0到1023之間的一個(gè)值,即1024步或單位),并將其轉(zhuǎn)換為電壓讀數(shù)(0.0V至5.0V)。
void loop() {
// put your main code here, to run repeatedly:
// read the raw data coming in on analog pin 0:
int lightLevel = analogRead(analogPin);
// Convert the raw data value (0 - 1023) to voltage (0.0V - 5.0V):
float voltage = lightLevel * (5.0 / 1024.0);
// write the voltage value to the serial monitor:
Serial.println(voltage);
}
第3步:上傳固件
在上傳固件之前,最好驗(yàn)證一下目標(biāo)板和連接的端口(如果您不記得這一點(diǎn),請(qǐng)檢查上一課)。
按“上載”按鈕編譯固件并將其發(fā)送到Arduino。
步驟4:打開(kāi)串行監(jiān)視器
將草圖編譯并上傳到Arduino之后,單擊Arduino IDE右上方的放大鏡圖標(biāo)。這將打開(kāi)串行監(jiān)視器。
步驟5:在串行監(jiān)視器中讀取電壓
固件正在運(yùn)行且串行監(jiān)視器已打開(kāi),您將看到從光敏電阻讀取的數(shù)據(jù)(注意:在上圖中,我使用了Arduino Uno,而不是Yun)。當(dāng)固件正在運(yùn)行并且您在串行監(jiān)視器中看到數(shù)據(jù)時(shí),請(qǐng)嘗試覆蓋光敏電阻(從而減少光并增加光敏電阻的電阻,并將更多電壓推至引腳A0)或在光敏電阻上發(fā)光(從而增加光敏電阻)。
責(zé)任編輯:wv
-
監(jiān)視器
+關(guān)注
關(guān)注
1文章
780瀏覽量
33164 -
輸入傳感器
+關(guān)注
關(guān)注
0文章
3瀏覽量
6436
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論