Raadi Koodka

Isticmaalka 4x3 Keypad ee Arduino

Isticmaalka 4x3 Keypad ee Arduino

Tuski baratan, waxaan ku sahamin doonnaa sida loo isticmaalo kiiboodhka 4x3 ee Arduino si loo akhriyo riixista furaha. Kiiboodhkan waxaa loo isticmaali karaa mashaariic kala duwan, sida abuurista interface fudud oo loogu talagalay nidaamka amniga ama codsi kasta oo u baahan gelinta isticmaalaha. Marka aad dhammeysato hagahan, waxaad awood u yeelan doontaa inaad akhrido riixista furaha oo aad ka jawaabto furaha gaarka ah.

Hubi inaad fiiriso fiidiyowga la socda si aad u aragto muujinta aragga ee fiilada iyo hirgelinta koodka (fiidiyowga 00:00).

Qalabka La Sharaxay

Qaybaha ugu muhiimsan ee mashruucan waxaa ka mid ah kiiboodhka 4x3 iyo Arduino board. Kiiboodhku wuxuu ka kooban yahay matrix oo ah badhamada lagu habeeyay 4 saf iyo 3 tiir. Marka badhanka la riixo, waxay ku xidhaa saf gaar ah tiir gaar ah, taasoo u oggolaanaysa Arduino inuu aqoonsado badhanka la riixay.

Arduino board wuxuu u shaqeeyaa sidii kontoroolka dhexe ee akhriya gelinta kiiboodhka. Wuxuu isticmaalaa maktabadda Keypad, taasoo fududaysa habka maareynta matrix kiiboodhka oo ka dhigaysa mid sahlan in la ogaado riixista furaha.

Faahfaahinta Xogta

Soo saarahaKala duwan
Nambarka qaybta4x3 Keypad
Voltage-ga macquulka ah5 V
Qulqulka shaqada≤ 20 mA
Cimriga furaha≥ 1,000,000 riixis
BaakadMatrix Keypad

  • Ku xidh pin-yada kiiboodhka si sax ah pin-yada dijitaalka ah ee Arduino.
  • Isticmaal resistors-ka kor u qaadaya ama hoos u dhigaya haddii loo baahdo, iyadoo ku xiran qaabkaaga.
  • Hubi in maktabadda Keypad lagu daray Arduino IDE-gaaga.
  • Debounce riixista furaha software-ka si looga fogaado akhrin badan.
  • Tijaabi fure kasta si aad u xaqiijiso fiilada iyo shaqada saxda ah.

Tilmaamaha Fiilada

Arduino_wiring_4x3_keypad

Si aad ugu xidho kiiboodhka 4x3 ee Arduino, waxaad ku xidhi doontaa pin-yada safka iyo tiirka ee kiiboodhka pin-yada dijitaalka ah ee Arduino. Ku xidh pin-yada safka (caadi ahaan 4 pin) pin-yada 2, 3, 4, iyo 5 ee Arduino. Pin-yada tiirka (caadi ahaan 3 pin) waa in lagu xidhaa pin-yada 6, 7, iyo 8.

Hubi inaad ku xidho pin-ka dhulka ee kiiboodhka dhulka Arduino iyo pin-ka korontada 5V output. Qaabkani wuxuu u oggolaanayaa Arduino inuu akhriyo xaaladda fure kasta marka la riixo, isagoo isticmaalaya maktabadda Keypad si uu u maareeyo iskaanka matrix-ka.

Tusaalooyinka Koodka & Sharaxaadda

Koodka soo socdaa wuxuu bilaabayaa kiiboodhka oo wuxuu daabacayaa furaha la riixay kormeerka serial-ka. Qiimaha furaha waxaa lagu kaydiyaa array-ka jilayaasha.

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

Array-ga keys wuxuu qeexayaa qaabka kiiboodhka, kaasoo u dhigma habka jirka ee furaha. Xaraf kastaa wuxuu u taagan yahay badhanka kiiboodhka.

Marka xigta, waxaan ku dejinaynaa kiiboodhka shaqada setup():

void setup(){
  Serial.begin(9600);
  Serial.println("Robojax 4x3 keypad");
}

Qaybtani waxay bilaabaysaa isgaarsiinta serial-ka heerka baud 9600, taasoo u oggolaanaysa inaan ku aragno riixista furaha kormeerka serial-ka.

Ugu dambeyntii, loop-ku wuxuu hubinayaa riixista furaha oo wuxuu uga jawaabayaa si waafaqsan:

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  } 
  if (key =='4'){
    Serial.println("Key 4 is pressed");
  } 
}

Halkan, barnaamijku wuxuu hubinayaa haddii fure la riixo isagoo isticmaalaya keypad.getKey(). Haddii fure la riixo, wuxuu daabacayaa qiimaha furaha. Intaa waxaa dheer, haddii furaha '4' la riixo, farriin gaar ah ayaa la muujinayaa.

Muujinta / Waxa Lagu Filan Karaa

Marka qaabayntu dhammaato, riixista fure kasta oo kiiboodhka ah waa inay soo saartaa xarafka u dhigma kormeerka serial-ka. Haddii furaha '4' la riixo, farriin gaar ah ayaa la daabacayaa oo muujinaysa firfircoonida furahaas. Hawlgalkani wuxuu kuu oggolaanayaa inaad ku dhisdo aasaaskan codsiyo aad u adag.

Ka digtoonow gelinta sabeynaysa ee keeni karta dhaqan aan kala go 'lahayn. Hubi in dhammaan xiriirada ay yihiin kuwo ammaan ah oo tijaabi fure kasta si aad u xaqiijiso shaqada saxda ah (fiidiyowga 00:00).

Sawirro

4x3_kaypad-1
4x3_kaypad-1
4x3_kaypad-2
4x3_kaypad-2
4x3_kaypad-3
4x3_kaypad-3
4x3_kaypad-4
4x3_kaypad-4
4x3_kaypad-5
4x3_kaypad-5
Arduino_wiring_4x3_keypad
Arduino_wiring_4x3_keypad
128-Ardunino code for 4x3 keypad
Luqadda: C++
/*
 * Library taken from: https://playground.arduino.cc/Code/Keypad
 * This is the Arduino code for a 4x3 keypad.
 * Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
 * 
 * Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
 * Date: July 11, 2018 at 19:56 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
 * Watch video instructions for this code: 
 * 
 */
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  // Robojax 4x3 keypad test
  Serial.begin(9600);
  Serial.println("Robojax 4x3 keypad");
}
  
void loop(){
  // Robojax 4x3 keypad test
  char key = keypad.getKey();
    // Just print the pressed key
   if (key){
    Serial.println(key);
  } 
   // This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
  if (key =='4'){
    // If key matches what you are looking for
    Serial.println("Key 4 is pressed");
  } 

}

Waad u baahan tahay

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Faylka Fritzing

Faylal kale