-
Asuro Hyperterminal
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.
-
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...
-
wow das ist cool
ich habe dein Programm erweitertmit automatischen kurven ...
voll geil
mfg