RGB LED SPOLEČNÁ ANODA

Odpovědět
Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

RGB LED SPOLEČNÁ ANODA

Příspěvek od Patrik » 26 úno 2021, 20:56

Ahoj,

chtěl bych se zeptat. Sestrojil jsem si jednoduchý obvod s RGB LED diodou se společnou anodou. Kód viz níže. Jenomže by mi měla svítit jen červená dioda a svítí mi i zelená a já nevím už proč... Je aktivní jak pin 2, tak 3... Děkuji.

Kód: Vybrat vše

int red_light_pin= 4;
int green_light_pin = 3;
int blue_light_pin = 2;
void setup() {
  pinMode(red_light_pin, OUTPUT);
  pinMode(green_light_pin, OUTPUT);
  pinMode(blue_light_pin, OUTPUT);
}
void loop() {
  RGB_color(255, 0, 0); // Red
  delay(1000);
  
}
void RGB_color(int red_light_value, int green_light_value, int blue_light_value)
 {
  analogWrite(red_light_pin, red_light_value);
  analogWrite(green_light_pin, green_light_value);
  analogWrite(blue_light_pin, blue_light_value);
}

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: RGB LED SPOLEČNÁ ANODA

Příspěvek od ondraN » 26 úno 2021, 21:16

Podívej se, na jakých pinech můžeš použít analogWrite(). Záleží to podle použitého arduina. Řekl bych, že používáš nějaký pin, na který to nefunguje.
https://www.arduino.cc/reference/en/lan ... alogwrite/

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: RGB LED SPOLEČNÁ ANODA

Příspěvek od AstroMiK » 26 úno 2021, 21:25

Já bych řekl, že pro společnou anodu musíš upravit ty zadávané parametry odečtením od 255:

Kód: Vybrat vše

void RGB_color(int red_light_value, int green_light_value, int blue_light_value)
 {
  analogWrite(red_light_pin,   255 - red_light_value);
  analogWrite(green_light_pin, 255 - green_light_value);
  analogWrite(blue_light_pin,  255 - blue_light_value);
}

A jak psal Ondra, tak použít ty piny, které umožňují PWM (třeba D3, D5 a D6 pro většinu Arduin)

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

Re: RGB LED SPOLEČNÁ ANODA

Příspěvek od Patrik » 26 úno 2021, 21:49

AstroMiK píše:
26 úno 2021, 21:25
Já bych řekl, že pro společnou anodu musíš upravit ty zadávané parametry odečtením od 255:

Kód: Vybrat vše

void RGB_color(int red_light_value, int green_light_value, int blue_light_value)
 {
  analogWrite(red_light_pin,   255 - red_light_value);
  analogWrite(green_light_pin, 255 - green_light_value);
  analogWrite(blue_light_pin,  255 - blue_light_value);
}

A jak psal Ondra, tak použít ty piny, které umožňují PWM (třeba D3, D5 a D6 pro většinu Arduin)
Děkuji tato úprava pomohla. Používám Arduino Mega 2560 a ty piny to umožnují.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: RGB LED SPOLEČNÁ ANODA

Příspěvek od ondraN » 27 úno 2021, 06:09

A tady vidíš, jak je důležité dát při řešení problému všechny informace, třeba i takovou blbost, jeké arduino používáš :mrgreen:

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

Re: RGB LED SPOLEČNÁ ANODA

Příspěvek od Patrik » 27 úno 2021, 07:04

Jo Ondro, polepším se 😁 děkuji za ochotu a rychle odpovědi.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 18 hostů