-         

Ergebnis 1 bis 4 von 4

Thema: Motoren beeinflussen Tasten (K1-K6)

  1. #1

    Motoren beeinflussen Tasten (K1-K6)

    Anzeige

    Hallo,
    ich bin neu hier und hoffe, dass mir jemand helfen kann.
    Ich habe zu Weihnachten einen Asuro geschenkt bekommen. Der Zusammenbau war unkritisch und der Selbsttest hat auf anhieb funktioniert. Beim schreiben eigener Programme habe ich nun festgestellt, dass das Drehen der Motoren den Status der Taster K1-K6 beeinflusst.
    Folgendes Programm habe ich als Beispiel verwendet:

    Code:
    MotorDir(FWD, FWD);
    MotorSpeed(128, 128);
    unsigned char Taste = 0;
    while (1)
    {
       Taste = PollSwitch();
       if (Taste > 0)
       {
          BackLED(ON, ON);
       }
       else
       {
          BackLED(OFF, OFF);
       }
    }
    Dabei flackern die hinteren LEDs fast ständig.
    Wenn ich die Motoren anhalte (MotorSpeed(0,0)), dann ist alles ok. Die LEDs leuchten nur, wenn auch eine Taste gedrückt wurde.

    Da scheinen die Motoren nicht ausreichend entstört zu sein.

    Hat jemand ähnliche Erfahreungen gemacht und kann mir einen Tip geben, wie ich das Flackern verhindern kann?

    Vielen Dank schon einmal im Voraus,

    Thorsten

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

    willkommen im RN-Forum und Glückwunsch zum asuro.

    PollSwitch() "lügt" gelegentlich, deshalb sollte man die Tasten immer mehrfach abfragen:
    Code:
    #include "asuro.h"
    
    unsigned char Taste1, Taste2;
    
    int main(void)
    {
    	Init();
    	MotorDir(FWD, FWD);
    	MotorSpeed(128, 128);
    	Taste2 = PollSwitch();
    	while (1)
    	{
    		Taste1 = PollSwitch();
    		if (Taste1 && (Taste1 == Taste2))
    		{
    			BackLED(ON, ON);
    		}
    			else
    		{
    			BackLED(OFF, OFF);
    		}
    		Taste2 = Taste1;
    	}
    	return(0);
    }
    Gruß

    mic

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

  3. #3

    Danke

    Hallo,

    vielen Dank. Jetzt gehts....
    Schon komisch, dass PollSwitch() gelegentlich falsche Werte liefert.

    Jetzt kann ich weiter machen. Klasse.

    Gruß,
    Thorsten

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    noch ein tip: wenn du deinen nächsten eitrag verfasst, dann nutze doch bitte die code-tags um so eine hübsche box um den quellcode zu machen. klick bei deinem beitrag auf edit (oben rechts) dann siehst du was ich meine. ich habe deinen beitrag editiert und die box eingefügt. danke!
    kleinschreibung ist cool!

Berechtigungen

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