-
        

Ergebnis 1 bis 3 von 3

Thema: Asuro Hyperterminal

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.07.2010
    Beiträge
    31

    Asuro Hyperterminal

    Anzeige

    Hey Leute,
    Ich habe ein Programm geschrieben womit man den Asuro über Hyperterminal steuern kann.
    Es ist recht einfach gestaltet und von einem Anfänger geschrieben.
    Ich poste es hier, weil ich gerne wissen würde was ihr davon haltet.
    Code:
    #include "asuro.h"
    
    // Hauptprogramm
    int main(void)
    {
    	int a;
    
     Init();
    
    
     while(1)
     {
    	char message[] = "1";
    	SerRead(message,1,0);
    	
    	
    	
    	if(message[0] == 'd')
    	{
    		SerWrite("d",1);
    		MotorDir(FWD,RWD);
    		MotorSpeed(200,200);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    
    		MotorSpeed(0,0);
    	}
    	
    		if(message[0] == 'a')
    	{
    		SerWrite("a",1);
    		MotorDir(RWD,FWD);
    		MotorSpeed(200,200);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    
    		MotorSpeed(0,0);
    	}
    	
    			if(message[0] == 'w')
    	{
    		SerWrite("w",1);
    		MotorDir(FWD,FWD);
    		MotorSpeed(200,200);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);	
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		MotorSpeed(0,0);
    	}
    	
    			if(message[0] == 's')
    	{
    		SerWrite("s",1);
    		MotorDir(RWD,RWD);
    		MotorSpeed(200,200);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		Sleep(216);
    		MotorSpeed(0,0);
    	}
    
    	
    
    
     }
     return 0;
    }


    MfG tortelini66




    Edit: gesteuert wird über w,a,s,d!!!
    Ich empfehle die taste nur kurz zu drücken und danach nochmal, also eben nict gedrückt halten.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    28.03.2010
    Ort
    nahe München
    Beiträge
    45
    ich würde Sleep in eine Schleife packen:

    Code:
    void Msleep (
      int dauer)
    {
      int z;
      for (z = 0; z < dauer; z++)
        Sleep (36);
    }
    Das "Problem" mit dem kurz drücken lässt sich vermeiden, wenn du einen timeout, z.B. 50ms, einstellst.
    Wenn Taste gedrückt, stelle Geschwindigkeit ein, sonst Stopp.
    Dadurch gibt er nicht die ganze Zeit Gas und Brems wieder...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    wow das ist cool
    ich habe dein Programm erweitertmit automatischen kurven ...
    voll geil

    mfg

Berechtigungen

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