-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Taster funktionieren nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2007
    Beiträge
    28

    Taster funktionieren nicht

    Anzeige

    Hallo, irgendwie funktionieren meine Taster nicht. Aber das erst seit heute, gestern hasts noch geklappt. Was kann da nicht richtig angeschloßen oder so was sein.
    Kann mit jemand seinen Code für Tasterabfrage geben, falls er nicht der selbe ist wie auf der Anleitung.
    Ich habe die 2.1 Version (die neue geht nicht)
    Mfg.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    du musst von deinen Tastern aus Richtung µC und Spannungsversorgung den Durchgangswiderstand der Leitungen messen! Erst die komplette Strecke und dann die in der der Widerstand unnatürlich hoch ist in immer kleineren Schritten und dann gehts!
    Klingt auf jeden Fall schwer nach Hardwarefehler wenns gestern ging und heute nicht!
    Hast du sicher nichts am Prog geändert? Spiel zur Not des Prog in der Version von gestern auf!
    Viel Erfolg
    Ich bin keine Signatur ich mach hier nur sauber

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2007
    Beiträge
    28
    Hallo, gemessen hab ich schon. Passt (leider).
    Denn Code von gestern... ja... ä...ja den hab ich nicht mehr-überschrieben
    Aber gestern gabs hin und wieder auch Probleme. Ich habe den Standard Code mit PollSwitch(). Gibts da was anderes(Außer selber proggen)???

    Noch ne Frage: Ist Msleep()nur bei der Version 2.7 dabei????????

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    msleepist in allen versionen, die hier im forum rumgeistern, dabei. auf der cd ist sie nicht.

    trotzdem empfehle ich die version 2.7, einer der aktuellen threads beschreibt gaz exakt die einrichtung.
    durch die neue lib werden die hex-files kleiner, und es gibt viele neue funktionen.
    kleinschreibung ist cool!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2007
    Beiträge
    28
    ja mach ich, leider hilft mir das bei meinem eigentlichen Prob nicht weiter...

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.08.2007
    Alter
    26
    Beiträge
    60
    Was verstehst du denn unter "Standard Code mit PollSwitch()"?
    Kannst du den mal reinstellen?
    Salvo errore et omissione

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2007
    Beiträge
    28
    Hallo,

    mit etwas verstpätung hier mein Code:

    Code:
    #include "asuro.h"
    
    int main(viod)
    {
      Init();
      MotorSpeed(100,100);
      FrontLED(ON);
      while(1)
      {
      if (PollSwitch()==0)
      {
        MotorDir(FWD,FWD);
        StatusLED(GREEN);
      }
      else
      {
        MotorDir(BREAK,BREAK);
        BackLED(ON,ON);
        StatusLED(RED);
      }
      }
    }
    Dies ist nur eine Variante von vielen. In den letzten Tagen habe ich viele ausprobiert aber alle verhielten sich ähnlich wie diese, nämlich:
    Es passiert gar nix. d. h. er führt sofort den else Block aus oder es sind eben die Taster hinüber.

    Mfg. Proger

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    03.08.2007
    Alter
    26
    Beiträge
    60
    Hast du es schon mal mit der Probiert?
    Code:
    #include <asuro.h>
    
    int main(void)
    {
     unsigned char t1, t2;
     Init();
     MotorDir(FWD,FWD);
     MotorSpeed(190,190);
     while(1)
     {
       t1 = PollSwitch();
       t2 = PollSwitch();
       if(t1 && t2 && t1 == t2)
       {
        MotorSpeed(0,0);
        BackLED(ON,ON);
        StatusLED(RED);
        return 1;
       }
     }
     return 0;
    }
    Um ein möglichst genaues Ergebnis zu erhalten sollte man
    PollSwitch(); möglichst zweimal (bis 10 mal) ausführen, da die Funktion manchmal
    falsche Werte zurückliefert.
    Das hängt irgendwie mit dem Kondensator davor zusammen.
    Wenn du über den genaueres wissen willst, dann musst du jemand anderes
    fragen
    Oder benutz mal die Suche, das Thema wurde, meine ich, schon
    öfters mal behandelt.
    Salvo errore et omissione

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2007
    Beiträge
    28
    Ja hab ich. funktioniert nicht.
    Es macht immer nur einen kurzen Ruck (die Räder drehen sich ein paar mm) und dann ist schluß.
    Gibt es noch irgendwas, was ich machen könnte?

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo,

    laß dir doch erst mal im Terminalprogramm ausgeben, was für Werte deine Taster liefern. Evtl. muß die PollSwitch Funktion noch angepaßt werden, oder eine Taste klemmt. Probier dazu das folgende Programm aus und schau die Werte im Terminalprogamm an.

    Code:
    #include <stdlib.h>   /* itoa Funktion */
    #include "asuro.h"
    
    
    int main(void)
    {
      unsigned char t1, t2;
      text [7];
      int z;
    
      Init();
      SerWrite("\r\nTastsensor Test\r\n",19);
      while(1)
      {
        t1 = PollSwitch();
        t2 = PollSwitch();
        if(t1 && t2 && t1 == t2)              /* irgendeine Taste gedrueckt */
        {
          itoa (t1, text, 10);                    /* Wert in ASCII wandeln */
          SerWrite (text, 2);                   /* Wert ausgeben */
          SerWrite("\r\n", 2);                 /* Zeilenvorschub ausgeben */
          for (z = 0; z < 500; z++)         /* 1/2 Sek. warten */
            Sleep (72);
        }
      }
    }
    Nähere Erklärungen unter:
    http://www.asurowiki.de/pmwiki/pmwik...astSensorTestC

    Warum funktioniert die Lib 2.7 bei dir nicht?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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