//déclaration des variables
int Distance;
int Angle;
int x;
int y;
string Istr;
byte fileHandle;
short fileSize;
short bytesWritten;
task main()
{
SetSensorLowspeed (S4); //declare le sensor ultrason
DeleteFile("radar.txt"); //efface l'ancien fichier s'il existe
CreateFile("radar.txt", 8192, fileHandle); // crée un nouveau fichier de 8192 octets
while (Angle <> 360) // effectue la boucle tant que l'angle est différent de 360°
{
RotateMotor(OUT_A, 20, 1); // RotateMotor permet de tourner selon un nombre de degrés, vitesse 20, 1 degrée
Distance = SensorUS (S4); // place la distance du sensor dans la variable "Distance"
Angle ++; // incremente Angle de 1
//PlayToneEx(Angle * 10, 100, 1, 0); // possibilité de jouer un son dont la fréquence = l'angle x 10
x = Distance * Sin(Angle) / 100;
y = Distance * Cos(Angle) / 100;
Istr = "Distance = " + NumToStr(Distance);
TextOut(0,LCD_LINE1,Istr,1); //dernière option à (1) pour effacer l'écran
Istr = "Angle = " + NumToStr(Angle);
TextOut(0,LCD_LINE3,Istr,0); //dernière option à (0) pour ne pas effacer l'écran
Istr = "x = " + NumToStr(x);
TextOut(0,LCD_LINE5,Istr,0);
Istr = "y = " + NumToStr(y);
TextOut(0,LCD_LINE7,Istr,0);
Istr = NumToStr(Distance) + ";" + NumToStr(Angle) + ";" + NumToStr(x) + ";" + NumToStr(y);//construction de la ligne de données à écrire dans le fichier
WriteLnString(fileHandle, Istr, bytesWritten); // écriture de la ligne dans le fichier
}
RotateMotor(OUT_A,30,-360); //revient au point de départ
CloseFile(fileHandle); //ferme le fichier
}