Vanemate ringitund 08.02.17

ARDUINO

Tegime Arduinoga RGB lambi prototüübi. Ledil on neli jalga, kolm on värvide ja neljas maanduse jaoks.
R – punane
G – roheline
B – sinine

Nendest kolmest põhivärvist saab kõiki värve valmis segada. Ka RGB lediga on see võimalik. Lambi peal on tuvastatud 16,7 miljonit erinevat värvi.

Prototüüp näeb järgmine välja.

Programm C-keeles. Värvide vahemikku on võimalik valida 0-255. Kui näiteks punane on 255 ja teised värvid on nullid, siis põlebki ainult punane tuli.

const int greenLEDPin = 9; // LED connected to digital pin 9
const int redLEDPin = 10; // LED connected to digital pin 10
const int blueLEDPin = 11; // LED connected to digital pin 11
int redValue = 0; // punane LED
int greenValue = 0; // roheline LED
int blueValue = 0; // sinine LED
void setup() {
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
analogWrite(redLEDPin, redValue);
analogWrite(greenLEDPin, greenValue);
analogWrite(blueLEDPin, blueValue);
}

Siin on näha erinevad võimalikud värvid koos koodidega.

C-keele programm, kus lambi värv hakkab muutuma etteantud tsükli värvide vahemikus. Selles koodis siis sinisest punaseni.

const int greenLEDPin = 9; // LED connected to digital pin 9
const int redLEDPin = 10; // LED connected to digital pin 10
const int blueLEDPin = 11; // LED connected to digital pin 11
int redValue = 0; // punane LED
int greenValue = 0; // roheline LED
int blueValue = 0; // sinine LED
void setup() {
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
for(int i = 0; i<255; i++) {
analogWrite(redLEDPin, i);
analogWrite(greenLEDPin, 0);
analogWrite(blueLEDPin, 255-i);
delay(10);
}
}