The circuit diagrams (one made on digital environment, the other one is the implemented) can be seen below:
![Digital Drawed Circuit](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4SCsIgFRhyphenhyphenOIwuVn36gpbRBlj2WeZkAz5Gi8Zgycrl01ldzsn7C-DNu6n5t4olzhJ90SHKaRe_bhUEoQF1guzNfL663wx_uEEOoUXYC7vCs6E6X3VRg_vLfivsmcZ4fSNQvzr9zCplcI/s1600/RGB.png) |
Digital Drawed Circuit
|
![Implemented Circuit](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioANYRA2yAdKMF6aShAQ0aLTEVCHm3QJ2aIVxrYDsiBLjhRlGIjn0D-jj4Jhyu_wFUVB3syrgHiABQ01UcgKqzRIZ4ulHRdcABkFrl66qlXiRuo2eLM8OrVdAatAqwst_p6AjK97GgCjg/s1600/IMG_3311.JPG) |
Implemented Circuit
|
Here is a video available to see the outputs and how the system works:
Arduino Code :
/*
Can KAVALOĞLU
*/
int LEDRed = 9;
int LEDGreen = 10;
int LEDBlue = 11;
int sensePin = 0;
int val;
void setup(){
pinMode(LEDRed, OUTPUT);
pinMode(LEDGreen, OUTPUT);
pinMode(LEDBlue, OUTPUT);
pinMode(sensePin, INPUT);
Serial.begin(9600);
}
void loop(){
val = analogRead(sensePin);
Serial.println(val);
if(val < 10){
analogWrite(LEDRed, 0);
analogWrite(LEDBlue,0);
analogWrite(LEDGreen,0);
}
else if (val<100) {
analogWrite(LEDRed,0);
analogWrite(LEDBlue,128);
analogWrite(LEDGreen,128);
} else if (val<200) {
analogWrite(LEDRed,map(val,100,200,0,128));
analogWrite(LEDBlue,map(val,100,200,128,0));
analogWrite(LEDGreen,128);
} else if (val<300) {
analogWrite(LEDRed,128);
analogWrite(LEDBlue,0);
analogWrite(LEDGreen,128);
} else if (val<400) {
analogWrite(LEDRed,128);
analogWrite(LEDBlue,map(val,200,400,0,128));
analogWrite(LEDGreen,map(val,200,400,128,0));
} else if (val<500) {
analogWrite(LEDRed,128);
analogWrite(LEDBlue,128);
analogWrite(LEDGreen,0);
} else if (val<800) {
analogWrite(LEDRed,map(val,400,800,128,0));
analogWrite(LEDBlue,128);
analogWrite(LEDGreen,map(val,800,400,0,128));
}
}