Katika mafunzo haya, tutachunguza jinsi ya kutumia Kipinga Kinachotegemea Mwanga (LDR) na kidhibiti ESP32 kupima kiwango cha mwanga. Kwa kusoma upinzani wa LDR, tunaweza kuanzisha vitendo, kama vile kuwasha buzzer wakati kiwango cha mwanga kinapozidi kikomo fulani. Mradi huu utaonyesha mwingiliano kati ya viwango vya mwanga na uwezo wa ESP32 wa kusoma thamani za analogi, kuturuhusu kuunda programu zinazojibu kulingana na mwanga wa mazingira. (katika video saa 5:30)
Vifaa Vimeelezwa
Vipengele vikuu tutakavyotumia katika mradi huu ni pamoja na kidhibiti ESP32, LDR, na kipinga cha 10 kΩ. LDR hubadilisha upinzani wake kulingana na kiwango cha mwanga kinachogonga uso wake: mwanga mwingi husababisha upinzani mdogo, wakati mwanga mdogo husababisha upinzani mkubwa. Sifa hii inaturuhusu kupima viwango tofauti vya mwanga kwa kuunganisha LDR katika mpangilio wa kugawanya voltage na kipinga.
Kidhibiti ESP32 kina Wi-Fi na Bluetooth zilizojengewa ndani, na kukifanya kuwa bora kwa miradi ya IoT. Kina pini kadhaa za analogi zinazoweza kusoma viwango tofauti vya voltage, ambazo tutazitumia kufuatilia voltage kwenye LDR. Voltage hii itabadilishwa kuwa thamani ya analogi ambayo ESP32 inaweza kusindika na kutumia kuanzisha vitendo kama vile kuwasha buzzer.
Maelezo ya Datasheet
Mtengenezaji
Espressif Systems
Nambari ya sehemu
ESP32
Voltage ya Logic/IO
3.3 V
Voltage ya usambazaji
3.0 - 3.6 V
Mkondo wa pato (kwa kila GPIO)
Upeo wa 40 mA
Mwongozo wa mzunguko wa PWM
1 kHz - 40 kHz
Viwango vya kizingiti cha logic ya kuingiza
Juu: kiwango cha chini 2.0 V, Chini: kiwango cha juu 0.8 V
Kushuka kwa voltage / RDS(on) / kueneza
Upeo wa 0.3 V
Vikomo vya joto
-40 °C hadi 125 °C
Kifurushi
QFN48
Vidokezo / lahaja
Inasaidia itifaki nyingi za Wi-Fi na Bluetooth
Tumia kipinga cha 10 kΩ kwa mfululizo na LDR kwa mgawanyo wa voltage.
Hakikisha ESP32 ina nguvu ya 3.3 V ili kuepuka uharibifu.
Unganisha LDR na kipinga kwa usahihi ili kupima kiwango cha mwanga.
Tumia capacitor kwa ajili ya kutenganisha ikiwa inahitajika kuimarisha usambazaji wa nguvu.
Angalia thamani za usomaji wa analogi ili kuhakikisha ziko ndani ya mipaka inayotarajiwa.
Maagizo ya Uunganishaji wa Waya
ESP32-22_light_sensor-wiring
Ili kuunganisha LDR na kipinga kwenye ESP32, anza kwa kuunganisha ncha moja ya LDR kwenye pini ya nguvu ya 3.3 V kwenye ESP32. Ncha nyingine ya LDR inapaswa kuunganishwa kwenye ncha moja ya kipinga cha 10 kΩ. Unganisha ncha nyingine ya kipinga kwenye ardhi (ground).
Kisha, unganisha waya wa kurukia kutoka kwenye sehemu ya makutano kati ya LDR na kipinga hadi kwenye pini 35 kwenye ESP32. Mpangilio huu unaunda mgawanyo wa voltage, unaoruhusu ESP32 kusoma voltage inayobadilika kulingana na kiwango cha mwanga kinachogonga LDR. Hakikisha miunganisho yote ni thabiti na kwamba LDR imewekwa mahali ambapo inaweza kuhisi mabadiliko ya mwanga kwa usahihi.
Mifano ya Msimbo na Maelezo
Katika msimbo, tunaanza kwa kuanzisha mawasiliano ya serial ili kufuatilia usomaji kutoka kwa LDR. Kitambulisho muhimu hapa ni analogValue, ambacho huhifadhi usomaji kutoka kwenye pini 35.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}
Kipande hiki cha msimbo kinaanzisha kichunguzi cha serial kwa kasi ya baud ya 115200 na kusoma thamani ya analogi kutoka kwenye pini 35 kila mara. Thamani hiyo inachapishwa kwenye kichunguzi cha serial, kuturuhusu kuona jinsi inavyobadilika na viwango tofauti vya mwanga.
Wakati kiwango cha mwanga kinapobadilika, upinzani wa LDR hubadilika, na hivyo voltage inayosomwa na ESP32 pia itabadilika, ikionyesha hali ya mwanga (katika video saa 12:45).
Maonyesho / Nini cha Kutarajia
Unapoendesha programu na kuangalia kichunguzi cha serial, unapaswa kuona ADC analog value ikibadilika kulingana na hali ya mwanga wa mazingira. Unapofunika LDR, thamani inapaswa kuongezeka, ikionyesha upinzani mkubwa, wakati kuionyesha kwenye mwanga mkali kunapaswa kupunguza thamani kwa kiasi kikubwa. Tabia hii inaweza kutumika kuwasha buzzer au kitendo kingine chochote kulingana na vikomo vilivyowekwa mapema.
Ikiwa usomaji haubadiliki kama inavyotarajiwa, angalia masuala ya uunganishaji wa waya, hakikisha LDR haijaelea (floating), na thibitisha kwamba ESP32 ina nguvu sahihi. Hii itasaidia kuzuia makosa ya kawaida na kuhakikisha uendeshaji mzuri (katika video saa 15:30).
Vidokezo vya Muda wa Video
00:00 Mwanzo
1:48 Utangulizi wa LDR
8:33 Uunganishaji wa waya umeelezwa
11:07 Msimbo wa Arduino umeelezwa
13:07 Kuchagua bodi ya ESP32 na bandari ya COM katika Arduino IDE
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
Språk: 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
}
Upplysning: Som en Amazon Associate tjänar vi på kvalificerade köp. Det betyder att vi kan få en liten provision om du klickar på en länk och gör ett köp utan extra kostnad för dig.