Herunterladen Inhalt Inhalt Diese Seite drucken

SunFounder Da Vinci Kit Bedienungsanleitung Seite 201

Für den raspberry pi 4 modell b, 3 modell a +, 3 modell b +, 3 modell b, 2 modell b, 1 modell b +, 1 modell a +, zero w and zero
Inhaltsverzeichnis

Werbung

unsigned char
KEYS[BUTTON_NUM] {
'1','2','3','A',
'4','5','6','B',
'7','8','9','C',
' *
','0','#','D'};
unsigned char
rowPins[ROWS]
colPins[COLS]
unsigned char
Deklarieren Sie jede Taste der Matrixtastatur zu den Array- keys[] und definieren Sie die Pins für jede Zeile und Spalte.
while(1){
keyRead(pressed_keys);
bool
comp
=
if
(!comp){
keyPrint(pressed_keys);
keyCopy(last_key_pressed, pressed_keys);
}
delay(100);
}
Dies ist der Teil der Hauptfunktion, der den Tastenwert liest und druckt.
Die Funktion keys[] liest den Status jeder Taste.
Mit KeyCompare() und keyCopy () wird beurteilt, ob sich der Status einer Schaltfläche geändert hat (dh eine Schalt-
fläche wurde gedrückt oder losgelassen).
keyPrint() druckt den Tastenwert der Taste, deren aktueller Niveau hoch ist (die Taste wird gedrückt).
void keyRead(unsigned char
int
index;
int
count
=
0;
keyClear(result);
for(int
i=0
; i<ROWS ;
digitalWrite(rowPins[i], HIGH);
for(int
j
=0
index
=
if(digitalRead(colPins[j])
result[count]=KEYS[index];
count
}
}
delay(1);
digitalWrite(rowPins[i], LOW);
}
}
Diese Funktion weist jeder Zeile nacheinander eine hohe Ebene zu, und wenn die Taste in der Spalte gedrückt wird,
erhält die Spalte, in der sich die Taste befindet, eine hohe Ebene. Nach der zweischichtigen Schleifenbeurteilung
generiert die Schlüsselzustandskompilierung ein Array (reasult[]).
Beim Drücken von Taste 3:
1.8. 2 Eingabe
=
{1, 4, 5, 6};
=
{12, 3, 2, 0};
keyCompare(pressed_keys, last_key_pressed);
result){
*
i++
){
; j
<
COLS ; j++){
i
ROWS
+
j;
*
+=
1;
==
1){
SunFounder Da Vinci Kit
197

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für SunFounder Da Vinci Kit

Diese Anleitung auch für:

Davinci-kit-for-raspberry-pi

Inhaltsverzeichnis