Rev 1 | Blame | Last modification | View Log | Download
/** Ping* ====* Adapted from a program by Dave Chen and Simen Svale Skogsrud** This program assumes that the light sensor is on IN_2 and* that it points in the same direction as the infrared connection* on the robot. It beeps when the robot gets close to an obstacle.* This is done by repeatedly sending IR messages. These cause a* large fluctuation in light intensity.** This is a nice mechanism to find a close by wall without bumping* in to it.*/#define THRESHOLD 100 // Making this larger decreases the distanceint lastlevel;task Ping()// Constantly test whether there is a high fluctuation{SetSensor(SENSOR_2,_SENSOR_CFG(SENSOR_TYPE_LIGHT, SENSOR_MODE_RAW));lastlevel = 0;while(true){SendMessage(0);if(lastlevel > SENSOR_2){// Close to somethingPlaySound(1);Wait(30);}lastlevel = SENSOR_2;lastlevel -= THRESHOLD;}}task main(){start Ping;}