Wannan koyawa wani ɓangare ne na: Madannai
Duk bidiyon keyboard an jera su a nan.
Lambar Arduino da Bidiyo don Faɗin Maɓalli Hudu
A cikin wannan koyawa, za mu koyi yadda ake amfani da madannai mai maɓalli huɗu tare da Arduino. Wannan aikin yana da amfani musamman ga aikace-aikace inda kake buƙatar maɓalli da yawa amma kana son rage yawan wayoyin da ake amfani da su. Ta hanyar haɗa madannai ta wata hanya ta musamman, za mu iya samun ingantaccen saiti tare da wayoyi biyar kawai maimakon takwas.

Madannai mai maɓalli huɗu yana sauƙaƙa tsarin wayoyi, saboda yana da haɗin gama gari wanda ke rage yawan wayoyin da ake buƙata. Kowane maɓalli yana haɗa zuwa Arduino ta hanyar fil ɗin da aka keɓe, yana ba da damar mu'amala da sarrafawa cikin sauƙi. Wannan jagorar zai rufe wayoyi, lambar, da kuma yadda madannai zai yi aiki, don haka za ka iya maimaita aikin cikin nasara (a cikin bidiyo a 02:30).
Kayan Aiki Da Aka Bayyana
Babban abubuwan wannan aikin sun haɗa da madannai mai maɓalli huɗu da allon Arduino. Madannai yana ƙunshe da maɓalli huɗu, kuma kowane maɓalli yana haɗa zuwa Arduino ta hanyar wayoyi biyu—waya ɗaya gama gari da waya ta musamman ga kowane maɓalli. Wannan saitin yana ba da damar haɗi cikin sauƙi yayin da yake rage rikice-rikice.
Arduino yana fassara latsa maɓalli ta amfani da shigarwar dijital, yana dogaro da resistors na ciki don tabbatar da ingantaccen karatu. Lokacin da aka latsa maɓalli, yana haɗa fil ɗin da ya dace zuwa ƙasa, yana ba da damar Arduino ya gano canjin yanayin.
Cikakkun Bayanai na Datasheet
| Manufacturer | Generic |
|---|---|
| Part number | 4-Key Keypad |
| Logic/IO voltage | 5 V |
| Supply voltage | 5 V |
| Number of keys | 4 |
| Common pin type | Active-low |
| Button resistance | 1 kΩ (typ.) |
| Package | Flexible PCB |
| Notes / variants | Available in multiple layouts |
- Kowane maɓalli yana buƙatar haɗi biyu: ɗaya don maɓalli da ɗaya don ƙasa gama gari.
- Amfani da resistors na ciki yana sauƙaƙa wayoyi kuma yana rage yawan kayan aiki.
- Tabbatar an haɗa fil ɗin gama gari zuwa ƙasa don ingantaccen aiki.
- Debounce latsa maɓalli a cikin software don guje wa karatun ƙarya.
- Gwada aikin maɓalli tare da bugu na serial mai sauƙi don amsa.
Umarnin Wayoyi

Don haɗa madannai mai maɓalli huɗu zuwa Arduino, bi waɗannan matakan:
- Haɗa wayar maɓalli ta farko zuwa fil
2akan Arduino. - Haɗa wayar maɓalli ta biyu zuwa fil
3. - Haɗa wayar maɓalli ta uku zuwa fil
4. - Haɗa wayar maɓalli ta huɗu zuwa fil
5. - Haɗa wayar gama gari daga madannai zuwa fil ɗin ƙasa akan Arduino.
Tabbatar an haɗa kowace waya da kyau don guje wa haɗin da ba su da ƙarfi. Idan ka fuskanci matsala, sake duba kowane haɗi da fil ɗin da aka nuna a cikin bidiyo (a cikin bidiyo a 04:15).
Misalan Lamba & Jagora
Wannan ɓangaren lambar yana fara fil ɗin don madannai kuma yana saita su azaman shigarwa:
#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
}
A cikin lambar da ke sama, an ayyana kowane maɓalli tare da lambar fil ɗin da ya dace. Yanayin INPUT_PULLUP yana tabbatar da cewa fil ɗin suna karanta high lokacin da ba a latsa su ba, yana sauƙaƙa gano latsa maɓalli.
Aikin loop yana karanta yanayin kowane maɓalli kuma yana buga saƙon da ya dace lokacin da aka latsa:
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
if(!key1S) {
Serial.println("key 1 is pressed");
}
if(!key2S) {
Serial.println("key 2 is pressed");
}
// Additional code for key3 and key4...
delay(100);
}
Wannan ɓangaren lambar yana duba yanayin kowane maɓalli kuma yana buga saƙo zuwa serial monitor lokacin da aka latsa maɓalli. delay(100) yana ba da damar debounce, yana tabbatar da cewa ba a yi rijistar latsawa da yawa cikin sauri ba.
Nuni / Abin Da Za Ka Yi Tsammani
Bayan ka haɗa wayoyi da loda lambar zuwa Arduino cikin nasara, ya kamata ka yi tsammanin serial monitor zai nuna saƙonni waɗanda ke nuna wane maɓalli aka latsa. Latsa maɓalli na ɗaya zai fitar da "key 1 is pressed" da sauransu ga sauran maɓallan. Idan saƙonni ba su bayyana ba, duba wayoyinka kuma tabbatar an haɗa wayar gama gari zuwa ƙasa.
Yi hankali da haɗin da aka juyar da su, domin wannan na iya haifar da hali marar tsammani. Tabbatar cewa fil ɗin da aka yi amfani da su sun dace da waɗanda aka ayyana a cikin lambarka (a cikin bidiyo a 06:45).
Lokutan Bidiyo
- 00:00 - Gabatarwa
- 02:30 - Bayanin Wayoyi
- 04:15 - Fil ɗin Ayyuka
- 06:45 - Gwajin Madannai
Wannan koyawa wani ɓangare ne na: Madannai
- Amfani da 4x3 Keypad tare da Arduino
- Lambar Arduino da Bidiyo: 4x4 Matrix Black Keypad
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- Yadda ake amfani da Soft Keypad 4x4 tare da 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
- Allon LCD Keypad Shield 1602: Lamba Code
++
/*
* 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);
}
Abin da zaka iya bukata
-
Amazon
-
AliExpressBuy soft keypad from AliExpresss.click.aliexpress.com
Albarkatun da kuma shafukan da za a duba
Babu kayan aiki tukuna.