Search Code

Èkó ESP32 23/55 - Kíkà foltájì ti potentiometer pẹ̀lú ESP32 | SunFounder's ESP32 IoT kit

Èkó ESP32 23/55 - Kíkà foltájì ti potentiometer pẹ̀lú ESP32 | SunFounder's ESP32 IoT kit

Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe ń wọn folti DC láti inú potentiometer kan nípa lílo module ESP32 láti ọ̀dọ̀ SunFounder. Iṣẹ́ yìí yóò tún ṣàfihàn bí a ṣe ń sọ LED kan di ìmọ́lẹ̀ tí ó ń rọ̀ yọ̀ọ̀yọ̀ọ̀yọ̀ ní ìbámu pẹ̀lú ipò potentiometer náà. Bí o ṣe ń yí potentiometer náà padà sí ọ̀nà òdì (counterclockwise), ìwọ̀n folti yóò dín kù, LED náà yóò sì rọ̀ yọ̀ọ̀yọ̀ọ̀yọ̀ ní ìbámu. Ìdánwò yìí yóò fún ọ ní òye tí ó wúlò nípa lílo olùyípadà oní nọ́mbà (ADC) nínú ESP32.

potentiometer
Potentiometer or variable resistor
Potentiometer tàbí resistor oníyípadà

ESP32 jẹ́ olùdarí micro kan tí ó lágbára tí ó ní agbára Wi-Fi àti Bluetooth nínú ara rẹ̀, tí ó mú un dára fún àwọn iṣẹ́ IoT. Nínú ẹ̀kọ́ yìí, a óò lo àwọn ẹ̀yà ìfidánwò oní nọ́mbà rẹ̀ láti ka àwọn ìpele folti láti inú potentiometer kan, ní àkókò kan náà tí a óò sì ń ṣàkóso ìmọ́lẹ̀ LED kan ní ìbámu pẹ̀lú àwọn ìwọ̀n wọ̀nyẹn. Àbájáde rẹ̀ yóò jẹ́ LED tí ń fèsì tí yóò yí ìmọ́lẹ̀ rẹ̀ padà bí o ṣe ń ṣàtúnṣe potentiometer náà.

Àlàyé Ohun Èlò

Fún iṣẹ́ yìí, a óò nílò àwọn ohun èlò wọ̀nyí:

  • Module ESP32: Olùdarí micro pàtàkì tí yóò ka folti potentiometer náà kí ó sì ṣàkóso LED náà.
  • Potentiometer: Resistor oníyípadà kan tí a ń lò láti ṣàtúnṣe folti. Ó ní àwọn ẹ̀yà mẹ́ta: méjì fún àwọn resistor tí kò yípadà àti ọ̀kan tí ń yípadà.
  • LED: Diode tí ń tàn (light-emitting diode) tí a óò ṣàkóso ìmọ́lẹ̀ rẹ̀ ní ìbámu pẹ̀lú ipò potentiometer náà.
  • Resistor: Resistor 220-ohm kan láti dí iye iná tí ń kọjá nínú LED náà.

Potentiometer náà ń ṣiṣẹ́ nípa yíyí resistance padà láàárín àwọn ẹ̀yà rẹ̀, tí ó ń jẹ́ kí ó ṣe iná folti kan tí ESP32 lè ka nípa lílo ADC rẹ̀. A ń ṣàkóso ìmọ́lẹ̀ LED náà nípa lílo Pulse Width Modulation (PWM) láti ṣàtúnṣe agbára tí a ń fi fún un ní ìbámu pẹ̀lú ìwọ̀n oní nọ́mbà náà.

Àwọn Àlàyé Datasheet

Àwọn Ìtọ́nisọ́nà Ìsopọ̀

ESP32-23-fading-LED_pot-wiring

Láti so àwọn ohun èlò pọ̀, bẹ̀rẹ̀ nípa sísopọ̀ potentiometer náà. So ọ̀kan nínú àwọn ẹ̀yà òde rẹ̀ pọ̀ mọ́ ìpèsè agbára 3.3V lórí ESP32. So ẹ̀yà òde kejì pọ̀ mọ́ ilẹ̀ (GND). Ẹ̀yà àárín potentiometer náà yóò sopọ̀ mọ́ ẹ̀yà 35 lórí ESP32, èyí tí a ń lò fún kíkà folti oní nọ́mbà.

Ní ìgbà tí ó tó, fún LED náà, so ẹ̀yà tí ó gùn (anode) pọ̀ mọ́ ẹ̀yà 26 lórí ESP32 nípasẹ̀ resistor 220-ohm kan. So ẹ̀yà kúkúrú (cathode) ti LED náà pọ̀ mọ́ ilẹ̀. Rí i dájú pé gbogbo àwọn ìsopọ̀ ti lágbára, kí o sì tún ṣàyẹ̀wò ìtọ́sọ́nà LED náà lẹ́ẹ̀mejì láti yẹra fún ìbàjẹ́.

Potentiometer or variable resistor

Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà

Ìsopọ̀ kóòdù tí ó tẹ̀lé yìí ṣàfihàn bí a ṣe ń ṣètò ESP32 láti ka potentiometer náà kí ó sì ṣàkóso LED náà:

const int potPin = 35; // Potentiometer ti a sopọ̀ mọ́
const int ledPin = 26; // LED ti a sopọ̀ mọ́

// Àwọn ètò PWM
const int freq = 5000; // Ìgbohùnsá PWM
const int resolution = 12; // Ìpinnu PWM (àwọn bíìtì)

Nínú ìyọ̀kúrò yìí, a ń ṣàlàyé àwọn ẹ̀yà fún potentiometer àti LED. A tún ṣètò ìgbohùnsá PWM àti ìpinnu rẹ̀, èyí tí yóò pinnu àwọn ìpele ìmọ́lẹ̀ LED náà.

Ní ìgbà tí ó tó, a óò bẹ̀rẹ̀ ètò náà:

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

  // Ṣètò PWM
  ledcAttach(ledPin, freq, resolution);
}

Nínú iṣẹ́ setup, a ń bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial kí a sì ṣètò àwọn ètò PWM fún LED náà. Ètò yìí ń ṣiṣẹ́ lẹ́ẹ̀kan nígbà tí ètò náà bá bẹ̀rẹ̀.

Ní ìparí, iṣẹ́ loop ń ka iye potentiometer náà nígbà gbogbo kí ó sì ṣàtúnṣe ìmọ́lẹ̀ LED náà:

void loop() {
  int potValue = analogRead(potPin); // ka iye potentiometer náà
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Ka folti náà ní millivolts

  ledcWrite(ledPin, potValue);
  // A fi ìtẹ́jáde serial sílẹ̀ fún kúrú
}

Nínú loop, a ń ka iye oní nọ́mbà láti inú potentiometer náà kí a sì túmọ̀ rẹ̀ sí ìṣàkóso ìmọ́lẹ̀ LED. Ìtẹ́jáde serial ń fi iye potentiometer àti folti hàn, tí ó ń ràn wá lọ́wọ́ láti rí i dájú pé àwọn ìwọ̀n náà tọ̀nà.

Ìfihàn / Ohun Tí O Lè Retí

Nígbà tí a bá ti so àwọn ohun èlò pọ̀ dáradára tí a sì ti gbé kóòdù náà sí inú rẹ̀, yíyí potentiometer náà yóò yọrí sí ìyípadà tí ó bá mu nínú ìwọ̀n folti tí ń hàn nínú àkójọpọ̀ serial. LED náà yóò rọ̀ yọ̀ọ̀yọ̀ọ̀yọ̀ ní ìrọ̀rùn bí o ṣe ń ṣàtúnṣe potentiometer náà. Bí LED náà kò bá fèsì bí a ti retí, ṣàyẹ̀wò àwọn ìsopọ̀ kí o sì rí i dájú pé potentiometer náà ń ṣiṣẹ́ dáradára (nínú fídíò ní 11:30).

Àwọn Àkókò Nínú Fídíò

  • 00:00 Ìbẹ̀rẹ̀
  • 2:02 Kí ni Pot
  • 4:15 Wíwọn resistance pot náà
  • 6:59 Ojú-ewé Ìwé Àkọsílẹ̀
  • 8:56 Ìtọ́sọ́nà Ìsopọ̀
  • 12:28 Ìtọ́sọ́nà kóòdù Arduino
  • 15:58 Yíyàn bọ́ọ̀dù ESP32 àti ẹ̀yà COM nínú Arduino IDE
  • 17:40 Ìfihàn kíkà iye pot pẹ̀lú ESP32

Aworan

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
Ede: 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);
}

Orisun & itọkasi

Fáìlìs📁

Ko si awọn faili ti o wa.