Tafuta Msimbo

Mafunzo ya ESP32 22/55 - Kuhisi mwanga kwa kutumia LED Arduino | Kifurushi cha Kujifunza cha ESP32 IoT cha SunFounder

Mafunzo ya ESP32 22/55 - Kuhisi mwanga kwa kutumia LED Arduino | Kifurushi cha Kujifunza cha ESP32 IoT cha SunFounder

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

MtengenezajiEspressif Systems
Nambari ya sehemuESP32
Voltage ya Logic/IO3.3 V
Voltage ya usambazaji3.0 - 3.6 V
Mkondo wa pato (kwa kila GPIO)Upeo wa 40 mA
Mwongozo wa mzunguko wa PWM1 kHz - 40 kHz
Viwango vya kizingiti cha logic ya kuingizaJuu: kiwango cha chini 2.0 V, Chini: kiwango cha juu 0.8 V
Kushuka kwa voltage / RDS(on) / kuenezaUpeo wa 0.3 V
Vikomo vya joto-40 °C hadi 125 °C
KifurushiQFN48
Vidokezo / lahajaInasaidia 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
  • 14:49 Maonyesho ya kusoma thamani
  • 17:24 Kuelewa thamani ya Mchana na Usiku
  • 18:47 Thamani ya DAC na kusoma Voltage

Bilder

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
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
}

Resurser och referenser

Filer📁

Inga filer tillgängliga.