- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Taster gibt falschen Wert

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Ort
    Hann. Münden
    Alter
    38
    Beiträge
    63

    Taster gibt falschen Wert

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Mein Taster K1 gibt den Wert 31 raus (nicht 32).
    Gehe ich recht in der Annahme, dass der Widerstand R25(2k) bei mir wohl ein wenig zu groß ist und durch einen etwas geringeren wiederstand (z.B. 1,99k) ersetzt werden müsste? In der Anleitung wurde erwähnt das man das Softwareseitig beheben kann. Wie?

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Die Taster können kallibriert werden. In der Datei asuro.c wird mit einer Formel am Ende der Funktion PollSwitch() der Messwert i in den Rückgabewerte der Funktion umgerechnet:
    //return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 61.0 + 0.5));
    //return ((10240000L/(long)i-10000L)*61L+5000L)/10000;
    return ((10240000L/(long)i-10000L)*63L+5000L)/10000;
    Das ist ein Ausschnitt aus meiner asuro.c. Im allgemeinen reicht es, wenn man den 60er-Wert variiert. Weiter Infos dazu gibt's z.B. im asurowiki (Das hier verwendete "MY_SWITCH_VALUE" gibt es erst in der aktuellen Version der Library und wurde eingeführt um diesen Wert ohne Eingriff in asuro.c beeinflussen zu können.).

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    32
    Beiträge
    384
    Hi Hawk-Matze,

    ich habe dasselbe Problem. Wenn ich eine Tasterabfrage mache und die Taster erkennen will geb ich beim letzten immer Werte bereiche an
    Code:
    a=PollSwitch();
    b=PollSwitch();
    if ((a==b)&&(b>=25)&&(b<=32)){...}
    . So funktioniert das bei mir ohne Probleme.

    mfg
    Erik

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Das ist natürlich auch möglich, aber bei der Abfrage mehrerer gleichzeitig betätigter Tasten eher quälend. >25 würde für Taste 1 auch genügen...

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Ort
    Hann. Münden
    Alter
    38
    Beiträge
    63
    Ja so habe ich das bisher auch gemacht, aber auf dauer will das schon vernünftig lösen... habe das mit der #define MY_SWITCH_VALUE nicht hinbekommen, habe da mitlerweile 70 stehen und es ändert sich nichts... ich verwende die neueste bibliothek, kann es sein, dass da die myasuro.h nicht includet ist?

    Das ist seltsam, ich kann die pollswitch funktion in switches umbennen und es tritt kein fehler auf... da stimmt doch was nicht

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ich verwende die aktuelle Library nicht. Soweit ich weiß, muss man die Lib neu kompilieren damit die Änderung wirksam wird. Such mal im Forum nach "MY_SWITCH_VALUE", da gibt's schon ein paar Threads zum Thema. Ich kann aber nicht beurteilen, welcher davon dein Problem beheben könnte.

    Wenn du in der Formel den Wert direkt hart änderst sollte sich wenigsten etwas ändern.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    17.12.2007
    Ort
    Hann. Münden
    Alter
    38
    Beiträge
    63
    Ich sag nur
    1 2 4 8 16 32
    und danke!
    Ja man musste die lib neu kompilieren!
    Schön schön

Berechtigungen

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

12V Akku bauen