/* CVO De Verdieping - Arduino
*
* Sketch: RGB_dimmer met potentiemeter
* Oefening 10.1
*
* Houtmeyers Patrick
* 7/12/2023
*/
// CONSTANTEN
const int PIN_LED_R = 11;
const int PIN_LED_G = 10;
const int PIN_LED_B = 9;
const int PIN_POT = A0;
// VARIABELEN
int ledWaardeR = 0;
int ledWaardeG = 0;
int ledWaardeB = 0;
int potWaarde = 0; // een analoge waarde, dus niet HIGH of LOW gebruiken, dat is voor digitale pinnen
int meetwaarde = 0;
int PWMwaarde = 0;
int R = 0;
int G = 0;
int B = 0;
// VOORBEREIDING
void setup() {
Serial.begin (9600);
}
void loop() {
meetwaarde = analogRead(PIN_POT); // lees de meetwaarde:
PWMwaarde = map(meetwaarde, 0, 1023, 0, 255); // Zet de meetwaarde om naar iets tussen de 0 en 255
Conversion(PWMwaarde);
analogWrite(PIN_LED_R, R);
analogWrite(PIN_LED_G, G);
analogWrite(PIN_LED_B, B);
delay(100);
}
int Conversion(int ColorValue) {
if (ColorValue < 85) {
R = 255 - ColorValue * 3;
G = 0;
B = ColorValue * 3;
}
else if (ColorValue < 170) {
ColorValue = ColorValue - 85;
R = 0;
G = ColorValue * 3;
B = 255 - ColorValue * 3;
}
else {
ColorValue = ColorValue - 170;
R = ColorValue * 3;
G = 255 - ColorValue * 3;
B = 0;
}
}