کوډ ولټوئ

ولې د Arduino سره د پش بټنونو او سویچونو سره ریزسټرونه وکاروئ؟

ولې د Arduino سره د پش بټنونو او سویچونو سره ریزسټرونه وکاروئ؟

دا ټیوټوریل تشریح کوي چې ولې د آردوینو سره د پش بټنونو او سویچونو په کارولو کې د رزیسټر کارول د باوري عملیاتو لپاره خورا مهم دي. د دې مفهوم پوهیدل د هر آردوینو پروژې لپاره چې د کارونکي انپټ پکې شامل وي بنسټیز دی. دا پوهه د غیر متوقع چلند مخه نیسي او ډاډ ترلاسه کوي چې ستاسو پروژې په سمه توګه کار کوي. دلته ځینې پروژې نظرونه دي چیرې چې دا پوهه اړینه ده:

  • د LED لپاره ساده آن/آف سویچ
  • متقابل لوبې کنټرولر
  • د کور وسایلو لپاره ریموټ کنټرول
  • د امنیت سیسټم د پش بټن فعالولو سره

راځئ چې په دې سرکیټونو کې د رزیسټرونو کارولو تر شا دلایل وپلټو.

Arduino wiring for Push button wihthout resistor

هارډویر/اجزاوې

د دې پروژې لپاره اړین اصلي اجزاوې لږ دي: د آردوینو بورډ، د پش بټن سویچ، او یو رزیسټر (له 300 ohms څخه ډیر). د رزیسټر ارزښت مهم نه دی؛ ارزښتونه لکه 1kΩ، 10kΩ، یا حتی 100kΩ عموماً ښه کار کوي (په ویډیو کې په 00:41).

د تارونو لارښود

دوه لومړني تارونو ترتیبونه شتون لري (په ویډیو کې په 00:30):

  1. ترتیب 1: د پش بټن د آردوینو پن او +5V ترمنځ وصل کړئ. د پش بټن بل اړخ د رزیسټر له لارې ځمکې سره وصل دی. کله چې بټن فشارول شي، پن HIGH لوستل کیږي؛ کله چې خوشې شي، LOW لوستل کیږي.
  2. ترتیب 2: د پش بټن د آردوینو پن او ځمکې ترمنځ وصل کړئ. د پش بټن بل اړخ د رزیسټر له لارې +5V سره وصل دی. کله چې بټن فشارول شي، پن LOW لوستل کیږي؛ کله چې خوشې شي، HIGH لوستل کیږي.

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

د لید وړ تارونو ډیاګرام دلته ګټور به وي.

د کوډ تشریح

د آردوینو کوډ د 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] د کوډ تشریح

انځورونه

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
ژبه: 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
ژبه: 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);
}

هغه شیان چې تاسو ورته اړتیا لرئ

سرچینې او حوالې

تر اوسه هیڅ سرچینې نشته.

فایلونه📁

هیڅ فایل شتون نلري.