Die BackLEDs sollen 100mal blinken:
#include "asuro.h" int main() int i=0; |
Die StatusLED blinkt GRÜN, ROT und GELB:
#include "asuro.h" int main() const int DAUER=400; |
Die Funktion "GoTurn( Strecke, Winkel, Geschwindigkeit)" ermöglicht ein Geradeausfahren und ein Kurvenfahren. Das folgende Programm fährt ein Rechteck zweimal ab:
// Programm Rechteckfahren #include "asuro.h" int main (void) { Init (); EncoderInit();
|
Download des Projektes.
Falls das Programm "Rechteckfahren" nicht funktioniert: Es könnte natürlich sein, dass die Encoder "kaputt sind".
Das kann mit dem folgenden Programm getestet werden:
// Odometertest mit IR-Ausgabe #include "asuro.h" #include <stdlib.h> int main (void) { Init (); EncoderInit(); MotorDir(FWD,FWD); MotorSpeed(120,120); int odo_links; int odo_rechts; char text[16]; // Speicher für mit itoa() umgewandelte Integer-Zahl int i; for(i=0; i<8000; i++){ odo_links = encoder[LEFT]; odo_rechts = encoder[RIGHT]; Msleep(300); SerPrint("Links:"); // Umwandlung einer Integer-zahl in eine Zeichenkette: itoa(odo_links, text, 10); // 10 bedeutet Dezimal-Ausgabe SerPrint(text); // Ausgabe Odometriewert links SerPrint("_Rechts:"); itoa(odo_rechts, text, 10); // 10 bedeutet Dezimal-Ausgabe SerPrint(text); // Ausgabe Odometriewert links SerPrint("\r\n"); // Zeilenvorschub } return 0; } |
Download des Projektes.
So sieht die Ausgabe bei Geradeaus-Fahrt mit dem Terminal-Programm "Hercules" aus:
Es ist nun deutlich zu erkennen, dass der linke Encoder nicht funktioniert!