Tafuta Msimbo

Mafunzo ya ESP32 23/55 - Kusoma Voltage ya potentiometer kwa kutumia ESP32 | Kifurushi cha ESP32 IoT cha SunFounder

Mafunzo ya ESP32 23/55 - Kusoma Voltage ya potentiometer kwa kutumia ESP32 | Kifurushi cha ESP32 IoT cha SunFounder

Katika mafunzo haya, tutajifunza jinsi ya kupima voltage ya DC kutoka kwenye potentiometer kwa kutumia moduli ya ESP32 kutoka SunFounder. Mradi huu pia utaonyesha jinsi ya kufifisha LED kulingana na nafasi ya potentiometer. Unapozungusha potentiometer kinyume cha saa, usomaji wa voltage hupungua na LED hufifia ipasavyo. Zoezi hili litatoa uelewa wa vitendo wa kutumia kibadilishaji cha analogi hadi dijiti (ADC) katika ESP32.

potentiometer
Potentiometer or variable resistor
Potentiometer au kinzani kinachobadilika

ESP32 ni kidhibiti kidogo chenye nguvu kilicho na uwezo wa Wi-Fi na Bluetooth uliojengewa ndani, na kuifanya kuwa bora kwa miradi ya IoT. Katika mafunzo haya, tutatumia vipengele vyake vya kuingiza analogi kusoma viwango vya voltage kutoka kwenye potentiometer, huku pia tukidhibiti mwangaza wa LED kulingana na usomaji huu. Matokeo yatakuwa LED inayoitikia ambayo hubadilisha kiwango chake unaporekebisha potentiometer.

Vifaa Vimeelezwa

Kwa mradi huu, tutahitaji vifaa vifuatavyo:

  • Moduli ya ESP32: Kidhibiti kidogo kikuu kitakachosoma voltage ya potentiometer na kudhibiti LED.
  • Potentiometer: Kizani kinachobadilika kinachotumika kurekebisha voltage. Ina pini tatu: mbili za vizuizi visivyobadilika na moja inayobadilika.
  • LED: Diode inayotoa mwanga ambayo mwangaza wake utadhibitiwa kulingana na nafasi ya potentiometer.
  • Kizani: Kizani cha ohm 220 cha kupunguza mkondo unaopita kwenye LED.

Potentiometer hufanya kazi kwa kubadilisha upinzani kati ya pini zake, ikiruhusu kuzalisha voltage ambayo ESP32 inaweza kusoma kupitia ADC yake. Mwangaza wa LED unadhibitiwa kwa kutumia Urekebishaji wa Upana wa Pigo (PWM) ili kurekebisha nguvu inayotolewa kwake kulingana na usomaji wa analogi.

Maelezo ya Datasheet

Maagizo ya Uunganishaji

ESP32-23-fading-LED_pot-wiring

Ili kuunganisha vifaa, anza kwa kuunganisha potentiometer. Unganisha moja ya pini zake za nje kwenye usambazaji wa nguvu wa 3.3V kwenye ESP32. Unganisha pini nyingine ya nje kwenye ardhi (GND). Pini ya kati ya potentiometer itaunganishwa kwenye pini 35 kwenye ESP32, ambayo hutumika kusoma voltage ya analogi.

Kisha, kwa LED, unganisha pini ndefu (anode) kwenye pini 26 kwenye ESP32 kupitia kizani cha ohm 220. Unganisha pini fupi (cathode) ya LED kwenye ardhi. Hakikisha kwamba miunganisho yote ni salama na angalia mara mbili mwelekeo wa LED ili kuzuia uharibifu.

Potentiometer or variable resistor

Mifano ya Msimbo na Maelekezo

Kipande kifuatacho cha msimbo kinaonyesha jinsi ya kusanidi ESP32 kusoma potentiometer na kudhibiti LED:

const int potPin = 35; // Potentiometer imeunganishwa kwenye
const int ledPin = 26; // LED imeunganishwa kwenye

// Mipangilio ya PWM
const int freq = 5000; // Masafa ya PWM
const int resolution = 12; // Azimio la PWM (biti)

Katika sehemu hii, tunafafanua pini za potentiometer na LED. Masafa ya PWM na azimio pia vimewekwa, ambavyo vitaamua viwango vya mwangaza wa LED.

Ifuatayo, tutaanzisha usanidi:

void setup() {
  Serial.begin(115200);

  // Sanidi PWM
  ledcAttach(ledPin, freq, resolution);
}

Katika kazi ya setup, tunaanzisha mawasiliano ya serial na kusanidi mipangilio ya PWM kwa LED. Usanidi huu unaendeshwa mara moja wakati programu inapoanza.

Hatimaye, kazi ya loop inasoma thamani ya potentiometer kila mara na kurekebisha mwangaza wa LED:

void loop() {
  int potValue = analogRead(potPin); // soma thamani ya potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Soma voltage katika millivolti

  ledcWrite(ledPin, potValue);
  // Pato la serial limeachwa kwa ufupi
}

Katika loop, tunasoma thamani ya analogi kutoka kwenye potentiometer na kuibadilisha ili kudhibiti mwangaza wa LED. Pato la serial linaonyesha thamani ya potentiometer na voltage, kusaidia kuthibitisha usomaji.

Maonyesho / Nini cha Kutarajia

Wakati mzunguko umewekwa vizuri na msimbo umepakiwa, kuzungusha potentiometer kunapaswa kusababisha mabadiliko yanayolingana katika usomaji wa voltage unaoonyeshwa kwenye kichunguzi cha serial. LED inapaswa kufifia vizuri ndani na nje wakati potentiometer inarekebishwa. Ikiwa LED haijibu kama inavyotarajiwa, angalia miunganisho ya waya na uhakikishe kwamba potentiometer inafanya kazi vizuri (katika video saa 11:30).

Vidokezo vya Muda wa Video

  • 00:00 Anza
  • 2:02 Pot ni nini
  • 4:15 Kupima upinzani wa pot
  • 6:59 Ukurasa wa nyaraka
  • 8:56 Uunganishaji umeelezwa
  • 12:28 Msimbo wa Arduino umeelezwa
  • 15:58 Kuchagua bodi ya ESP32 na bandari ya COM katika Arduino IDE
  • 17:40 Maonyesho ya kusoma thamani ya pot na ESP32

Bilder

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
Språk: C++
const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

void setup() {
  Serial.begin(115200);

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

void loop() {

  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);

  Serial.print("Potentiometer Value: ");
  Serial.print(potValue);
  Serial.print(", Voltage: ");
  Serial.print(voltage_mV / 1000.0); // Convert millivolts to volts
  Serial.println(" V");

  delay(100);
}

Resurser och referenser

Filer📁

Inga filer tillgängliga.