/* BipedeRobot3_Balla.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 (N.B. sensore di luce non utilizzato, si puņ non collegare) 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 VERTICALE 90 // Tempo per robot in verticale #define BALLA 200 // Tempo max rotazione robot (casuale) 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 *********************** start canta; // Avvio task canzone 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(Random (BALLA)); // ... ??? secondi (random) 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(Random (BALLA)); // ... ??? secondi (random) 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 StopAllTasks (); // Fine di tutti i task } // **************************** FINE PROGRAMMA *************************** // ******************* INIZIO TASK CANZONE (I Flintstones) **************** task canta() { Wait(96); PlayTone(196, 11); Wait(11); PlayTone(220, 11); Wait(11); PlayTone(247, 11); Wait(11); PlayTone(262, 11); Wait(11); PlayTone(294, 11); Wait(11); PlayTone(330, 11); Wait(11); PlayTone(349, 11); Wait(11); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 43); Wait(43); PlayTone(330, 96); Wait(96); PlayTone(196, 11); Wait(11); PlayTone(220, 11); Wait(11); PlayTone(247, 11); Wait(11); PlayTone(262, 11); Wait(11); PlayTone(294, 11); Wait(11); PlayTone(330, 11); Wait(11); PlayTone(349, 11); Wait(11); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 42); Wait(42); PlayTone(262, 118); Wait(118); Wait(54); PlayTone(494, 43); Wait(43); PlayTone(330, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(494, 21); Wait(21); PlayTone(494, 11); Wait(11); Wait(10); PlayTone(440, 21); Wait(21); Wait(1); PlayTone(440, 21); Wait(21); Wait(1); PlayTone(494, 21); Wait(21); Wait(1); PlayTone(440, 64); Wait(64); Wait(21); PlayTone(440, 42); Wait(42); Wait(1); PlayTone(294, 21); Wait(21); Wait(43); PlayTone(494, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(440, 11); Wait(11); Wait(11); PlayTone(392, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(440, 21); Wait(21); PlayTone(392, 11); Wait(11); PlayTone(196, 11); Wait(11); PlayTone(220, 11); Wait(11); PlayTone(247, 11); Wait(11); PlayTone(262, 11); Wait(11); PlayTone(294, 11); Wait(11); PlayTone(330, 11); Wait(11); PlayTone(349, 11); Wait(11); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 42); Wait(42); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 42); Wait(42); Wait(1); PlayTone(262, 85); Wait(85); Wait(2829); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 43); Wait(43); PlayTone(330, 96); Wait(96); PlayTone(196, 11); Wait(11); PlayTone(220, 11); Wait(11); PlayTone(247, 11); Wait(11); PlayTone(262, 11); Wait(11); PlayTone(294, 11); Wait(11); PlayTone(330, 11); Wait(11); PlayTone(349, 11); Wait(11); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 42); Wait(42); PlayTone(262, 118); Wait(118); Wait(54); PlayTone(494, 43); Wait(43); PlayTone(330, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(494, 21); Wait(21); PlayTone(494, 11); Wait(11); Wait(10); PlayTone(440, 21); Wait(21); Wait(1); PlayTone(440, 21); Wait(21); Wait(1); PlayTone(494, 21); Wait(21); Wait(1); PlayTone(440, 64); Wait(64); Wait(21); PlayTone(440, 42); Wait(42); Wait(1); PlayTone(294, 21); Wait(21); Wait(43); PlayTone(494, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(440, 11); Wait(11); Wait(11); PlayTone(392, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(440, 21); Wait(21); PlayTone(392, 11); Wait(11); PlayTone(196, 11); Wait(11); PlayTone(220, 11); Wait(11); PlayTone(247, 11); Wait(11); PlayTone(262, 11); Wait(11); PlayTone(294, 11); Wait(11); PlayTone(330, 11); Wait(11); PlayTone(349, 11); Wait(11); PlayTone(392, 43); Wait(43); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(523, 43); Wait(43); PlayTone(440, 21); Wait(21); PlayTone(392, 42); Wait(42); PlayTone(262, 21); Wait(21); Wait(43); PlayTone(392, 43); Wait(43); PlayTone(349, 21); Wait(21); PlayTone(330, 11); Wait(11); Wait(11); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 43); Wait(43); PlayTone(294, 42); Wait(42); Wait(23); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(262, 42); Wait(42); Wait(1); PlayTone(294, 42); Wait(42); Wait(22); PlayTone(330, 21); Wait(21); PlayTone(349, 21); Wait(21); PlayTone(392, 21); Wait(21); PlayTone(523, 42); Wait(42); PlayTone(587, 42); Wait(42); PlayTone(523, 86); Wait(86); Wait(21); PlayTone(523, 11); Wait(11); Wait(11); PlayTone(523, 11); Wait(11); } // *************************** FINE TASK CANZONE *************************