a beter verjin

Dependencies:   m3pi mbed ADJD-S371_ColourSens

Fork of TestColorSensor by Kyle Chiang

main.cpp

Committer:
TaintedTruth
Date:
2013-11-21
Revision:
3:b3c41c85fb1e
Parent:
2:5c0159599726
Child:
4:f38d0db83e1c

File content as of revision 3:b3c41c85fb1e:

#include "mbed.h"
#include "m3pi.h"

DigitalOut sensorLED(p8);
I2C colorSensor(p28, p27); //SDA, SCL
Serial bt(p13, p14); // tx, rx

const int addr = 0x74;
const int addr1 = 0x75;
m3pi m3pi;

int read(char lowByteRegister) {
        char cmd[1];
        char echo[2];

        cmd[0] = lowByteRegister;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,echo,2);
        int result_low = (int) echo[0];
        
        /*
        cmd[0] = lowByteRegister + 1;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,echo,1);
        int result_high = (int) echo[0];
        bt.printf("hi:%0x ",result_high);
        
        return (result_high << 8) | result_low;
        */
        
        return result_low;
}

int main() {

    bt.baud(115200);

    char cmd[2];
    sensorLED = 1;
    m3pi.locate(0,1);
    m3pi.printf("Start");
    wait(1);
    
    while(1) {
        cmd[0] = 0x00;
        cmd[1] = 0x01;
        colorSensor.write(addr,cmd,2);
        
        cmd[0] = 0x06;
        cmd[1] = 0x04;
        colorSensor.write(addr,cmd,2);
        
        int red = read(0x06);
        // int green = read(0x42);
        // int blue = read(0x44);

        // Print for debugging
        
        bt.printf("R:%0x ",red);
        //bt.printf("G:%0x ",green);
        //bt.printf("B:%0x     ",blue);
        wait(1);
 
 /*       
        cmd[0] = 0x06;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        red = cmd[0];
        
        cmd[0] = 0x07;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        green = cmd[0];
        
        cmd[0] = 0x08;
        colorSensor.write(addr,cmd,1);
        colorSensor.read(addr,cmd,1);
        blue = cmd[0];
        
        bt.printf("Rc:%d ",red);
        bt.printf("Gc:%d ",green);
        bt.printf("Bc:%d      ",blue);
*/        
  
 /*       
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("R:%d",red);
        wait(1.5);
        
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("G:%d",green);
        wait(1.5);
        
        m3pi.cls();
        m3pi.locate(0,1);
        m3pi.printf("B:%d",blue);    
        wait(1.5);    
*/
    }
}