V minulých hodinách jsme si ukázali práci s jednobarevnými LED diodami. Že byli jednobarevné píšu z toho důvodu, že na našem Arduinu s EduShieldem se nachází také vícebarevná LED dioda. Tato dioda je připojena ke třem pinům, kde na každém definujeme jednu barvu z RGB (+ jeden pin k uzemnění. Celkem tedy 4, ale s tím čtvrtým neinteragujeme).
Začněme jednoduchým kódem, kdy na naší RGB diodě rozsvítíme jen červenou:
#define rgb_red 9
#define rgb_green 5
#define rgb_blue 6
void setup() {
// put your setup code here, to run once:
// Nastavení odporů na diodě
pinMode(rgb_red,OUTPUT);
pinMode(rgb_green,OUTPUT);
pinMode(rgb_blue,OUTPUT);
// Nastavení barvy
digitalWrite(rgb_red, LOW);
digitalWrite(rgb_green, HIGH);
digitalWrite(rgb_blue, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
}
Pokud chceme rozsvítit zelenou, můžeme nastavit rgb_green na LOW a všechny ostatní barvy (rgb_red a rgb_blue) nastavit na HIGH.
#define rgb_red 9
#define rgb_green 5
#define rgb_blue 6
void setup() {
// put your setup code here, to run once:
// Nastavení odporů na diodě
pinMode(rgb_red,OUTPUT);
pinMode(rgb_green,OUTPUT);
pinMode(rgb_blue,OUTPUT);
// Nastavení barvy
digitalWrite(rgb_red, HIGH);
digitalWrite(rgb_green, LOW);
digitalWrite(rgb_blue, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
}
Vytvořte program, který bude po nějakém časovém intervale (například vteřina) střídat všechny barvy.
Nápověda: Pro kód ohledně nastavování barev budete chtít použít void loop().
Nápověda 2: Pokud chcete běh kódu na chvíli pozastavit, využijte delay(), například delay(500); pozastaví kód na 500 ms = polovina sekundy.
Nezapomeňte odevzdat váš kód do Google Classroom: https://classroom.google.com/c/NzE5NDk1NjM2NDAw/a/NzQ4MjY5NDg0MTM1/details
V jedné z minulých hodin jsme si vytvořili semafor. Upravte ten semafor tak, aby fungoval s touto RGB LED diodou.