Stap 3: Codering het toetsenbord Matrix
De code is vrij eenvoudig-alles wat het doet is de kolom uitgangen hoog ingesteld na de andere en de rijen voor de symptomen van een druk op de knop scant. Als een knop drukt wordt gedetecteerd, het doet een beroep op de matrix voor de kolom en de rij van de druk op de knop en drukt het teken op de ingedrukte drukknop. Een ding om in gedachten te houden is dat u de grootte en de indeling van uw matrix wijzigen kunt door de array en pinouts gewoon aan te passen. Het programma wordt de druk op de knop naar de seriële Monitor rechtstreeks afgedrukt. Hier is de code:
VOID Setup {}
Zet uw setup-code hier, om het eenmalig uit te voeren:
voor (int IN = 2; IN < 6; IN++) {}
pinMode (IN, INPUT); //Initializes de pinnen}
voor (int OUT = 6; < 10; OUT++) {}
pinMode (OUT, uitvoer); //Initializes de pinnen
}
Serial.begin(9600); }
void loop {char Matrix [4] [4] = {{'1', '2', '3', 'C'},
{'4', '5', '6', 'D'},
{'7', '8', '9', 'E'},
{'A', ' 0', 'B', 'F'}}; //2D matrix voor het toetsenbord. Bewerken als u wilt wijzigen van de lay-out van uw //keypad
voor (int kolom = 6; kolom < 10; kolom ++) {}
digitalWrite (kolom, hoge); //Setting de kolom pinnen op hoog in een reeks
voor (int rij 2 rij < 6; rij ++ =) {}
int rowState = digitalRead(row); / / scannen via alle pinnen van de rij
if(rowState == 1) {//If een druk op de knop wordt gedetecteerd
Serial.println(matrix[Row-2][column-6]);
digitalWrite (kolom, laag);
}
}
}