કોડ શોધો

પાઠ 98-8: આર્ડુઇનો સાથે પુશ બટન અને એલઈડી વડે ચાલતો લાઇટ

પાઠ 98-8: આર્ડુઇનો સાથે પુશ બટન અને એલઈડી વડે ચાલતો લાઇટ

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

5 leds on breadboard with push button shown connected to Arduino UNO
5 leds on breadboard with push button shown connected to Arduino UNO

એકવાર તમે આ પેટર્ન સમજી લો, પછી એ જ લોજિક ઘણા બધા વાસ્તવિક પ્રોજેક્ટ્સને શક્તિ આપે છે. અહીં કેટલાક વ્યવહારુ વિચારો છે જે તમે તેની સાથે બનાવી શકો છો:

  • એક ઉપકરણ પર મેનૂ સિલેક્ટર જ્યાં દરેક દબાવવાથી આગળનો વિકલ્પ હાઇલાઇટ થાય છે.
  • મશીન અથવા પ્રક્રિયા માટે ક્રમિક પગલું સૂચક (પગલું 1, પગલું 2, પગલું 3...).
  • સ્કોર અથવા લેવલ ડિસ્પ્લે જેને તમે બટન વડે જાતે આગળ વધારો છો.
  • લાઇટિંગ કંટ્રોલર માટે "આગળનો ચેનલ" અથવા "આગળનો મોડ" સૂચક.
  • એક સાદી રમત અથવા ક્વિઝ બઝર જ્યાં ખેલાડીઓ વારાફરતી આગળનો દીવો પ્રકાશિત કરે છે.
  • એક રિલે અથવા લોડ સિક્વન્સર જ્યાં દરેક દબાવવાથી ક્રમમાં આગળનું આઉટપુટ સક્રિય થાય છે.

સ્વચાલિત ચાલતી લાઇટ પર મુખ્ય ફાયદો નિયંત્રણ છે: જ્યાં સુધી તમે દબાવો નહીં ત્યાં સુધી કંઈ થતું નથી, તેથી લાઇટ ફક્ત ત્યારે જ આગળ વધે છે જ્યારે તમે નક્કી કરો. વિડિયો એ પણ નોંધે છે કે એ જ ટોગલિંગ અને સિક્વન્સિંગ વિચાર રિલેને ચલાવીને AC લાઇટ સ્વિચ કરી શકે છે અથવા મોટર નિયંત્રિત કરી શકે છે, ફક્ત LEDs જ નહીં (વિડિયોમાં 19:52 પર).

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

ભાગોની યાદી ટૂંકી અને સસ્તી છે:

  • એક Arduino બોર્ડ (Uno, Nano, Mega, અથવા કોઈપણ સુસંગત બોર્ડ).
  • પાંચ LEDs — 5 mm અથવા 3 mm, તમને ગમે તે રંગ.
  • પાંચ પ્રવાહ-મર્યાદિત રેઝિસ્ટર, 200 Ω થી 1000 Ω (વિડિયો 1 kΩ વાપરે છે).
  • એક પુશ બટન સ્વિચ (એક ક્ષણિક ટેક્ટાઇલ સ્વિચ આદર્શ છે).
  • એક બ્રેડબોર્ડ અને થોડા DuPont જમ્પર વાયર.

LEDs પર એક ઝડપી નોંધ: કેથોડ એ ટૂંકો પગ અને સપાટ ધારવાળી બાજુ છે, જ્યારે એનોડ એ લાંબો પગ છે (વિડિયોમાં 03:13 પર). રેઝિસ્ટરનું મૂલ્ય નિર્ણાયક નથી — વધુ રેઝિસ્ટર ફક્ત LED ને મંદ બનાવે છે, તેથી લગભગ 300 Ω થી 1000 Ω સુધીનું કંઈપણ સારું કામ કરશે (વિડિયોમાં 05:33 પર).

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

Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button

વાયરિંગ આવશ્યકપણે પ્રમાણભૂત પાંચ-LED ચાલતી લાઇટ જેવું જ છે, જેમાં એક પુશ બટન ઉમેરવામાં આવ્યું છે. દરેક LED નો એનોડ તેના પોતાના Arduino પિન સાથે જોડાય છે, અને દરેક કેથોડ તેના પોતાના રેઝિસ્ટર દ્વારા બ્રેડબોર્ડ પરના સહિયારા ગ્રાઉન્ડ રેલ સાથે જોડાય છે. આ બિલ્ડમાં LEDs પિન 3, 4, 5, 6, અને 7 સાથે વાયર કરેલા છે (વિડિયોમાં 31:37 પર). પુશ બટન બ્રેડબોર્ડ પર એક પગ ગ્રાઉન્ડ સાથે અને બીજો પગ પિન 2 સાથે મૂકવામાં આવે છે — એ જ પિન જે કોડ બટન માટે વાપરે છે (વિડિયોમાં 37:04 પર).

કારણ કે કોડ Arduino ના આંતરિક પુલ-અપ રેઝિસ્ટરને સક્ષમ કરે છે, બટન પર કોઈ બાહ્ય રેઝિસ્ટરની જરૂર નથી. જ્યારે બટન દબાવવામાં ન આવે ત્યારે પિન HIGH વાંચે છે, અને જ્યારે તમે તેને દબાવો છો ત્યારે પિન ગ્રાઉન્ડ તરફ ખેંચાય છે અને LOW વાંચે છે (વિડિયોમાં 14:02 પર).

કોડ સમજૂતી

સંપૂર્ણ પ્રોગ્રામ આ લેખની નીચે ઉપલબ્ધ છે. અહીં આપણે તે ભાગો પર ધ્યાન કેન્દ્રિત કરીએ છીએ જે તમે ખરેખર બદલવા માંગશો.

સ્કેચની ટોચ પર, દરેક LED અને બટનને એક પિન સોંપવામાં આવે છે. આ તે જગ્યા છે જ્યાં તમે તમારા પોતાના વાયરિંગ સાથે મેળ કરવા માટે બિલ્ડને કસ્ટમાઇઝ કરો છો:

const int pushButtonPin = 2; // push button pin
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;

int LED_ON = LED1; // which LED is currently lit

LED_ON ચલ આ પ્રોજેક્ટનું હૃદય છે. તે યાદ રાખે છે કે હાલમાં કઈ LED પ્રકાશિત છે, LED1 થી શરૂ થાય છે. દર વખતે જ્યારે તમે બટન દબાવો છો, કોડ LED_ON ને ક્રમમાં આગળની LED પર લઈ જાય છે અને પાછલીને બંધ કરે છે, તેથી એક સમયે ફક્ત એક જ LED પ્રકાશિત થાય છે.

દરેક દબાવવા પછી એક નાનો વિલંબ પણ છે:

delay(200); // debounce / give the user time between presses

આ 200 મિલિસેકન્ડનો વિરામ એક જ ભૌતિક દબાવવાને બહુવિધ દબાવવા તરીકે નોંધાતું અટકાવે છે. જો તમારી આંગળી ધ્રૂજે અથવા બટન ખૂબ સંવેદનશીલ લાગે, તો આ સંખ્યા વધારો; જો તમે ઝડપી પ્રતિસાદ માંગો છો, તો તેને ઘટાડો. ધ્યાન રાખો કે તેને ખૂબ નીચું સેટ કરવાથી લાઇટ અણધારી રીતે આગળ કૂદી શકે છે (વિડિયોમાં 41:20 પર).

મુખ્ય તર્ક loop() માં રહેલો છે. તે બટનને વાંચે છે, અને જ્યારે બટન દબાવવામાં આવે ત્યારે જ (LOW વાંચન) તે લાઇટને આગળ વધારે છે. ક્રમ LED1 થી LED2 થી LED3 સુધી ખસેડવા માટે if / else if ચેકની શ્રેણીનો ઉપયોગ કરે છે, અને ત્યારબાદ છેલ્લા પછી LED1 પર પાછા ફરે છે. જો તમે દિશા અથવા LEDs નો ક્રમ બદલવા માંગતા હોવ, તો આ એ બ્લોક છે જેમાં ફેરફાર કરવાનો છે — ફક્ત કયો પિન કોની પાછળ આવે છે તે ફરીથી સોંપો.

લાઇવ પ્રોજેક્ટ અને નિદર્શન

કોડ અપલોડ કર્યા પછી, બટન દબાવવાથી પ્રથમ LED પ્રકાશિત થાય છે; તેને છોડવાથી એ LED ચાલુ રહે છે. આગળના દબાવવાથી લાઇટ બીજા LED પર જાય છે, પછી ત્રીજા, ચોથા અને પાંચમા પર, અને ત્યારપછીનું દબાવવું પ્રથમ પર પાછું ફરે છે — એક સતત પરિભ્રમણ (વિડિયોમાં 40:22 પર).

200 મિલિસેકન્ડના વિલંબની એક સરસ આડઅસર એ છે કે જો તમે બટનને દબાવી રાખો, તો લાઇટ દર 200 મિલિસેકન્ડે જાતે જ આગળ વધતી રહે છે, જે બટન દબાવી રાખેલા હોય ત્યારે પ્રોજેક્ટને અસરકારક રીતે સ્વચાલિત ચાલતી લાઇટમાં ફેરવે છે (વિડિયોમાં 42:07 પર). બટન છોડો અને તે વર્તમાન LED પર અટકી જાય છે. આ તમને એક જ બટનથી મેન્યુઅલ સ્ટેપિંગ અને હેન્ડ્સ-ફ્રી ચાલવું બંને આપે છે.

જો તમે લાઇટને કોઈપણ બટન વગર આપમેળે ચાલવા માંગતા હોવ, તો તે એક અલગ બિલ્ડ છે. સ્વચાલિત સંસ્કરણ પાઠ 98-7: Arduino અને 5 LEDs નો ઉપયોગ કરીને ચાલતી લાઇટ માં આવરી લેવામાં આવ્યું છે.

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

પ્રકરણો

  • [00:00] 10 Arduino LED પ્રોજેક્ટ્સનો ઝાંખી
  • [01:22] Arduino સ્ટેપ-બાય-સ્ટેપ કોર્સનો પરિચય
  • [02:29] LEDs સમજવી: પ્રતીકો, ધ્રુવીયતા અને પિન
  • [03:49] LED કરંટ-લિમિટિંગ રેઝિસ્ટરની ગણતરી
  • [30:47] 5 LEDs સાથે ચાલતી લાઇટ: વાયરિંગ અને સિદ્ધાંત
  • [32:52] ચાલતી લાઇટ કોડ: પિન, સમય અને લૂપ
  • [36:41] પુશ બટન સાથે લાઇટને આગળ વધારવી
  • [37:44] પુશ બટન સાથે ચાલતી લાઇટ: કોડ વોકથ્રુ
  • [40:22] નિદર્શન અને પ્રેસ વિલંબને સમાયોજિત કરવો
  • [57:16] સમાપન ટિપ્પણી અને કોર્સ આઉટરો

છબીઓ

wiring for Arduino walking light LEDs with push button
wiring for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs with push button
Schematic for Arduino walking light LEDs
Schematic for Arduino walking light LEDs
પુશ બટન સાથે બ્રેડબોર્ડ પર 5 LED, Arduino UNO સાથે જોડાયેલા દર્શાવેલ છે
પુશ બટન સાથે બ્રેડબોર્ડ પર 5 LED, Arduino UNO સાથે જોડાયેલા દર્શાવેલ છે
940-Lessson 98-LED-8: Arduino code walking LED light with push button
ભાષા: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

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

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

ફાઇલો📁

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

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