/* BipedeRobot3_Cammina.nqc Gennaio 2006 Questo programma utilizza: Morore_A per muovere il corpo del robot Morore_B Morore_C per far muovere le gambe del robot Sensore_1 (luce) per controllare la rotazione delle gambe Sensore_2 (contatto) per controllare il movimento del corpo a Dx Sensore_3 (contatto) per controllare il movimento del corpo a Sx */ // Definizioni delle costanti del programma #define ROTAZIONE 48 // valore di rotazione OK // N.B. Regolare il valore di ROTAZIONE in base alla luce ambiente #define VERTICALE 90 // tempo per robot in verticale #define ROTAZIONE_INIZIALE 30 // tempo di rotazione iniziale task main() { // ******************** Configurazione sensori ******************** SetSensorType(SENSOR_1, SENSOR_TYPE_LIGHT); // sensore luce SetSensorMode(SENSOR_1, SENSOR_MODE_PERCENT); SetSensorType(SENSOR_2, SENSOR_TYPE_TOUCH); // sensore contatto Dx SetSensorMode (SENSOR_2, SENSOR_MODE_BOOL); SetSensorType(SENSOR_3, SENSOR_TYPE_TOUCH); // sensore contatto Sx SetSensorMode (SENSOR_3, SENSOR_MODE_BOOL); // *********************** INIZIO PROGRAMMA *********************** PlaySound (SOUND_FAST_UP); // Suono AVVIO repeat (4) // Ripeti 4 volte il ciclo { OnFwd(OUT_A); // Inclina corpo a Dx ... until (SENSOR_2 == 1); // ... fino al sensore 2 Off(OUT_A); // Stop inclinazione a Dx OnRev(OUT_C); // Robot avanti per ... Wait(ROTAZIONE_INIZIALE); // ... ??? secondi e ... until (SENSOR_1 == ROTAZIONE); // ... fino alla rotazione OK Off(OUT_C); // Stop robot avanti OnRev(OUT_A); // Inclina corpo a Sx ... until(SENSOR_3 == 1); // ... fino al sensore 3 Off(OUT_A); // Stop inclinazione a Sx OnRev(OUT_C); // Robot avanti per ... Wait(ROTAZIONE_INIZIALE); // ... ??? secondi e ... until (SENSOR_1 == ROTAZIONE); // ... fino alla rotazione OK Off(OUT_C); // Stop robot avanti } // fine 4 cicli OnFwd(OUT_A); // Inclina il robot fino ... Wait(VERTICALE); // ... alla posizione verticale Off(OUT_A); // Stop inclinazione PlaySound (SOUND_DOWN); // Suono FINE } // ***************************** FINE PROGRAMMA *****************************