• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Leonardo; Dioda RGB zmieniająca kolory
#1
Chcę zrobić ,aby dioda led RGB zmieniała kolory i zacząłem od zrobienia funkcji obsługujących zmianę koloru. Gdy napiszę w funkcji loop jedną (np. red() ) to działa, ale po napisaniu np.
Kod:
red()
delay(10);
green();
 już nie działa nawet jedna z nich.

Tu cały kod programu:

Kod:
int r = 2,g = 3,b = 1,nr = 0,ng = 0,nb = 0;
// nr - natężenie red, ng - natężenie green, nb - natężenie blue

void setup() {
 pinMode(r,OUTPUT);
 pinMode(g,OUTPUT);
 pinMode(b,OUTPUT);
 pinMode(A0,INPUT);
 pinMode(A1,INPUT);
 pinMode(A2,INPUT);
}

void loop() {

red();
green();
blue();

}

void red()
{
for(int i = 1;i <= 255;i++);
{
  if(nr < 255) {nr++;}
  if(ng > 0) {ng--;}
  if(nb > 0) {nb--;}
  analogWrite(r,nr);
  analogWrite(g,ng);
  analogWrite(b,nb);
  delayMicroseconds(10);
 }
}

void green()
{
for(int i = 1;i <= 255;i++);
{
  if(ng < 255) {ng++;}
  if(nr > 0) {nr--;}
  if(nb > 0) {nb--;}
  analogWrite(r,nr);
  analogWrite(g,ng);
  analogWrite(b,nb);
  delayMicroseconds(10);
 }
}

void blue()
{
for(int i = 1;i <= 255;i++);
{
  if(nb < 255) {nb++;}
  if(ng > 0) {ng--;}
  if(nr > 0) {nr--;}
  analogWrite(r,nr);
  analogWrite(g,ng);
  analogWrite(b,nb);
  delayMicroseconds(10);
 }
}
 
Odpowiedź
  


Wiadomości w tym wątku
Arduino Leonardo; Dioda RGB zmieniająca kolory - przez Gargamel_JR - 02-09-2016, 20:48

Skocz do:


Przeglądający: 1 gości