mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Matrixtastatur 3x4 Probleme


Autor: Stefan K. (zerb287)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe mir gerade eine Matrixtastatur 3x4 zusammengebaut. Ich möchte 
mit dieser einen Atmega32 Controller ansteuern.

Ich habe folgendes Problem. Als Schalter habe ich Schließer verwendet. 
Jeder Schalter ist mit VCC und 2 Ports verbunden.

Ich habe nur nicht bedacht, sobald ein Schalter gedrückt ist, dass sich 
die Spannung in der kompletten Schaltung fortpflanzt.


Code:

#include <avr/io.h>
#include <avr/delay.h>

int main (void) {

   DDRC  = 0xff;
   PORTC = 0x00;

   while(1) {



   /* Fuehre Aktion aus, wenn Bit Nr. 1 (das "zweite" Bit) in PINC 
gesetzt (1) ist */
   if (( PINC & (1<<PINC1)) && (PINC & (1<<PINC3)) ) {
  /* Aktion */
    PORTA = 0xff;
  _delay_ms(262);

    }  else { PORTA = 0x00; }


   }


   return 0;
}


Wie das Problem entsteht weiss ich, wie ich es lösen kann jedoch nicht.

Könnt ihr mir dabei helfen?


Vielen Dank und Gruß,

Stefan

Autor: was-willst-du (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.fernando-heitor.de/index.php?option=com...


Das Problem ist ohne Entkopplung der Taster nicht lösbar.

Autor: Stefan K. (zerb287)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das also richtig sehe, dann kann ich die Schaltung über 
Software zum Funktionieren bringen?

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Vcc und zwei Ports verbunden????

Was denn nun, diskrete Schalter oder Matrix?

Autor: Stefan K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, mein Fehler. Ich weiss wo der Fehler ist und kenne nun auch die 
Lösung.

PIN 0..2 als Ausgang schalten

PIN 3..6 als Eingang schalten wobei Pegel im Ruhezustand auf 5V log. 1

Zur Überprüfung dann die Ausgänge nach und nach auf 0 setzen, wenn ein 
Schalter gedrückt wurde, dann hat ein Eingang eine 0 stehen.

Ich denke so müsste es funktionieren.

Oder?

Gruß Stefan

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu dem Thema Matrix-Tastatur gibt es eine (oder sogar zwei) Application 
Notes von Atmel. Suchen und angucken!

Den einen Port (z.B. Spalten) schaltet man auf GND und am anderen 
(Zeilen) die Pull-Ups ein und als Eingang.
Die Eingänge sind log.1 wenn keine Taste gedrückt wird.
Das Spiel muss man dann noch in die andere Richtung treiben (Zeilen und 
Spalten vertauschen) und kann dann die Postition der gedrückten Taste 
sehr leicht erkennen. Probleme gibt es nur bei der Auswertung, wenn mehr 
als eine Taste gedrückt wird.

Autor: Stefan K. (zerb287)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank,

mal sehen ob ich die Matrix-Tastatur zum Laufen bringe ;-))


Gruß Stefan

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer ist Laufen? Kennt der sich damit aus?

Autor: Stefan K. (zerb287)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, mein Fehler. Den Herr Laufen kenne ich noch nicht. Aber, da ich 
ein Anfänger bin, entschuldigt bitte die Wortwahl. Ich meinte gehen ;-)) 
wie es geht! Außerdem, bein uns im Schwabenland, sind das gängige 
Bezeichnungen ;-))


Gruß Stefan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.