કોડ શોધો

પાઠ 98-9: આર્ડુઇનો અથવા પોટેન્શિયોમીટર સાથે ચાલતી લાઇટનો ઉપયોગ કરીને LED વોલ્ટેજ લેવલ મીટર

પાઠ 98-9: આર્ડુઇનો અથવા પોટેન્શિયોમીટર સાથે ચાલતી લાઇટનો ઉપયોગ કરીને LED વોલ્ટેજ લેવલ મીટર

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

5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO
5 leds on breadboard with sliding veriable resistor shown connected to Arduino UNO

અહીં વ્યવહારુ મૂલ્ય લાઇટ શો કરતાં ઘણું આગળ જાય છે. એકવાર તમે સમજી લો કે માપેલા વોલ્ટેજને આઉટપુટના સમૂહ સાથે કેવી રીતે મેપ કરવું, તો તમે વાસ્તવિક ઇન્સ્ટ્રુમેન્ટેશન માટે એ જ પેટર્ન ફરીથી વાપરી શકો છો. ઉદાહરણ તરીકે, તમે બનાવી શકો છો:

  • બેટરી ચાર્જ ઇન્ડિકેટર જે 12 V અથવા USB પાવર બેંકની બાકી ક્ષમતા LED ની હરોળ તરીકે દર્શાવે છે.
  • પાણીની ટાંકીનું લેવલ ગેજ, જ્યાં ફ્લોટ સેન્સર ઊંડાઈના પ્રમાણમાં વોલ્ટેજ આઉટપુટ કરે છે.
  • LM35 જેવા એનાલોગ તાપમાન સેન્સરનો ઉપયોગ કરીને તાપમાન બાર ડિસ્પ્લે.
  • રેડિયો રિસીવર અથવા એમ્પ્લીફાયર માટે સિગ્નલ-સ્ટ્રેન્થ અથવા ઓડિયો-લેવલ મીટર.
  • કોઈપણ 0–5 V એનાલોગ ટ્રાન્સડ્યુસર (દબાણ, પ્રકાશ, સ્થિતિ) માટે સરળ સેન્સર રીડઆઉટ.
  • મલ્ટિમીટર સ્ક્રીન વિના પાવર રેલ્સ તપાસવા માટે બેન્ચ-ટેસ્ટ વોલ્ટેજ પ્રોબ.

કારણ કે થ્રેશોલ્ડ બોર્ડ વોલ્ટેજની ટકાવારી તરીકે ગણવામાં આવે છે, એ જ કોડ Uno અને Mega જેવા 5 V બોર્ડ પર અને 3.3 V બોર્ડ પર ફક્ત એક લાઇનના ફેરફાર સાથે કામ કરે છે.

હાર્ડવેર અને ઘટકો

ભાગોની યાદી જાણી જોઈને ન્યૂનતમ છે, અને બધું વિડિયોના શરૂઆતના ભાગમાં સમજાવવામાં આવ્યું છે (વિડિયોમાં 01:54 પર). તમારે જરૂર પડશે:

  • એક Arduino બોર્ડ (Uno, Nano, અથવા Mega).
  • પાંચ LED, આદર્શ રીતે એક જ રંગના જેથી બાર સ્પષ્ટ વંચાય, જોકે મિશ્ર રંગો પણ ઠીક કામ કરે છે.
  • પાંચ કરંટ-લિમિટિંગ રેઝિસ્ટર. ટ્યુટોરિયલ 1 kΩ રેઝિસ્ટરનો ઉપયોગ કરે છે, પરંતુ લગભગ 300 Ω થી 1 kΩ સુધીનું કંઈપણ કામ કરશે; વધુ મૂલ્યો ફક્ત LED ને મંદ કરે છે (વિડિયોમાં 05:33 પર).
  • એક પોટેન્શિયોમીટર. રોટરી નોબ પ્રકાર અને સ્લાઇડ પ્રકાર બંને દર્શાવવામાં આવ્યા છે (વિડિયોમાં 02:19 પર).
  • એક બ્રેડબોર્ડ અને જમ્પર વાયર.

LED વિશે ટૂંકી નોંધ, કારણ કે તે વાયરિંગ માટે મહત્વપૂર્ણ છે: LED એ ડાયોડ છે, તેથી તે ફક્ત એક જ દિશામાં વહન કરે છે. પ્લાસ્ટિક બોડીની સપાટ બાજુ, અને ટૂંકો પગ, કેથોડ (નેગેટિવ) છે. લાંબો પગ એનોડ (પોઝિટિવ) છે. ટ્યુટોરિયલ આ પ્રતીક અને ભૌતિક આકાર વિશે વિગતવાર સમજાવે છે (વિડિયોમાં 02:39 પર).

રેઝિસ્ટર મૂલ્ય મનસ્વી નથી. LED લગભગ 2 V ઘટાડે છે, અને નાના 3 mm અને 5 mm પ્રકારો લગભગ 10 mA ખેંચે છે. 5 V સપ્લાય સાથે, બાકીના 3 V રેઝિસ્ટરમાં ઘટાડવા પડે છે, તેથી ઓહ્મના નિયમ પ્રમાણે R = 3 V / 0.01 A = 300 Ω. તે મહત્તમ તેજ માટેનું મૂલ્ય છે; 1 kΩ નો ઉપયોગ સુરક્ષિત, થોડું મંદ પસંદગી છે (વિડિયોમાં 04:41 પર).

વાયરિંગ માર્ગદર્શિકા

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs

વાયરિંગનો LED વિભાગ અગાઉના વોકિંગ-લાઇટ પ્રોજેક્ટ જેવો જ છે: દરેક LED એનોડ તેના પોતાના ડિજિટલ પિન સાથે જોડાય છે, અને દરેક કેથોડ રેઝિસ્ટર દ્વારા સામાન્ય ગ્રાઉન્ડ રેલ પર જાય છે. ટ્યુટોરિયલમાં LED પિન 7, 6, 5, 4, અને 3 સાથે વાયર કરેલા છે (વિડિયોમાં 43:04 પર).

પોટેન્શિયોમીટર એકમાત્ર નવો ભાગ છે. તેના બે બહારના પિન બે પાવર રેલ પર જાય છે — એક બહારનો પિન ગ્રાઉન્ડ પર અને બીજો 5 V પર (અથવા 3.3 V જો તમે 3.3 V સિસ્ટમ માપી રહ્યા હોવ). મધ્યમ પિન, જેને વાઇપર કહેવાય છે, તે આઉટપુટ છે અને તે એનાલોગ પિન A0 સાથે જોડાવો જોઈએ (વિડિયોમાં 43:30 પર). વાઇપર એ છે જે ચલ વોલ્ટેજ ઉત્પન્ન કરે છે: જેમ તમે નોબ ફેરવો છો, વાઇપર પ્રતિરોધક ટ્રેક સાથે સરકે છે અને તે જે વોલ્ટેજ રજૂ કરે છે તે બે રેલ વચ્ચે સરળતાથી બદલાય છે.

એક મહત્વપૂર્ણ વિગત: જો તમે સર્કિટ ચાલુ હોય ત્યારે પોટેન્શિયોમીટર દૂર કરો છો, તો એનાલોગ પિન ફ્લોટિંગ રહી જાય છે અને LED રેન્ડમ રીતે ઝબકશે. તે વર્તન વિડિયોમાં દર્શાવવામાં આવ્યું છે (વિડિયોમાં 48:52 પર) અને તે સારી યાદ અપાવે છે કે એનાલોગ ઇનપુટને હંમેશા વ્યાખ્યાયિત વોલ્ટેજ સ્રોતની જરૂર પડે છે.

કોડ સમજૂતી

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

પિન વ્યાખ્યાઓ. આ Arduino ને કહે છે કે LED અને પોટેન્શિયોમીટર કયા પિન સાથે જોડાયેલા છે. જો તમે તમારા LED અલગ રીતે વાયર કર્યા હોય, તો આ નંબરો મેળ ખાવા માટે બદલો — ક્રમ મહત્વપૂર્ણ છે, કારણ કે LED1 સૌથી નીચું થ્રેશોલ્ડ છે અને LED5 સૌથી ઊંચું.

const int potPin = A0;//define a pin to connect potentiometer
const int LED1 = 7;
const int LED2 = 6;
const int LED3 = 5;
const int LED4 = 4;
const int LED5 = 3;

બોર્ડ વોલ્ટેજ. આ સૌથી મહત્વપૂર્ણ મૂલ્ય છે જે સાચું હોવું જોઈએ. તે એ સંદર્ભ છે જેના આધારે દરેક થ્રેશોલ્ડની ગણતરી કરવામાં આવે છે. Uno અથવા Mega માટે તેને 5.0 પર સેટ કરો, અને 3.3 V Nano અથવા સમાન બોર્ડ માટે 3.3 પર સેટ કરો. જો તમે તેને ખોટું છોડશો, તો દરેક LED ખોટા વોલ્ટેજ પર સ્વિચ થશે (વિડિયોમાં 44:19 પર).

float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V

સીરીયલ વોલ્ટેજ ડિસ્પ્લે. માપેલા વોલ્ટેજને 9600 બોડ પર સીરીયલ મોનિટરમાં છાપવા માટે આને true પર સેટ કરો, જે કેલિબ્રેશન દરમિયાન અત્યંત ઉપયોગી છે. બધું કામ કરવા લાગે પછી આઉટપુટ શાંત કરવા માટે તેને false પર સેટ કરો.

boolean showVoltage = true;//true or false to read voltage in serial monitor

રૂપાંતરણ કેવી રીતે કામ કરે છે. Arduino નું એનાલોગ-ટુ-ડિજિટલ કન્વર્ટર 0 થી 1023 સુધીની સંખ્યા પરત કરે છે, કારણ કે તે 10-બિટ કન્વર્ટર છે (210 = 1024 સ્ટેપ્સ). કોડ તે કાચી સંખ્યાને બોર્ડ વોલ્ટેજને સંદર્ભ તરીકે વાપરીને વાસ્તવિક વોલ્ટેજમાં ફેરવે છે. જો તમે ક્યારેય Due જેવા 12-બિટ બોર્ડ પર જાઓ, જ્યાં તમે 4095 વડે ભાગશો, તો આ લાઇન યાદ રાખવાની છે.

int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);

થ્રેશોલ્ડ લોજિક. વોલ્ટેજને હાર્ડ-કોડ કરવાને બદલે, દરેક સ્ટેપ બોર્ડ વોલ્ટેજની ટકાવારી તરીકે દર્શાવવામાં આવે છે. 95% કે તેથી વધુ પર, પાંચેય LED પ્રકાશે છે; 80% થી વધુ પર ફક્ત ચાર; અને એ જ રીતે 20% સુધી, જ્યાં એક LED પ્રકાશે છે. આ ટકાવારી અભિગમ એ છે જે સ્કેચને 5 V અને 3.3 V બોર્ડ વચ્ચે સરખામણીઓ ફરીથી લખ્યા વિના પોર્ટેબલ બનાવે છે.

if (voltage >= boardVoltage*0.95)
{
      digitalWrite(LED1, HIGH);
      digitalWrite(LED2, HIGH);
      digitalWrite(LED3, HIGH);
      digitalWrite(LED4, HIGH);
      digitalWrite(LED5, HIGH);
}

કારણ કે કોડ else if વાપરે છે, લૂપમાંથી દરેક પસાર થવા પર બરાબર એક શાખા ચાલે છે, તેથી એક સમયે ફક્ત સાચી સંખ્યામાં LED જ ચાલુ હોય છે. દરેક લૂપના અંતે 50 ms નો વિલંબ ડિસ્પ્લેને ઝબકવાથી રોકે છે.

લાઇવ પ્રોજેક્ટ અને ડેમોન્સ્ટ્રેશન

સ્કેચ અપલોડ કર્યા પછી, 9600 બોડ પર સીરીયલ મોનિટર ખોલો અને નોબને ધીમે ધીમે ફેરવો. છપાયેલું વોલ્ટેજ અને LED બાર એકબીજાને નજીકથી અનુસરે છે: લગભગ 1 V પર એક LED પ્રકાશે છે, 2 V પર બે પ્રકાશે છે, અને એ જ રીતે લગભગ 4.8 V સુધી જ્યાં પાંચેય ચાલુ હોય છે (વિડિયોમાં 47:37 પર). વાંચન અપેક્ષિત મૂલ્યના થોડા સોમાં ભાગમાં આવે છે, જે 10-બિટ કન્વર્ટર માટે ઉત્તમ છે.

જો સ્ટેપ્સ થોડા અસમાન લાગે, તો તે સામાન્ય રીતે કોડ કરતાં રેઝિસ્ટર હોય છે. ટ્યુટોરિયલ નોંધે છે કે સ્ટાન્ડર્ડ કાર્બન-ફિલ્મ રેઝિસ્ટર 10% ટોલરન્સ ધરાવે છે, જ્યારે બ્લુ મેટલ-ફિલ્મ પ્રકારો સામાન્ય રીતે 1% હોય છે અને નોંધપાત્ર રીતે ચુસ્ત, વધુ સચોટ સ્ટેપ્સ આપે છે (વિડિયોમાં 48:18 પર).

તમે રોટરી પોટેન્શિયોમીટરને સ્લાઇડ પોટેન્શિયોમીટરથી પણ બદલી શકો છો અને લીનિયર ફીલ સાથે સમાન વર્તન મેળવી શકો છો, જે સારો વિકલ્પ છે જો તમે મીટરને પેનલમાં માઉન્ટ કરવાની યોજના ધરાવો છો (વિડિયોમાં 49:07 પર).

જો તમે નોબને બદલે મેન્યુઅલી લાઇટ ખસેડવા માંગો છો, તો તે Lesson 98-8: Walking Light with Push Button and LEDs with Arduino માં આવરી લેવામાં આવ્યું છે. અને જો તમે ફક્ત LEDs ને તેમના પોતાના ટાઇમર પર ચાલવા માંગો છો, તો Lesson 98-7: Walking Light Using Arduino and 5 LEDs જુઓ.

આ વિડિયોના સંબંધિત પ્રોજેક્ટ્સ

પ્રકરણો

  • [00:00] 10 LED પ્રોજેક્ટ્સનો ઝાંખી
  • [02:29] LED બેઝિક્સ, પ્રતીકો, અને રેઝિસ્ટર ગણતરી
  • [42:25] LED વોલ્ટેજ લેવલ મીટરનો પરિચય
  • [43:04] LEDs અને પોટેન્શિયોમીટરનું વાયરિંગ
  • [43:54] વોલ્ટેજ બાર કોડની સમજૂતી
  • [44:19] બોર્ડ વોલ્ટેજ સંદર્ભ સેટ કરવો
  • [46:00] થ્રેશોલ્ડ લોજિક અને ટકાવારી સ્ટેપ્સ
  • [47:14] ડેમોન્સ્ટ્રેશન: LED બાર સાથે વોલ્ટેજ વાંચવું
  • [48:18] રેઝિસ્ટર ટોલરન્સ અને સચોટતા
  • [49:07] સ્લાઇડ પોટેન્શિયોમીટરનો ઉપયોગ

છબીઓ

wiring for Arduino walking light LEDs
wiring for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
સ્લાઇડિંગ વેરિયેબલ રેઝિસ્ટર સાથે બ્રેડબોર્ડ પર 5 LED, Arduino UNO સાથે જોડાયેલા દર્શાવેલ છે
સ્લાઇડિંગ વેરિયેબલ રેઝિસ્ટર સાથે બ્રેડબોર્ડ પર 5 LED, Arduino UNO સાથે જોડાયેલા દર્શાવેલ છે
941-Lessson 98-LED-9: Arduino code walking LED light controlled by potentiometer
ભાષા: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

તમને જોઈતી વસ્તુઓ

સંસાધનો અને સંદર્ભો

ફાઇલો📁

Arduino લાઇબ્રેરીઓ (zip)

વપરાશકર્તાનું માર્ગદર્શિકા