16 karakteres nyomógomb pad

A teszteléshez én nem egy drága elektronikát használtam, hanem egy párszáz forintos öntapadós kínai padot, bár végeredményben ezzel is tökéletes működött a tesztkód, amit itt találtam. A bekötés itt már kicsivel cifrább, mert 8 digitális Pint használunk el, de ez sem okozhat problémát mert sorba kell kötni a lábakat. A kódhoz még pluszban szükségünk lesz a keypad libraryra. Amit letölthetünk az arduno honlapján. Ezt a szokásos módon másoljuk a helyére és már indulhat is a feltöltés.

4-x-4-matrix-array-16-key-membrane-switch-keypad-keyboard-for-arduinoavrpic

A bekötés baromi egyszerű, ha szemből nézzük a padot, akkor a bal oldali 4 csatlakozó balról jobbra kerül a 2,3,4,5-ös pinre. A jobb oldali 4 csatlakozó pedig szintén balról jobbra az 6,7,8,9-es pinre. Ezzel kész is vagyunk. Az első 4 csatlakozó határozza meg a mátrixban a sorokat, a második 4 pedig az oszlopokat, ez a kódból ki is derül, mert ott ezeket deklarálni kell.

 Forráskód:

#include < Keypad.h >
const byte ROWS = 4; 
const byte COLS = 4; 
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {2,3,4,5}; //Csatlakoztasd a sorok kimeneteit 
byte colPins[COLS] = {6,7,8,9}; //Csatlakoztasd az oszlopok kimeneteit

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

void setup(){
  Serial.begin(9600);
}

void loop(){
  char key = keypad.getKey();

  if (key != NO_KEY){
    Serial.println(key);
  }
}
(Statisztika: 16 megtekintés)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé.