دا ټیوټوریل برخه ده له: کیپیډونه
د کیپیډ ټولې ویډیوګانې دلته لیست شوي. د نورو ویډیوګانو لینکونه د دې مقالې لاندې دي.
د آردوینو کوډ او ویډیو د څلور تڼۍ کیپډ لپاره
په دې ټیوټوریل کې به موږ زده کړو چې څنګه د آردوینو سره د څلور تڼۍ کیپډ وکاروو. دا پروژه په ځانګړي ډول د هغو غوښتنلیکونو لپاره ګټوره ده چیرې چې تاسو ډیری تڼۍ ته اړتیا لرئ مګر غواړئ د کارول شویو تارونو شمیر کم کړئ. د کیپډ په یو ځانګړي ډول سره نښلولو سره، موږ کولی شو یو فعال ترتیب یوازې د پنځو تارونو سره ترلاسه کړو پرځای د اتو.

د څلور تڼۍ کیپډ د تارونو پروسه ساده کوي، ځکه چې دا یو ګډ اړیکه لري چې د اړتیا وړ تارونو ټول شمیر کموي. هر تڼۍ د ټاکل شویو پنونو له لارې آردوینو سره نښلول کیږي، چې اسانه تعامل او کنټرول ته اجازه ورکوي. دا لارښود به د کیپډ تارونه، کوډ، او تمه شوي چلند پوښي، نو تاسو کولی شئ پروژه په بریالیتوب سره تکرار کړئ (په ویډیو کې په 02:30).
هارډویر تشریح شوی
د دې پروژې اصلي برخې یو څلور تڼۍ کیپډ او د آردوینو بورډ شامل دي. کیپډ څلور تڼۍ لري، او هر تڼۍ د دوو تارونو له لارې آردوینو سره نښلول کیږي — یو ګډ تار او د هر تڼۍ لپاره یو ځانګړی تار. دا ترتیب مستقیم اړیکو ته اجازه ورکوي پداسې حال کې چې ګډوډي کموي.
آردوینو د ډیجیټل انپټونو په کارولو سره د تڼۍ فشارونه تشریح کوي، د داخلي پل-اپ ریزسټرونو باندې تکیه کوي ترڅو باثباته لوستل ډاډمن کړي. کله چې یو تڼۍ فشارول کیږي، دا اړونده پن ځمکې سره نښلوي، چې آردوینو ته اجازه ورکوي د حالت بدلون کشف کړي.
ډیټاشیټ تفصیلات
| جوړونکی | عمومي |
|---|---|
| د پرزې شمیره | 4-کیلي کیپډ |
| منطق/IO ولټاژ | 5 V |
| د بریښنا ولټاژ | 5 V |
| د کیلیو شمیر | 4 |
| د ګډ پن ډول | فعال-ټیټ |
| د تڼۍ مقاومت | 1 kΩ (عادي) |
| بسته | انعطاف وړ PCB |
| یادښتونه / بڼې | په ډیری ترتیبونو کې شتون لري |
- هر تڼۍ دوه اړیکو ته اړتیا لري: یو د تڼۍ لپاره او یو د ګډ ځمکې لپاره.
- د داخلي پل-اپ ریزسټرونو کارول تارونه ساده کوي او د اجزاو شمیر کموي.
- ډاډ ترلاسه کړئ چې ګډ پن د سم عملیات لپاره ځمکې سره نښلول شوی دی.
- د غلط لوستلو څخه مخنیوي لپاره په سافټویر کې د تڼۍ فشارونه ډیبونس کړئ.
- د فیډبیک لپاره د ساده سیریل چاپ سره د تڼۍ فعالیت ازموئ.
د تارونو لارښوونې

د څلور تڼۍ کیپډ آردوینو ته د تارولو لپاره، دا ګامونه تعقیب کړئ:
- لومړی د کیلي تار د آردوینو په پن
2سره ونښلئ. - دوهم د کیلي تار په پن
3سره ونښلئ. - دریم د کیلي تار په پن
4سره ونښلئ. - څلورم د کیلي تار په پن
5سره ونښلئ. - د کیپډ ګډ تار د آردوینو په ځمکني پن سره ونښلئ.
ډاډ ترلاسه کړئ چې هر تار په خوندي ډول ونښلئ ترڅو د نرمو اړیکو څخه مخنیوی وشي. که تاسو ستونزې تجربه کړئ، هر اړیکه د ویډیو کې ښودل شویو پن ټاکلو په وړاندې دوه ځله وګورئ (په ویډیو کې په 04:15).
د کوډ مثالونه او واک ترو
لاندې کوډ ټوټه د کیپډ لپاره پنونه پیل کوي او دوی د انپټ په توګه ټاکي:
#define key1 2 // تار 1 په پن 2 سره ونښلئ
#define key2 3 // تار 2 په پن 3 سره ونښلئ
#define key3 4 // تار 3 په پن 4 سره ونښلئ
#define key4 5 // تار 4 په پن 5 سره ونښلئ
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP); // پن د انپټ په توګه وټاکئ
pinMode(key2, INPUT_PULLUP); // پن د انپټ په توګه وټاکئ
pinMode(key3, INPUT_PULLUP); // پن د انپټ په توګه وټاکئ
pinMode(key4, INPUT_PULLUP); // پن د انپټ په توګه وټاکئ
}
په پورته کوډ کې، هر کیلي د اړونده پن شمیرې سره تعریف شوې ده. د INPUT_PULLUP حالت ډاډ ورکوي چې پنونه لوړ لوستل کیږي کله چې فشار نه وي، چې د تڼۍ فشار کشف ساده کوي.
د لوپ فنکشن د هر کیلي حالت لوستي او کله چې فشارول کیږي اړونده پیغام چاپوي:
void loop() {
int key1S = digitalRead(key1); // وګورئ چې ایا key1 فشارول شوی دی
int key2S = digitalRead(key2); // وګورئ چې ایا key2 فشارول شوی دی
int key3S = digitalRead(key3); // وګورئ چې ایا key3 فشارول شوی دی
int key4S = digitalRead(key4); // وګورئ چې ایا key4 فشارول شوی دی
if(!key1S) {
Serial.println("کیلي 1 فشارول شوې ده");
}
if(!key2S) {
Serial.println("کیلي 2 فشارول شوې ده");
}
// د key3 او key4 لپاره اضافي کوډ...
delay(100);
}
د کوډ دا برخه د هر کیلي حالت ګوري او کله چې یو کیلي فشارول کیږي سیریل مانیټر ته یو پیغام چاپوي. د delay(100) د ډیبونس اغیز ته اجازه ورکوي، ډاډ ترلاسه کوي چې ډیری فشارونه په چټکۍ سره نه ثبت کیږي.
ښودنه / څه تمه وکړو
په بریالیتوب سره د تارونو نښلولو او کوډ آردوینو ته پورته کولو وروسته، تاسو باید تمه ولرئ چې سیریل مانیټر هغه پیغامونه ښکاره کړي چې ښیي کومه کیلي فشارول شوې ده. د کیلي یو فشارول به "کیلي 1 فشارول شوې ده" او د نورو کیلیو لپاره همداسې تولید کړي. که پیغامونه نه ښکاري، خپل تارونه وګورئ او ډاډ ترلاسه کړئ چې ګډ تار ځمکې سره نښلول شوی دی.
د بیرته راګرځیدلو اړیکو څخه محتاط اوسئ، ځکه چې دا ممکن غیر متوقع چلند ته لار هواره کړي. ډاډ ترلاسه کړئ چې کارول شوي پنونه ستاسو په کوډ کې تعریف شویو سره سمون لري (په ویډیو کې په 06:45).
د ویډیو وخت نښې
- 00:00 - پیژندنه
- 02:30 - د تارونو تشریح
- 04:15 - د پن ټاکل
- 06:45 - د کیپډ ازموینه
دا ټیوټوریل برخه ده له: کیپیډونه
- د 4x3 کیپیډ د Arduino سره کارول
- د آردوینو کوډ او ویډیو: 4x4 میټریکس تور کیپیډ
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- د 4x4 سافټ کیپډ د Arduino سره څنګه وکاروو
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- د 1602 LCD کیپډ شیلډ: بنسټیز کوډ
++
/*
* This is the Arduino code for a 4-key keypad.
* Watch the video for details and demo: https://youtu.be/BiOh_Z2N7kk
*
* Written by Ahmad Shamshiri for the Robojax Video channel,
get code, wiring diagram and resources at www.Robojax.com/RJT37
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
// Recorded December 28, 2017 for Robojax.com
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP);// set pin as input
pinMode(key2, INPUT_PULLUP);// set pin as input
pinMode(key3, INPUT_PULLUP);// set pin as input
pinMode(key4, INPUT_PULLUP);// set pin as input
}
void loop() {
int key1S = digitalRead(key1);// read if key1 is pressed
int key2S = digitalRead(key2);// read if key2 is pressed
int key3S = digitalRead(key3);// read if key3 is pressed
int key4S = digitalRead(key4);// read if key4 is pressed
// Code written for Robojax.com video tutorial
if(!key1S){
Serial.println("key 1 is pressed");
}
if(!key2S){
Serial.println("key 2 is pressed");
}
if(!key3S){
Serial.println("key 3 is pressed");
}
if(!key4S){
Serial.println("key 4 is pressed");
}
delay(100);
}
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازون
-
علی ایکسپریسBuy soft keypad from AliExpresss.click.aliexpress.com
سرچینې او حوالې
تر اوسه هیڅ سرچینې نشته.