-         

Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 58

Thema: Probleme mit Tastern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.09.2007
    Beiträge
    8

    Probleme mit Tastern

    Anzeige

    Hallo!

    Bin ein neuer Asurobastler.

    Zusammenbau hat soweit funktioniert, asuro hat selbsttest bestanden.

    jetzt habe ich ein erstes kleines Programm geschrieben, bei dem er nachdem der Taster mit Wert 2 aktiv geht umdrehen soll und dann wieder vorwärts vor sich hinfahren soll.

    Problem: Der Asuor dreht teilweise schon ohne hindernis um.
    Kann das an den von den anderen beschriebenen Problemen mit den Tastern liegen oder habe ich im Programm einen Fehlen?

    Bitte um Kontrolle

    Code:
    #include "asuro.h" 
    
    void main() 
    { 
    int zaehler; 
    
       Init(); 
       while(1) 
       { 
          if (PollSwitch() == 2) 
          { 
             StatusLED (YELLOW); 
             MotorDir(RWD,RWD); 
             MotorSpeed(100,200); 
                          
              for(zaehler=0; zaehler < 800; zaehler++) 
                 {       
                   Sleep(255);
                  }
          }       
          else 
          { 
             StatusLED (GREEN); 
             MotorDir(FWD,FWD); 
             MotorSpeed(120,120); 
          }       
       }                
    }
    Danke

    Mfg
    Roland

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    12.09.2007
    Alter
    23
    Beiträge
    98
    Also ich finde keinen Fehler. Ich hab nur einen Vorschlag, nämlich du solltest die Asuro Lib benutzen, dann könntetst du zum Beispiel die Sleep-Schleife durch Msleep.

    mfg liggi

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.08.2007
    Beiträge
    61
    Ich denke auch, dass kein Hardware-Fehler vorliegt. Ruf die Funktion PollSwitch() einfach mehrmals auf.

    Code:
    #include "asuro.h" 
    
    void main() 
    { 
    int zaehler; 
    
       Init(); 
       while(1) 
       { 
          if (PollSwitch() == 2) 
          { 
             if(PollSwitch()==2)
            {
               if(PollSwitch()==2)
             {
    
            StatusLED (YELLOW); 
             MotorDir(RWD,RWD); 
             MotorSpeed(100,200); 
                          
              for(zaehler=0; zaehler < 800; zaehler++) 
                 {        
                   Sleep(255); 
                  } 
          }}}        
          else 
          { 
             StatusLED (GREEN); 
             MotorDir(FWD,FWD); 
             MotorSpeed(120,120); 
          }        
       }                
    }
    Durch das öftere Aufrufen wird der Kondi C7 entladen und liefert genauere Werte.

    Gruß farratt

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    den kondensator kann man auch entfernen, seitdem geht bei mir alles. aber such mal ein wenig nach tastern im forum, da gibt es sehr viele ansätze. für den anfang reicht es meist schon die funktion mehrfach aufzurufen.

    einfacher, als alles zu verschachteln, geht folgendes:
    a=PollSwitch();
    b=PollSwitch();
    c=PollSwitch();
    if((a == b)&(b == c)){ ....
    kleinschreibung ist cool!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    17.09.2007
    Beiträge
    8
    werde bei gelegenheit mal einen kleineren Ko verwenden und das tau kleiner machen

  6. #6
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    öhm... was meinst du?
    kleinschreibung ist cool!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    10.08.2007
    Beiträge
    47
    tau ist IMHO die Zeitkonstante/Halbwertszeit
    in diesem speziellem Fall wohl die des Kondensators, also ein kleinerer Kondensator

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    lol... ja ein kleinerer konsensator könnte wohl helfen. an dieses tau hab ich gar nicht gedacht =) ich habe ihn einfach nicht eingelötet, es geht perfekt.
    kleinschreibung ist cool!

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    17.09.2007
    Beiträge
    8
    tau ist die Zeitkonstante die sich aus RxC zusammensetzt.

    Für mich stellt der Kondensator eine Buffer dar, falls sich etwas einkoppen sollte um den Eingang des IC´s zu schützen (eventuell EMV maßnahme???)

    Aber Funktion hat dieser C wohl keine, da sich die Spannung die bei gedrücktem Taster sowieso aufgrund des Spannungsteilers zusammensetzt, außer dass bei loslassen des Tasters der Eingang nicht sofort auf "1" geht, oder hat da wer ne andere Idee??

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    17.09.2007
    Beiträge
    8
    *doppelpost*

    15 zeichen

Seite 1 von 6 123 ... LetzteLetzte

Berechtigungen

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