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

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

د لید وړ تارونو ډیاګرام دلته ګټور به وي.
د کوډ تشریح
د آردوینو کوډ د 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] د کوډ تشریح
انځورونه
/*
* 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);
}
/*
* 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);
}
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازون
سرچینې او حوالې
تر اوسه هیڅ سرچینې نشته.
فایلونه📁
هیڅ فایل شتون نلري.
