Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe lè lo Resistor Tó Gbára lé Ìmọ́lẹ̀ (LDR) pẹ̀lú ESP32 microcontroller láti díwọ̀n ìwọ̀n ìmọ́lẹ̀. Nípa kíkà resistance ti LDR, a lè mú àwọn ìgbésẹ̀ ṣẹlẹ̀, bíi mímu buzzer ṣiṣẹ́ nígbà tí ìwọ̀n ìmọ́lẹ̀ bá kọjá ìwọ̀n ààlà kan. Iṣẹ́ yìí yóò fi ìbáṣepọ̀ láàárín ìwọ̀n ìmọ́lẹ̀ àti agbára kíkà analog ti ESP32 hàn, tí yóò jẹ́ kí a lè ṣẹ̀dá àwọn ohun èlò tí ń dáhùn sí ìmọ́lẹ̀ àyíká. (nínú fídíò ní 5:30)
Àlàyé Ohun Èlò
Àwọn èròjà pàtàkì tí a óò lò nínú iṣẹ́ yìí ní ESP32 microcontroller, LDR kan, àti resistor 10 kΩ kan. LDR yí resistance rẹ̀ padà ní ìbámu pẹ̀lú ìwọ̀n ìmọ́lẹ̀ tó ń lu ojú rẹ̀: ìmọ́lẹ̀ púpọ̀ ní àbájáde resistance kéré, nígbà tí ìmọ́lẹ̀ díẹ̀ ní àbájáde resistance púpọ̀. Àmìn-ìṣe yìí jẹ́ kí a lè díwọ̀n àwọn ìwọ̀n ìmọ́lẹ̀ tó yàtọ̀ nípa síso LDR pọ̀ nínú ìtòlẹ́sẹẹsẹ voltage pẹ̀lú resistor náà.
ESP32 microcontroller ní Wi-Fi àti Bluetooth tó wà nínú rẹ̀, tí ó mú un dára fún àwọn iṣẹ́ IoT. Ó ní ọ̀pọ̀ àwọn pin analog tí ó lè ka àwọn ìwọ̀n voltage tó ń yàtọ̀, èyí tí a óò lò láti ṣàkíyèsí voltage tó wà lórí LDR. Voltage yìí yóò di iye analog tí ESP32 lè ṣe àkójọpọ̀ àti lò láti mú àwọn ìgbésẹ̀ ṣẹlẹ̀ bíi mímu buzzer ṣiṣẹ́.
Àwọn Àlàyé Datasheet
Olùṣelọ́pọ̀
Espressif Systems
Nọ́mbà apá
ESP32
Voltage Logic/IO
3.3 V
Voltage ìpèsè
3.0 - 3.6 V
Ìwọ̀n ìjàde (fún GPIO)
40 mA tó pọ̀ jù
Ìtọ́sọ́nà ìgbohùnsáfẹ́fẹ́ PWM
1 kHz - 40 kHz
Àwọn ìwọ̀n ààlà logic input
Gíga: 2.0 V tó kéré jù, Kéré: 0.8 V tó pọ̀ jù
Ìrẹwẹ̀sì voltage / RDS(on) / saturation
0.3 V tó pọ̀ jù
Àwọn ààlà ooru
-40 °C sí 125 °C
Àkójọpọ̀
QFN48
Àwọn àkíyèsí / àwọn oríṣi
Ó ń ṣètìlẹ́yìn fún ọ̀pọ̀ àwọn ìlànà Wi-Fi àti Bluetooth
Lo resistor 10 kΩ kan nínú ìtòlẹ́sẹẹsẹ pẹ̀lú LDR fún pípín voltage.
Rí i dájú pé a fi 3.3 V ń pèsè agbára fún ESP32 láti yẹra fún ìbàjẹ́.
So LDR àti resistor pọ̀ dáradára láti díwọ̀n ìwọ̀n ìmọ́lẹ̀.
Lo capacitor fún decoupling bí ó bá pọn dandan láti mú ìpèsè agbára dúró.
Ṣàyẹ̀wò àwọn iye kíkà analog láti rí i dájú pé wọ́n wà láàárín àwọn ìwọ̀n tí a retí.
Àwọn Ìtọ́sọ́nà Ìsopọ̀
ESP32-22_light_sensor-wiring
Láti so LDR àti resistor pọ̀ sí ESP32, bẹ̀rẹ̀ nípa síso ọ̀kan nínú àwọn ẹ̀yà LDR pọ̀ sí pin agbára 3.3 V lórí ESP32. Ẹ̀yà kejì LDR yẹ kí ó so pọ̀ sí ọ̀kan nínú àwọn ẹ̀yà resistor 10 kΩ náà. So ẹ̀yà kejì resistor pọ̀ sí ilẹ̀.
Lẹ́yìn náà, so okun waya kan láti ibi ìkọ̀rọ̀ láàárín LDR àti resistor sí pin 35 lórí ESP32. Ìtòlẹ́sẹẹsẹ yìí dá voltage divider, tí ó jẹ́ kí ESP32 lè ka voltage tó ń yàtọ̀ ní ìbámu pẹ̀lú ìwọ̀n ìmọ́lẹ̀ tó ń lu LDR. Rí i dájú pé gbogbo àwọn ìsopọ̀ mú ṣinṣin àti pé LDR wà ní ibi tí ó lè gbé ìmọ́lẹ̀ tó ń yàtọ̀ wòye dáradára.
Àwọn Àpẹẹrẹ Kóòdù & Àlàyé
Nínú kóòdù náà, a bẹ̀rẹ̀ nípa ṣíṣe ìbánisọ̀rọ̀ serial láti ṣàkíyèsí àwọn ìwọ̀n tí ń bọ̀ láti LDR. Ìdámọ̀ pàtàkì níbí ni analogValue, èyí tí ó ń tọ́jú ìwọ̀n tí ń bọ̀ láti pin 35.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}
Àkójọpọ̀ kóòdù yìí ṣe ìbẹ̀rẹ̀ ìbánisọ̀rọ̀ serial ní ìwọ̀n baud 115200 àti pé ó ń ka iye analog láti pin 35 nígbà gbogbo. A ń tẹ̀ iye náà sínú ìbánisọ̀rọ̀ serial, tí ó jẹ́ kí a lè kíyèsi bí ó ṣe ń yàtọ̀ pẹ̀lú àwọn ìwọ̀n ìmọ́lẹ̀ tó ń yàtọ̀.
Nígbà tí ìwọ̀n ìmọ́lẹ̀ bá yàtọ̀, resistance ti LDR ń yàtọ̀, àti bẹ́ẹ̀ ni voltage tí ESP32 ń kà yóò yàtọ̀, tí ó ń fi àwọn ipò ìmọ́lẹ̀ hàn (nínú fídíò ní 12:45).
Ìfihàn / Ohun Tí O Lè Retí
Bí o ṣe ń ṣiṣẹ́ ètò náà tí o sì ń wo ìbánisọ̀rọ̀ serial, o yẹ kí o rí ADC analog value tí ń yí padà ní ìbámu pẹ̀lú àwọn ipò ìmọ́lẹ̀ àyíká. Nígbà tí o bá bo LDR mọ́lẹ̀, iye náà yẹ kí ó pọ̀ sí i, tí ó ń fi resistance púpọ̀ hàn, nígbà tí ó bá sì fà á sí ìmọ́lẹ̀ gangan, iye náà yẹ kí ó dín kù gan-an. Ìwà yìí ni a lè lò láti mú buzzer tàbí ìgbésẹ̀ mìíràn ṣiṣẹ́ ní ìbámu pẹ̀lú àwọn ìwọ̀n ààlà tí a ti yàn tẹ́lẹ̀.
Bí àwọn ìwọ̀n náà kò bá yàtọ̀ bí a ti retí, ṣàyẹ̀wò fún àwọn ìṣòro ìsopọ̀, rí i dájú pé LDR kò ṣe fóòfóò, àti pé a fi agbára pèsè ESP32 dáradára. Èyí yóò ràn wá lọ́wọ́ láti yẹra fún àwọn ìdìpọ̀ tó wọ́pọ̀ àti láti rí i dájú pé iṣẹ́ ń lọ dáradára (nínú fídíò ní 15:30).
Àwọn Àkókò Nínú Fídíò
00:00 Ìbẹ̀rẹ̀
1:48 Ìfihàn LDR
8:33 Àlàyé Ìsopọ̀
11:07 Àlàyé kóòdù Arduino
13:07 Yíyan bọ́ọ̀dù ESP32 àti ebute COM nínú Arduino IDE
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
Ede: C++
void setup() {
// initialize serial communication at 115200 bits per second:
Serial.begin(115200);
}
void loop() {
// read the analog value
int analogValue = analogRead(35);
// print out the values you read:
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100); // delay in between reads for clear read from serial
}
Ifihan: Gẹ́gẹ́ bíi ọmọ ẹgbẹ́ Amazon, a ń rí owó láti inú rira tó yẹ. Èyí túmọ̀ sí i pé a lè gba owó kékèké tí o bá tẹ̀ sí ìjápọ̀ kan kí o sì ra nkan kan láìsí owó míràn fún ọ.