Search Code

પુશ બટનો અને સ્વિચો સાથે આર્ડુઇનોમાં રેઝિસ્ટર્સ શા માટે વાપરવા જોઈએ

પુશ બટનો અને સ્વિચો સાથે આર્ડુઇનોમાં રેઝિસ્ટર્સ શા માટે વાપરવા જોઈએ

આ ટ્યુટોરિયલ સમજાવે છે કે શા માટે Arduino સાથે જોડાયેલા પુશ બટનો અને સ્વિચ સાથે રેઝિસ્ટરનો ઉપયોગ કરવો વિશ્વસનીય કામગીરી માટે નિર્ણાયક છે. આ ખ્યાલને સમજવો એ વપરાશકર્તા ઇનપુટ ધરાવતા કોઈપણ Arduino પ્રોજેક્ટ માટે મૂળભૂત છે. આ જ્ઞાન અણધારી વર્તણૂક અટકાવે છે અને ખાતરી કરે છે કે તમારા પ્રોજેક્ટ્સ યોગ્ય રીતે કાર્ય કરે છે. અહીં કેટલાક પ્રોજેક્ટ વિચારો છે જ્યાં આ જ્ઞાન આવશ્યક છે:

  • LED માટે સરળ ચાલુ/બંધ સ્વિચ
  • ઇન્ટરેક્ટિવ ગેમ કંટ્રોલર
  • ઘરગથ્થુ ઉપકરણો માટે રિમોટ કંટ્રોલ
  • પુશ-બટન સક્રિયકરણ સાથે સુરક્ષા સિસ્ટમ

ચાલો આ સર્કિટમાં રેઝિસ્ટરનો ઉપયોગ કરવા પાછળના કારણો શોધીએ.

Arduino wiring for Push button wihthout resistor

હાર્ડવેર/ઘટકો

આ પ્રોજેક્ટ માટે જરૂરી મુખ્ય ઘટકો ન્યૂનતમ છે: એક Arduino બોર્ડ, એક પુશ-બટન સ્વિચ, અને એક રેઝિસ્ટર (300 ઓહ્મથી વધુ). રેઝિસ્ટરનું મૂલ્ય નિર્ણાયક નથી; 1kΩ, 10kΩ, અથવા તો 100kΩ જેવા મૂલ્યો સામાન્ય રીતે સારી રીતે કાર્ય કરશે (વિડિયોમાં 00:41 પર).

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

ત્યાં બે મુખ્ય વાયરિંગ રૂપરેખાંકનો છે (વિડિયોમાં 00:30 પર):

  1. રૂપરેખાંકન 1: પુશ બટનને Arduino પિન અને +5V વચ્ચે જોડો. પુશ બટનની બીજી બાજુ રેઝિસ્ટર દ્વારા ગ્રાઉન્ડ સાથે જોડાયેલી છે. જ્યારે બટન દબાવવામાં આવે છે, ત્યારે પિન HIGH વાંચે છે; જ્યારે છોડવામાં આવે છે, ત્યારે તે LOW વાંચે છે.
  2. રૂપરેખાંકન 2: પુશ બટનને Arduino પિન અને ગ્રાઉન્ડ વચ્ચે જોડો. પુશ બટનની બીજી બાજુ રેઝિસ્ટર દ્વારા +5V સાથે જોડાયેલી છે. જ્યારે બટન દબાવવામાં આવે છે, ત્યારે પિન LOW વાંચે છે; જ્યારે છોડવામાં આવે છે, ત્યારે તે HIGH વાંચે છે.

Arduino wriring for push button and LED
Arduino wriring for push button and LED

અહીં વિઝ્યુઅલ વાયરિંગ ડાયાગ્રામ ફાયદાકારક રહેશે.

કોડ સમજૂતી

Arduino કોડ પિનને ઇનપુટ તરીકે ગોઠવવા માટે pinMode() ફંક્શનનો ઉપયોગ કરે છે. નિર્ણાયક ભાગ એ INPUT_PULLUP નો ઉપયોગ છે (વિડિયોમાં 04:06, 04:23 પર). આ આંતરિક પુલ-અપ રેઝિસ્ટર ચોક્કસ રૂપરેખાંકનોમાં બાહ્ય રેઝિસ્ટરની જરૂરિયાત દૂર કરે છે, વાયરિંગને સરળ બનાવે છે. digitalRead() ફંક્શન પિનની સ્થિતિ વાંચે છે, અને એક સરળ if-else સ્ટેટમેન્ટ નક્કી કરે છે કે બટન દબાવવામાં આવ્યું છે (LOW) કે નહીં (HIGH) (વિડિયોમાં 08:34 પર).


pinMode(2, INPUT_PULLUP); // પિન 2 ને આંતરિક પુલ-અપ રેઝિસ્ટર સાથે ઇનપુટ તરીકે ગોઠવે છે
int pushButton = digitalRead(2); // પિન 2 ની સ્થિતિ વાંચે છે
if (pushButton == LOW) {
  // બટન દબાવવામાં આવ્યું છે
} else {
  // બટન દબાવવામાં આવ્યું નથી
}

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

વિડિયો બંને વાયરિંગ રૂપરેખાંકનો અને તેમની સંબંધિત વર્તણૂકો દર્શાવે છે. તે રેઝિસ્ટર છોડી દેવામાં આવે ત્યારે ઊભી થઈ શકે તેવી સમસ્યાઓ પર પ્રકાશ પાડે છે, જેમ કે અવાજ અને કેપેસિટીવ કપ્લિંગને કારણે અસ્થિર રીડિંગ્સ (વિડિયોમાં 06:18, 06:39, 07:21 પર). પ્રદર્શન સ્પષ્ટપણે રેઝિસ્ટર સાથે પ્રાપ્ત થતી સ્થિર અને વિશ્વસનીય કામગીરી દર્શાવે છે (વિડિયોમાં 08:08 પર).

પ્રકરણો

  • [00:00] પરિચય
  • [00:30] વાયરિંગ રૂપરેખાંકનો
  • [04:12] INPUT_PULLUP નો ઉપયોગ કરીને કોડ સમજૂતી
  • [05:36] રેઝિસ્ટર દૂર કરવું: વ્યવહારુ પ્રદર્શન
  • [08:33] કોડ સમજૂતી

Images

Why should we use a resistor with a push button and Arduino?
Why should we use resistor with push button with Arduino?
Why should we use a resistor with a push button and Arduino?
Why should we use resistor with push button with Arduino?
2 pin tactile push button switch
2 pin tactile push button switch
Arduino wriring for push button and LED
Arduino wriring for push button and LED
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button wihthout resistor
Arduino wiring for Push button wihthout resistor
132-Code example using a resistor
Language: C++
/*
 * This is an Arduino Sketch for a tutorial video 
 * explaining why a resistor is needed to be used with a push button
 * with Arduino.
 * 
 * Written by Ahmad Shamshiri on July 17, 2018 at 23:11 in Ajax, Ontario, Canada
 * For Robojax.com
 * Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 */

void setup() {
  // Robojax.com push button tutorial
  pinMode(3,INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("Robojax Push Button Tutorial");
  

}

void loop() {
  // Robojax.com push button tutorial
  int pushButton = digitalRead(3);
  if(pushButton == LOW)
  {
    Serial.println("Pin 3 LOW");
  }else{
    Serial.println("Pin 3 HIGH");
  }

delay(500);
}
133-Code example using INPUT_PULLUP without a resistor
Language: C++
/*
 * This is an Arduino Sketch for a Tutorial video 
 * explaining why a resistor is needed to be used with a push button
 * with an Arduino to connect the pin to Ground (GND)
 * 
 * Written by Ahmad Shamshiri on July 18, 2018 at 17:36 in Ajax, Ontario, Canada
 * For Robojax.com
 * Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 */

void setup() {
  // Robojax.com push button tutorial
  pinMode(2,INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("Robojax Push Button Tutorial");
  

}

void loop() {
  // Robojax.com push button tutorial
  int pushButton = digitalRead(2);
  if(pushButton == LOW)
  {
    Serial.println("Button is pushed.");
  }else{
    Serial.println("Button is NOT pushed.");    
  }

delay(500);
}

Things you might need

Resources & references

No resources yet.

Files📁

No files available.