Go Down

Topic: Keypad des Wahnsinns: 1,2,5x Keypad 3x4 (Read 370 times) previous topic - next topic

MikeLimaZulu

Hi

Ich habe ein neues Keypad und verwende Keypad.h zum ansteuern.

Der Code sieht so aus:
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] = {30, 34, 32, 28}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {26, 22, 24}; //connect to the column pinouts of the keypad

Mein Problem (mangels Doku): Es funktionieren scheinbar nur einige Tasten. Hier das Layout was funktoniert und was nicht (X für kein Resultat)

X X 3
4 5 X
6 7 X
* 0 X

Was läuft falsch ? Wiring oder coding ?

Danke vielmals
Mike

HotSystems

.....
Mein Problem (mangels Doku): Es funktionieren scheinbar nur einige Tasten. Hier das Layout was funktoniert und was nicht (X für kein Resultat)
.....
Warum misst du das Keypad nicht vorher mit einem Ohmmeter durch ?
Dann siehst du doch welche Taste wann geschlossen ist.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

uwefed

Meiner Ansicht hast Du das Tastaturfeld falsch oder an falschen Pins angeschlossen.
Grüße Uwe

combie

Quote
Was läuft falsch ? Wiring oder coding ?
Tja....
Da du beides nicht zeigst...

Das Wiring gar nicht, und den Code bis zu Untestbarkeit verstümmelt.
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

gregorss

byte colPins[COLS] = {26, 22, 24}; //connect to the column pinouts of the keypad
Wenn ich solche Codezeilen sehe, frage ich mich, wie so seltsame Anschlussreihenfolgen zustande kommen. Einziger Einfall: Das ist Zeug, das mal jemand von jemandes Zeug kopiert hat, der mal Zeug kopiert hat. Dann hat es nochmal jemand kopiert. Und dann nochmal.

Um ein dermaßen einfaches Gitter auszuwerten (nicht „ansteuern") benötigt man keine Bibliothek. Es sei denn, man hat Bock darauf, eine Bibliothek einzusetzen.

Gruß

Gregor
„Ich glaube, ich leg' mich noch mal hin", sagte das Bit.

noiasca

#5
Feb 07, 2019, 01:17 pm Last Edit: Feb 07, 2019, 01:19 pm by noiasca
Wenn ich solche Codezeilen sehe, frage ich mich, wie so seltsame Anschlussreihenfolgen zustande kommen.
man kann raten.
Es ist ein Mega, und er schließt halt 3 Pins der Reihe nach an.

belustigend finde ich eher wie oft man 3 Reihen in einem  Code schreiben kann

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

byte colPins[COLS] = {26, 22, 24}; //connect to the column pinouts of the keypad

viel spaß beim umbauen auf 4x4
DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

combie

Quote
viel spaß beim umbauen auf 4x4
Der Umbau ist trivial.
> Das größte Problem, ist die Wahl der richtigen Gedanken <
Frei nach Dale Carnegie

MikeLimaZulu

Na herzlichen Dank für den Sarkasmus. Da fühl ich mich gleich besser..
Ja, ich hab die Codezeile #include <keypad.h> vergessen anzugeben. War wohl schwer zu erraten.

Ja, es ist kopierter Code. So fangen die meisten mal an und die Comments sind nicht von mir.

Die komischen Zahlenfolgen kommen entstehen durch ausprobieren: Sie ergeben zumindest korrekte Angaben bei den Tasten (wie oben angegeben).

Mehr Angaben in Kürze

gregorss

Ja, es ist kopierter Code. So fangen die meisten mal an und die Comments sind nicht von mir.
Ich hatte das nicht „gegen Dich" gemeint.

Dass ein Anfänger mit kopiertem Code arbeitet ist für sich ja okay. Ich würde nur z. B. die Pins 23,24,25 benutzen und nicht irgendeine überkreuz-oder-sonstwie-Reihenfolge.

Gruß

Gregor
„Ich glaube, ich leg' mich noch mal hin", sagte das Bit.

HotSystems

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

MikeLimaZulu

Danke für die Nachfrage. Ich habe das Problem gelöst. Das Keypad hat eine ausgesprochen ungewöhnliche Pin-Belegung. Nach dem Motto: Col Col Row Row Col Row Row.

Und natürlich undokumentiert.

Case closed und danke
Mike

Go Up