arduino stuffs
Diffstat (limited to 'ardu_robot/IrSensors.ino')
-rw-r--r--ardu_robot/IrSensors.ino63
1 files changed, 0 insertions, 63 deletions
diff --git a/ardu_robot/IrSensors.ino b/ardu_robot/IrSensors.ino
deleted file mode 100644
index 5b3ee76..0000000
--- a/ardu_robot/IrSensors.ino
+++ /dev/null
@@ -1,63 +0,0 @@
-
-/****************************
- ir reflectance sensor code
-****************************/
-
-const byte NBR_SENSORS = 3; // this version only has left and right sensors
-const byte IR_SENSOR[NBR_SENSORS] = {0, 1, 2}; // analog pins for sensors
-
-int irSensorAmbient[NBR_SENSORS]; // sensor value with no reflection
-int irSensorReflect[NBR_SENSORS]; // value considered detecting an object
-int irSensorEdge[NBR_SENSORS]; // value considered detecting an edge
-boolean isDetected[NBR_SENSORS] = {false,false}; // set true if object detected
-
-const int irReflectThreshold = 10; // % level below ambient to trigger reflection
-const int irEdgeThreshold = 90; // % level above ambient to trigger edge
-
-void irSensorBegin()
-{
- for(int sensor = 0; sensor < NBR_SENSORS; sensor++)
- irSensorCalibrate(sensor);
-}
-
-// calibrate for ambient light
-void irSensorCalibrate(byte sensor)
-{
- int ambient = analogRead(IR_SENSOR[sensor]); // get ambient level
- irSensorAmbient[sensor] = ambient;
- // precalculate the levels for object and edge detection
- irSensorReflect[sensor] = (ambient * (long)(100-irReflectThreshold)) / 100;
- irSensorEdge[sensor] = (ambient * (long)(100+irEdgeThreshold)) / 100;
-}
-
-// returns true if an object reflection detected on the given sensor
-// the sensor parameter is the index into the sensor array
-boolean irSensorDetect(int sensor)
-{
- boolean result = false; // default value
- int value = analogRead(IR_SENSOR[sensor]); // get IR light level
- if( value <= irSensorReflect[sensor]) {
- result = true; // object detected (lower value means more reflection)
- if( isDetected[sensor] == false) { // only print on initial detection
- Serial.print(locationString[sensor]);
- Serial.println(" object detected");
- }
- }
- isDetected[sensor] = result;
- return result;
-}
-
-boolean irEdgeDetect(int sensor)
-{
- boolean result = false; // default value
- int value = analogRead(IR_SENSOR[sensor]); // get IR light level
- if( value >= irSensorEdge[sensor]) {
- result = true; // edge detected (higher value means less reflection)
- if( isDetected[sensor] == false) { // only print on initial detection
- Serial.print(locationString[sensor]);
- Serial.println(" edge detected");
- }
- }
- isDetected[sensor] = result;
- return result;
-}