- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Asuro - Erstes Programm

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Wenn die Motoren drehen kann es oft passieren das PollSwitch ein Fehler-messung macht für die niedrigste Bitwert-tasten. (K5 oder K6) Ein Kollisionserkennung macht man oft durch speichern von 2 Pollswitch-messungen (testen ob den Taster-eindruck stabil ist) in Variabelen und diese zu vergleichen mit einander und den gewünschte zustand.

    zbs.
    Code:
    ...
    int t1=PollSwitch();
    int t2=PollSwitch();
    
    if ((t1==t2) && (t1>0) ) { // mache Kollision }
      elseif {// keine kollision }
    ...

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.05.2015
    Beiträge
    41
    Hallo Valen,

    danke, deinen Code habe ich auch noch mit eingebaut, als kleine Sicherheit. Ab und an machen die Taster wirklich, was sie wollen .

    Für interessierte Anfänger hier ist jetzt mein kleines Programm:

    Code:
    #include "asuro.h"
    
    void MSleep(int dauer)
    
    {
    int z;
    for(z=0; z<dauer;z++)
    Sleep(72);
    }
    
    int main(void)
    
    {
    Init();
    
    while(1)
    	{
    	
    	int t1;
    	int t2;
    
    	t1 = PollSwitch();
    	t2 = PollSwitch();
    	
    	if((t1==t2) &&(t1>0))
    	{StatusLED(RED);
    	BackLED(ON,ON);
    	MotorDir(BREAK,BREAK);
    	MotorDir(RWD,RWD);
    	MotorSpeed(120,70);
    	MSleep(2000);
    	}
    	else
    	{StatusLED(GREEN);
    	BackLED(OFF,OFF);
    	MotorDir(FWD,FWD);
    	MotorSpeed(120,140);}
    	}
    
    return 0;
    
    }
    Der kleine Asuro fährt vorwärts, bis die Taster eine "Kollision" melden, dann wendet er für 2 Sekunden rückwärts und fährt bis zur Kollision wieder vorwärts. Die Differenz bei MotorSPeed(120,140) dient dem Ausgleich, der rechte Motor scheint etwas langsamer zu drehen, was evtl. an meinem Ritzeltausch liegt oder daran, dass die Achsen etwas weiterzusammengerückt sind. Mittlerweile läuft es aber. Im Normalfall sollten dort natürlich die gleichen Werte stehen.

    Gruß,
    Dirk

Ähnliche Themen

  1. erstes Programm in C
    Von IchKG im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 08.02.2008, 09:23
  2. Antworten: 44
    Letzter Beitrag: 11.09.2007, 23:54
  3. Asuro erstes Programm Fehler ?!
    Von BKA im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 09.05.2006, 19:52
  4. Erstes größeres ASURO-Programm macht nur Probleme
    Von Amaris im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 23.10.2005, 20:25
  5. erstes Programm
    Von sulu im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 6
    Letzter Beitrag: 16.09.2005, 20:06

Berechtigungen

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

Labornetzteil AliExpress