- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 15

Thema: Probleme mit 4x4 Tastatur am ADC

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @TrainMen:
    Der Code sieht auf den ersten Blick beim groben Überfliegen gut aus.

    Was ich checken würde:
    1. Um auszuschließen, dass es an deinem Main-Programm liegt, würde ich das Beispiel RP6Control_Buttons.c nur soweit umschreiben, dass es im "switch(key)" Konstrukt auf 16 Tasten reagieren kann und natürlich mit deiner Funktionsbezeichnung (getPressedKeyNumberLeiste) klar kommt.
    Wenn es damit funktioniert, muss es am Main Prog liegen.
    Was noch möglich wäre:
    2. Ich gehe davon aus, dass deine Hardware (neue 16-er Tastatur) in Ordnung ist. Prüfen würde ich da: Sind die Widerstände auch nicht zu hochohmig? Ein Längsstrom von ~1mA sollte es schon über jede Taste sein.
    Prellen die Tasten evtl.? Da kann ein 10nF Kondensator am ADC7 helfen.
    3. Du verwendest task_ADC() doch nicht gleichzeitig in deinem Main Prog? Das würde sich dann beissen!
    Gruß
    Dirk

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    @Dirk
    zu 1
    Also am Main-Programm kann es eigentlich nicht liegen da ja die andere Tastatur funktioniert. Es gibt im Programm nur 2 Funktionen. Tastatur 1x5 und Tastatur 4x4 und in der while schleife wird zum Testen mal die oder die aufgerufen mehr gibt es da nicht, also Identisch mit der RP6Control_Buttons.c. ohne das gepiepe. Es funktioniert nicht mit der 4x4.
    zu 2
    Also ich geh auch davon aus das meine Bastelei in Ordnung ist. Ich stütze eben meine Aussage darauf das ich ja beim Lesen von ADC7 bei jedem Tastendruck einen unterschiedlichen Wert bekomme.
    Hmm Dein Längstrom macht mich Nervös. Ich habe leider gestern beim Messen die Sicherung vom Multimeter kaputt gemacht und habe keine da und flicken will ich da nichts. Aber als ich gestern gemessen habe hatte ich da irgendwas von 0,7? 0,5? 0,3? in Erinnerung ich kann aber beim besten willen nicht mehr sagen wie ich da gemessen habe. Ich hatte jedenfall beide Tastaturen gemessen und 1mA hatte ich nicht.
    Prellen bedeutet ja nichts weiter wie anausanausan ? Wenn es denn so wäre müsste ich doch auch bei der Ausgabe vom ADC7 zum Bsp: 200 0 200 0 200 bekommen. Ich bekomme aber nur saubere Ausgaben. Aber das mit dem 10nF Kondensator kann man sich merken.
    zu 3
    Nein task_ADC() wird nicht benutzt.
    mfG TrainMen

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @TrainMen:
    zu 1)
    Ok, das scheint es also nicht zu sein. In der Lib hast du also 2 Lesefunktionen, eine für 1x5 (die Original!) und eine für 4x4 (eine selbst geschriebene), die du beide benutzt ... und die 4x4 funktioniert nicht. Vielleicht testest du einmal mit den Original-Funktionen ALLEIN, aber geändert auf ADC_7 und mit deinen ADC-Werten für die Tasten 1..5 (ein etwas hilfloser Vorschlag, aber man hat schon "Pferde kotzen gesehen"!)
    zu 2)
    Nicht allzu ernst nehmen! Wenn du die Widerstandswerte von meinem Vorschlag (dein Link oben!) für eine ADC-Tastatur genommen hast, liegt der Längsstrom zwischen 0,6 und 1,4mA,- das ist ok.
    zu 3)
    Ok, wenn du mit der Lib V1.3beta unterwegs bist, dürfte es auch nicht task_RP6M32System() sein. Aber ich denke, du siehst das selbst.
    Gruß
    Dirk

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    @Dirk
    zu 1
    ja auf die Idee bin ich auch schon gekommen mit den Original Funktionen, aber das funktioniert nicht. Ich habe da schon alles ausprobiert. Die Originale, meine Funktion nur mit 5 Werten. Ich weiss nicht mehr weiter. Ich habe auch alles immer neu compiliert.Ich glaube ich habe an alles gedacht.
    zu 2
    ja genau sind die Werte aus Deinem Vorschlag.
    zu 3
    genau

    mfG TrainMen

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @TrainMen:
    Zu 1
    Klingt so ...
    Zu 2
    Ok
    Zu 3
    ---

    Zwei ratlose Fragen/Anregungen:
    1. Poste doch mal das Prog, mit dem du die 4x4 Tastatur auslesen kannst!
    2. Welchen Wert liefert denn deine bisherige 4x4-Funktion bei den einzelnen Tasten (0? Oder abhängig von der Taste?) Definier doch mal eine globale Variable, der in getPressedKeyNumberLeiste() der Wert von keysLeiste zugewiesen wird. Den könnte man dann in Main anzeigen ...
    3. Aufpassen mit der Zeile "return 0;"! Die muss immer am Ende nach allen If-Abfragen stehen. Aber, daran hast du auch sicher gedacht. Ich schreibe das nur, weil die Zeile oben in deiner Funktion 2x drin ist ...
    Gruß
    Dirk

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    zu 1
    das sind nur ein paar Zeilen
    Code:
    writeString_P("\nADC7: ");
      uint16_t adc7 = readADC(ADC_7);
       writeInteger(adc7, DEC);
      writeChar('\n');
      mSleep(300);
    zu 2
    versteh ich jetzt nicht was du mit bisherige 4x4 meinst ? Wenn Die 1x5 dran ist bekomme ich beim auslesen 1023 und dann den entsprechenden Wert beim Drücken. Bei der 4x4 bekomme ich beim auslesen 0 und dann denn entsprechenden Wert beim Drücken. Das mit der Variablen habe ich glaube ich schon gemacht, da bekam ich einmal einen Wert von 920 bei Taste 16 und dann immer 0, bei wiederholungen blieb es dann bei 0, ich hab es dann gelassen.
    zu 3
    ja schon klar, das kommt daher das ich das immer auskommentiere entweder 1x5 oder 4x4
    ist jetzt beim kopieren passiert, ist nur einmal drin
    mfG TrainMen
    Geändert von TrainMen (14.05.2011 um 18:21 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @TrainMen:
    Da bin ich komplett ratlos, sorry.

    Noch ein letzter Hinweis:
    Da du ja wohl immer die Lib änderst, muss sie ja auch neu kompiliert werden. Klar.
    Da habe ich mir schon mal nen Wolf gesucht, weil die Lib nicht neu kompiliert wurde, wenn die .lst und .o Dateien nicht gelöscht wurden.
    Aber da fällst du ja wohl nicht drauf rein.

    Also: Ich hab keine Ahnung, was da bei dir nicht klappt.
    Trotzdem: Viel Erfolg!
    Gruß
    Dirk

Ähnliche Themen

  1. Probleme mit PC-AT-Tastatur
    Von tiller im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 21
    Letzter Beitrag: 24.07.2008, 12:25
  2. Probleme beim Anschließen von Tastatur
    Von Aquafisch im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 02.09.2007, 20:18
  3. IO - PS/2 Tastatur
    Von uTang im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 04.01.2005, 17:16
  4. [ERLEDIGT] Probleme mit 4x3 Tastatur
    Von mathiasd. im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 20.08.2004, 18:25

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress