Search Code

ESP32 ટ્યુટોરિયલ 23/55 - ESP32 નો ઉપયોગ કરીને પોટેન્શિયોમીટરનું વોલ્ટેજ વાંચવું | SunFounder ની ESP32 IoT કિટ

ESP32 ટ્યુટોરિયલ 23/55 - ESP32 નો ઉપયોગ કરીને પોટેન્શિયોમીટરનું વોલ્ટેજ વાંચવું | SunFounder ની ESP32 IoT કિટ

આ ટ્યુટોરિયલમાં, આપણે SunFounder ના ESP32 મોડ્યુલનો ઉપયોગ કરીને પોટેન્શિયોમીટરમાંથી DC વોલ્ટેજ કેવી રીતે માપવું તે શીખીશું. આ પ્રોજેક્ટ પોટેન્શિયોમીટરની સ્થિતિના આધારે LED ને કેવી રીતે ઝાંખી કરવી તે પણ દર્શાવશે. જેમ તમે પોટેન્શિયોમીટરને ઘડિયાળની વિરુદ્ધ દિશામાં ફેરવો છો, તેમ વોલ્ટેજ રીડિંગ ઘટે છે અને LED તે મુજબ ઝાંખી થાય છે. આ પ્રયોગ ESP32 માં એનાલોગ-થી-ડિજિટલ કન્વર્ટર (ADC) નો ઉપયોગ કરવાની વ્યવહારિક સમજ પ્રદાન કરશે.

પોટેન્શિયોમીટર
Potentiometer or variable resistor
પોટેન્શિયોમીટર અથવા ચલ રેઝિસ્ટર

ESP32 એ એક શક્તિશાળી માઇક્રોકંટ્રોલર છે જે બિલ્ટ-ઇન Wi-Fi અને બ્લૂટૂથ ક્ષમતાઓથી સજ્જ છે, જે તેને IoT પ્રોજેક્ટ્સ માટે આદર્શ બનાવે છે. આ ટ્યુટોરિયલમાં, આપણે પોટેન્શિયોમીટરમાંથી વોલ્ટેજ સ્તર વાંચવા માટે તેની એનાલોગ ઇનપુટ સુવિધાઓનો ઉપયોગ કરીશું, સાથે સાથે આ રીડિંગ્સના આધારે LED ની તેજસ્વિતાને નિયંત્રિત કરીશું. પરિણામ એક પ્રતિભાવશીલ LED હશે જે તમે પોટેન્શિયોમીટરને સમાયોજિત કરો છો તેમ તેની તીવ્રતા બદલશે.

હાર્ડવેર સમજાવ્યું

આ પ્રોજેક્ટ માટે, આપણને નીચેના ઘટકોની જરૂર પડશે:

  • ESP32 મોડ્યુલ: મુખ્ય માઇક્રોકંટ્રોલર જે પોટેન્શિયોમીટરનો વોલ્ટેજ વાંચશે અને LED ને નિયંત્રિત કરશે.
  • પોટેન્શિયોમીટર: વોલ્ટેજને સમાયોજિત કરવા માટે વપરાતો ચલ રેઝિસ્ટર. તેમાં ત્રણ પિન છે: બે નિશ્ચિત રેઝિસ્ટર માટે અને એક જે બદલાય છે.
  • LED: એક લાઇટ-એમિટિંગ ડાયોડ જેની તેજસ્વિતા પોટેન્શિયોમીટરની સ્થિતિના આધારે નિયંત્રિત થશે.
  • રેઝિસ્ટર: LED મારફતે પ્રવાહને મર્યાદિત કરવા માટે 220-ઓહ્મ રેઝિસ્ટર.

પોટેન્શિયોમીટર તેની પિન વચ્ચે પ્રતિકાર બદલીને કાર્ય કરે છે, જે તેને એક વોલ્ટેજ ઉત્પન્ન કરવાની મંજૂરી આપે છે જે ESP32 તેના ADC દ્વારા વાંચી શકે છે. LED ની તેજસ્વિતા પલ્સ વિડ્થ મોડ્યુલેશન (PWM) નો ઉપયોગ કરીને નિયંત્રિત થાય છે જે એનાલોગ રીડિંગના આધારે તેને પૂરી પાડવામાં આવતી શક્તિને સમાયોજિત કરે છે.

ડેટાશીટ વિગતો

વાયરિંગ સૂચનાઓ

ESP32-23-fading-LED_pot-wiring

ઘટકોને વાયર કરવા માટે, પોટેન્શિયોમીટરને જોડીને શરૂ કરો. તેની એક બાહ્ય પિનને ESP32 પરના 3.3V પાવર સપ્લાય સાથે જોડો. બીજી બાહ્ય પિનને ગ્રાઉન્ડ (GND) સાથે જોડો. પોટેન્શિયોમીટરની મધ્યમ પિન ESP32 પર પિન 35 સાથે જોડાશે, જેનો ઉપયોગ એનાલોગ વોલ્ટેજ વાંચવા માટે થાય છે.

આગળ, LED માટે, લાંબી પિન (એનોડ) ને 220-ઓહ્મ રેઝિસ્ટર દ્વારા ESP32 પર પિન 26 સાથે જોડો. LED ની ટૂંકી પિન (કેથોડ) ને ગ્રાઉન્ડ સાથે જોડો. ખાતરી કરો કે બધા જોડાણો સુરક્ષિત છે અને નુકસાન અટકાવવા માટે LED ની દિશા બે વાર તપાસો.

Potentiometer or variable resistor

કોડ ઉદાહરણો અને વોકથ્રુ

નીચેનો કોડ સ્નિપેટ દર્શાવે છે કે પોટેન્શિયોમીટરને વાંચવા અને LED ને નિયંત્રિત કરવા માટે ESP32 ને કેવી રીતે સેટ કરવું:

const int potPin = 35; // પોટેન્શિયોમીટર સાથે જોડાયેલું
const int ledPin = 26; // LED સાથે જોડાયેલું

// PWM સેટિંગ્સ
const int freq = 5000; // PWM આવૃત્તિ
const int resolution = 12; // PWM રિઝોલ્યુશન (બિટ્સ)

આ ભાગમાં, આપણે પોટેન્શિયોમીટર અને LED માટે પિન વ્યાખ્યાયિત કરીએ છીએ. PWM આવૃત્તિ અને રિઝોલ્યુશન પણ સેટ કરવામાં આવ્યા છે, જે LED ના તેજસ્વિતા સ્તરો નક્કી કરશે.

આગળ, આપણે સેટઅપ શરૂ કરીશું:

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

  // PWM ગોઠવો
  ledcAttach(ledPin, freq, resolution);
}

સેટઅપ ફંક્શનમાં, આપણે સીરિયલ કમ્યુનિકેશન શરૂ કરીએ છીએ અને LED માટે PWM સેટિંગ્સ ગોઠવીએ છીએ. આ સેટઅપ પ્રોગ્રામ શરૂ થાય ત્યારે એક વાર ચાલે છે.

છેલ્લે, લૂપ ફંક્શન સતત પોટેન્શિયોમીટર મૂલ્ય વાંચે છે અને LED ની તેજસ્વિતાને સમાયોજિત કરે છે:

void loop() {
  int potValue = analogRead(potPin); // પોટેન્શિયોમીટરનું મૂલ્ય વાંચો
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // વોલ્ટેજને મિલિવોલ્ટમાં વાંચો

  ledcWrite(ledPin, potValue);
  // સીરિયલ આઉટપુટ સંક્ષિપ્તતા માટે છોડી દેવામાં આવ્યું છે
}

લૂપમાં, આપણે પોટેન્શિયોમીટરમાંથી એનાલોગ મૂલ્ય વાંચીએ છીએ અને તેને LED ની તેજસ્વિતાને નિયંત્રિત કરવા માટે ભાષાંતર કરીએ છીએ. સીરિયલ આઉટપુટ પોટેન્શિયોમીટર મૂલ્ય અને વોલ્ટેજ બતાવે છે, જે રીડિંગ્સ ચકાસવામાં મદદ કરે છે.

પ્રદર્શન / શું અપેક્ષા રાખવી

જ્યારે સર્કિટ યોગ્ય રીતે સેટ થાય છે અને કોડ અપલોડ થાય છે, ત્યારે પોટેન્શિયોમીટરને ફેરવવાથી સીરિયલ મોનિટરમાં દર્શાવેલ વોલ્ટેજ રીડિંગમાં અનુરૂપ ફેરફાર થવો જોઈએ. પોટેન્શિયોમીટરને સમાયોજિત કરતાં LED સરળતાથી ઝાંખી અને તેજ થવી જોઈએ. જો LED અપેક્ષા મુજબ પ્રતિસાદ ન આપે, તો વાયરિંગ જોડાણો તપાસો અને ખાતરી કરો કે પોટેન્શિયોમીટર યોગ્ય રીતે કાર્ય કરી રહ્યું છે (વિડિઓમાં 11:30 પર).

વિડિઓ સમયસ્ટેમ્પ્સ

  • 00:00 શરૂઆત
  • 2:02 પોટ શું છે
  • 4:15 પોટનો પ્રતિકાર માપવો
  • 6:59 દસ્તાવેજીકરણ પૃષ્ઠ
  • 8:56 વાયરિંગ સમજાવ્યું
  • 12:28 Arduino કોડ સમજાવ્યો
  • 15:58 Arduino IDE માં ESP32 બોર્ડ અને COM પોર્ટ પસંદ કરવું
  • 17:40 ESP32 સાથે પોટ મૂલ્ય વાંચવાનું પ્રદર્શન

Images

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

Resources & references

Files📁

No files available.