આ ટ્યુટોરિયલમાં, આપણે SunFounder ના ESP32 મોડ્યુલનો ઉપયોગ કરીને પોટેન્શિયોમીટરમાંથી DC વોલ્ટેજ કેવી રીતે માપવું તે શીખીશું. આ પ્રોજેક્ટ પોટેન્શિયોમીટરની સ્થિતિના આધારે LED ને કેવી રીતે ઝાંખી કરવી તે પણ દર્શાવશે. જેમ તમે પોટેન્શિયોમીટરને ઘડિયાળની વિરુદ્ધ દિશામાં ફેરવો છો, તેમ વોલ્ટેજ રીડિંગ ઘટે છે અને LED તે મુજબ ઝાંખી થાય છે. આ પ્રયોગ ESP32 માં એનાલોગ-થી-ડિજિટલ કન્વર્ટર (ADC) નો ઉપયોગ કરવાની વ્યવહારિક સમજ પ્રદાન કરશે.
પોટેન્શિયોમીટરપોટેન્શિયોમીટર અથવા ચલ રેઝિસ્ટર
ESP32 એ એક શક્તિશાળી માઇક્રોકંટ્રોલર છે જે બિલ્ટ-ઇન Wi-Fi અને બ્લૂટૂથ ક્ષમતાઓથી સજ્જ છે, જે તેને IoT પ્રોજેક્ટ્સ માટે આદર્શ બનાવે છે. આ ટ્યુટોરિયલમાં, આપણે પોટેન્શિયોમીટરમાંથી વોલ્ટેજ સ્તર વાંચવા માટે તેની એનાલોગ ઇનપુટ સુવિધાઓનો ઉપયોગ કરીશું, સાથે સાથે આ રીડિંગ્સના આધારે LED ની તેજસ્વિતાને નિયંત્રિત કરીશું. પરિણામ એક પ્રતિભાવશીલ LED હશે જે તમે પોટેન્શિયોમીટરને સમાયોજિત કરો છો તેમ તેની તીવ્રતા બદલશે.
હાર્ડવેર સમજાવ્યું
આ પ્રોજેક્ટ માટે, આપણને નીચેના ઘટકોની જરૂર પડશે:
ESP32 મોડ્યુલ: મુખ્ય માઇક્રોકંટ્રોલર જે પોટેન્શિયોમીટરનો વોલ્ટેજ વાંચશે અને 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 ની દિશા બે વાર તપાસો.
કોડ ઉદાહરણો અને વોકથ્રુ
નીચેનો કોડ સ્નિપેટ દર્શાવે છે કે પોટેન્શિયોમીટરને વાંચવા અને 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 ના તેજસ્વિતા સ્તરો નક્કી કરશે.
સેટઅપ ફંક્શનમાં, આપણે સીરિયલ કમ્યુનિકેશન શરૂ કરીએ છીએ અને 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 પોર્ટ પસંદ કરવું
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.