Uses .h file, so the code is much simpler since things are already defined
#include <ADJDS311.h>
#include <Wire.h>
int sensorLed_pin = 2; //LED on the ADJDS-311
ADJDS311 colorSensor(sensorLed_pin);
//if using an RGB LED (Needs PWM Pins)
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
void setup(){
Serial.begin(9600);
colorSensor.init(); // initiates LED
colorSensor.ledOn(); //turn LED of the color sensor on
//Calibrate white
//Need to hold white card in front (1-3mm) of it to calibrate from
colorSensor.calibrate();
}
void loop(){
RGBC color = colorSensor.read(); //read the color
Serial.print(color.red);
Serial.print(" | ");
Serial.print(color.green);
Serial.print(" | ");
Serial.print(color.blue);
Serial.print(" | ");
Serial.println(color.clear);
lightLED(color); //send color to the LED
delay(200); //just here to slow down the serial output
}
void lightLED(RGBC color){
//RGBC is an array of red/green/blue/clear readings
//Take a RGBC, and try to reproduce it on an RGB LED
//This does not work very well as is because of how colors/our eyes work
analogWrite(redPin, map(color.red, 0, 1024, 0, 255));
analogWrite(greenPin, map(color.green, 0, 1024, 0, 255));
analogWrite(bluePin, map(color.blue, 0, 1024, 0, 255));