sitemap link mailform link home

NXC Codebeispiele

Einfaches Testprogramm für LEGO Mindstorms NXT:

//Testprogramm für NXT

#define SPEED1 50
#define SPEED2 75

// Noten-Definition für Musikausgabe
#define C 262
#define D 294
#define E 330
#define F 349
#define G 392
#define A 440
#define H 494
#define C2 523
// Notenlängen definieren
#define VIERTEL 400
#define ACHTEL 200
#define PAUSE 500


task main()
{
     TextOut(0, LCD_LINE1, "Testprogramm");
     TextOut(0, LCD_LINE2, "fuer LEGO");
     TextOut(0, LCD_LINE3, "Mindstorms");
     Wait(3000);
    
     // Vorwärts fahren
     TextOut(0, LCD_LINE5, "Vorwaerts   ");
     OnFwd(OUT_AC, SPEED1);
     Wait(2000);
     Off(OUT_AC);
     Wait(1000);
    
     // Drehen auf der Stelle, ca. 180 Grad
     TextOut(0, LCD_LINE5, "Drehung   ");
     OnFwd(OUT_A, SPEED1);
     OnRev(OUT_C, SPEED1);
     Wait(1000);
     Off(OUT_AC);
     Wait(1000);
    
     // Musik abspielen
     TextOut(0, LCD_LINE5, "Musik    ");
     PlayTone(C, VIERTEL);
     Wait(PAUSE);
     PlayTone(D, VIERTEL);
     Wait(PAUSE);
     PlayTone(C, VIERTEL);
     Wait(PAUSE);
    
     // Test Ultraschallsensor an IN4
     // Ausgabe auf dem LC-Display
     SetSensorLowspeed(IN_4);
     while(true)
     {
     ClearScreen();
     TextOut(0, LCD_LINE5, "Entfernung =");
     NumOut(80, LCD_LINE5, SensorUS(IN_4));
     Wait(300);
     }
    
}

Programmcode "Fahren bis Tastsensor gedrückt wird""
Benötigt wird nur ein Tastsensor:


task main()
{
     TextOut(0, LCD_LINE1, "Fahren, bis");
     TextOut(0, LCD_LINE2, "Tastsensor");
     TextOut(0, LCD_LINE3, "gedrueckt wird");
     Wait(3000);
     SetSensor(IN_1, SENSOR_TOUCH);

     OnFwd(OUT_AC, 75);
     until(SENSOR_1 == 1);
     Off(OUT_AC);

}

Programmcode "Losfahren auf Tastendruck - Stoppen vor Hindernis"
Benötigt werden der Ultraschall- und der Tastsensor:

// Tastsensor und Ultraschallsensor verwenden

#define DISTANZ 20 // in Zentimeter

task main()
{
     TextOut(0, LCD_LINE1, "Losfahren, wenn");
     TextOut(0, LCD_LINE2, "Tastsensor ge-");
     TextOut(0, LCD_LINE3, "drueckt wird.");
     TextOut(0, LCD_LINE5, "Stoppen vor einem");
     TextOut(0, LCD_LINE6, "Hindernis.");
     Wait(100);
     SetSensorTouch(IN_1);
     SetSensorLowspeed(IN_4);
     while(SENSOR_1 == 0)
                    {
                    }

     OnFwd(OUT_AC, 75);
    
     until(SensorUS(IN_4) < DISTANZ);
     Off(OUT_AC);

}

.

 

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »