SharpIR.cpp

00001 
00002 #include <WProgram.h>
00003 
00004 /*
00005    Output pins from the GP2D02
00006    1) Ground (black)
00007    2) Input (Green) --> A1 (pClk)
00008    3) +5V (Red)
00009    4) Output (Yellow) --> A0 (pDat)
00010 
00011 */
00012 
00013 int pDat = 14; //A0
00014 int pClk = 15; //A1
00015 
00016 
00017 void setupSensor()
00018 {
00019   pinMode(pClk, OUTPUT);
00020   pinMode(pDat, INPUT);
00021   digitalWrite(pClk, LOW);
00022 }
00023 
00024 byte readSensor()
00025 {
00026   byte dataIn = 0;
00027   digitalWrite(pClk, LOW);
00028   while(digitalRead(pDat) != HIGH);
00029 
00030   digitalWrite(pClk, HIGH);
00031   for(int i=0; i<8; i++)
00032   {
00033     digitalWrite(pClk, LOW);
00034     dataIn = (dataIn << 1) | digitalRead(pDat);
00035     digitalWrite(pClk, HIGH);
00036 
00037   }
00038   delay(1);
00039   return dataIn;
00040 }
00041 
00042 void setup() {
00043   beginSerial(19200);
00044   setupSensor();
00045   Serial.println("Setup Done");
00046 }
00047 
00048 void loop() {
00049 
00050   int dist = readSensor();
00051   Serial.print("IR: ");
00052   Serial.println(dist);
00053 
00054 }
00055 
00056 int main()
00057 {
00058   init();
00059   setup();
00060 
00061   for(;;)
00062     loop();
00063 
00064   return 0;
00065 }
00066 
00067 
Generated on Sun May 8 08:05:56 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3