![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
hy
Classes/tColorSensor.h@0:daa4f58b511e, 2016-03-24 (annotated)
- Committer:
- CarlaY
- Date:
- Thu Mar 24 16:03:15 2016 +0000
- Revision:
- 0:daa4f58b511e
ko;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CarlaY | 0:daa4f58b511e | 1 | /****************************************************************************/ |
CarlaY | 0:daa4f58b511e | 2 | // Hardware: Grove - I2C Color Sensor |
CarlaY | 0:daa4f58b511e | 3 | // Arduino IDE: Arduino-1.6 |
CarlaY | 0:daa4f58b511e | 4 | // |
CarlaY | 0:daa4f58b511e | 5 | // Author: Isaac Drafton |
CarlaY | 0:daa4f58b511e | 6 | // Version: 0.9 |
CarlaY | 0:daa4f58b511e | 7 | // Refactored version of the library by FrankieChu - www.seeedstudio.com |
CarlaY | 0:daa4f58b511e | 8 | // |
CarlaY | 0:daa4f58b511e | 9 | /******************************************************************************/ |
CarlaY | 0:daa4f58b511e | 10 | |
CarlaY | 0:daa4f58b511e | 11 | #ifndef GROVECOLORSENSOR |
CarlaY | 0:daa4f58b511e | 12 | #define GROVECOLORSENSOR |
CarlaY | 0:daa4f58b511e | 13 | |
CarlaY | 0:daa4f58b511e | 14 | //#if defined(ARDUINO) && ARDUINO >= 100 |
CarlaY | 0:daa4f58b511e | 15 | //#include "Arduino.h" |
CarlaY | 0:daa4f58b511e | 16 | //#else |
CarlaY | 0:daa4f58b511e | 17 | //#include "WProgram.h" |
CarlaY | 0:daa4f58b511e | 18 | //#endif |
CarlaY | 0:daa4f58b511e | 19 | //#include <Registers.h> |
CarlaY | 0:daa4f58b511e | 20 | |
CarlaY | 0:daa4f58b511e | 21 | class GroveColorSensor |
CarlaY | 0:daa4f58b511e | 22 | { |
CarlaY | 0:daa4f58b511e | 23 | public: |
CarlaY | 0:daa4f58b511e | 24 | |
CarlaY | 0:daa4f58b511e | 25 | // Color Sensor LED Status |
CarlaY | 0:daa4f58b511e | 26 | int ledStatus; |
CarlaY | 0:daa4f58b511e | 27 | // Default constructor |
CarlaY | 0:daa4f58b511e | 28 | tColorSensor(); |
CarlaY | 0:daa4f58b511e | 29 | // Constructor with parameters |
CarlaY | 0:daa4f58b511e | 30 | tColorSensor( |
CarlaY | 0:daa4f58b511e | 31 | const int& triggerMode |
CarlaY | 0:daa4f58b511e | 32 | , const int& interruptSource |
CarlaY | 0:daa4f58b511e | 33 | , const int& interruptMode |
CarlaY | 0:daa4f58b511e | 34 | , const int& gainAndPrescaler |
CarlaY | 0:daa4f58b511e | 35 | , const int& sensorAddress); |
CarlaY | 0:daa4f58b511e | 36 | |
CarlaY | 0:daa4f58b511e | 37 | void readRGB(); |
CarlaY | 0:daa4f58b511e | 38 | void readRGB(int *red, int *green, int *blue); |
CarlaY | 0:daa4f58b511e | 39 | void calculateCoordinate(); |
CarlaY | 0:daa4f58b511e | 40 | void clearInterrupt(); |
CarlaY | 0:daa4f58b511e | 41 | |
CarlaY | 0:daa4f58b511e | 42 | private: |
CarlaY | 0:daa4f58b511e | 43 | |
CarlaY | 0:daa4f58b511e | 44 | // Set trigger mode. Including free mode, manually mode, single synchronization mode or so. |
CarlaY | 0:daa4f58b511e | 45 | void setTimingReg(); |
CarlaY | 0:daa4f58b511e | 46 | // Set interrupt source |
CarlaY | 0:daa4f58b511e | 47 | void setInterruptSourceReg(); |
CarlaY | 0:daa4f58b511e | 48 | // Set interrupt mode |
CarlaY | 0:daa4f58b511e | 49 | void setInterruptControlReg(); |
CarlaY | 0:daa4f58b511e | 50 | // Set gain value and pre-scaler value |
CarlaY | 0:daa4f58b511e | 51 | void setGain(); |
CarlaY | 0:daa4f58b511e | 52 | // Start ADC of the colour sensor |
CarlaY | 0:daa4f58b511e | 53 | void setEnableADC(); |
CarlaY | 0:daa4f58b511e | 54 | |
CarlaY | 0:daa4f58b511e | 55 | // Used for storing the colour data |
CarlaY | 0:daa4f58b511e | 56 | int readingdata_[8]; |
CarlaY | 0:daa4f58b511e | 57 | int green_; |
CarlaY | 0:daa4f58b511e | 58 | int red_; |
CarlaY | 0:daa4f58b511e | 59 | int blue_; |
CarlaY | 0:daa4f58b511e | 60 | int clear_; |
CarlaY | 0:daa4f58b511e | 61 | |
CarlaY | 0:daa4f58b511e | 62 | int triggerMode_; |
CarlaY | 0:daa4f58b511e | 63 | int interruptSource_; |
CarlaY | 0:daa4f58b511e | 64 | int interruptMode_; |
CarlaY | 0:daa4f58b511e | 65 | int gainAndPrescaler_; |
CarlaY | 0:daa4f58b511e | 66 | int sensorAddress_; |
CarlaY | 0:daa4f58b511e | 67 | |
CarlaY | 0:daa4f58b511e | 68 | }; |
CarlaY | 0:daa4f58b511e | 69 | |
CarlaY | 0:daa4f58b511e | 70 | #endif |