

Arduino úprava codu pro vypnutí led
Zdravím,
Nemůžu přijít na to, jak vypnout všechny 3 RGB ledky.
Program střídá barvy a na konci by se měli vypnout všechny led na určitý čas (delay).
Problém je, že podle for můžu vypnout jen modrou, ale červená a zelený ne a ne se vypnout
program:
redpin=3;
greenpin=5; //zelená G
int bluepin=6; //modrá Bint var=0;
// 255 je off, 0 je 100%
void setup()
{
}void loop()
{
for(var=250;var<255;var++)
{
analogWrite(redpin,var); // ČERVENÁ
delay(2000);
analogWrite(redpin,215);
delay(2000);
analogWrite(greenpin,170);
delay(2000);
analogWrite(greenpin,130);
delay(2000);
analogWrite(bluepin,90);
delay(2000);
analogWrite(bluepin,45);
delay(2000);
analogWrite(bluepin,255);
Ten kód není kompletní.
Takže ?....upozornění, že kód není kompletní jsem dostal, ale co takhle radu, jak to mám udělat co se týče můj dotaz , nic ?...
Co očekáváš, že tu bude dělat, a co to skutečně dělá?
Problém je, že podle "for" můžu vypnout jen modrou, ale červená a zelená se nechce vypnout
když použiji
analogWrite(redpin,255); // vypne se červená
analogWrite(grennpin,255); //vypne se zelená 255 je off 0 je 100% svit
Problém je právě v tom for(var=250;var<255;var++) pro kterou platí analogWrite(bluepin,255); // modrá se vypne
ale ostatní barvy červená a zelená se nevypne, tak to potřebuji upravit tak , aby na konci kódu se vyply všechny led
Var ale nikdy 255 mít nebude, protože v tom cyklu bude maximálně 254.
Myslel jsem si to, mohl by si mi poradit jak to mám upravit. Třeba pomocí f-kce if nebo else...Co se týče programování v Arduinu jsem začátečník, proto ten code vypadá jak vypadá...Už si s tím hraji pěkných pár desítek hodin...
var<255 stačí přepsat na var<256
a co ze zelenou, ta se taky vypne, když to přepíšu ?..
Když to přepíšu vypne se modrá a červená, ale co zelená ?
ok, blbá otázka, vyzkouším a dám vědět
přepsal jsem to var na 256 a na konci programu jsem dal
A stejně všechny svítí, sice na nejmenší svítivost, ale svítí
ok. Zkusím to vyřešit pomocí jiného "slušnějšího" kodu...pokud narazím na problém dám vědět
už jsem našel probém...Vyřešeno, děkuji mnohokrát
A prozradíš kde, aby to mohlo pomoct i ostatním?
PWM funkcionalita nema nikdy full on alebo full off (jedno z nich podla toho jaku mas polaritu). Je to popisane v atmel datasheete.
Ked chces tu plnu hodnotu ktoru zrovna nevies dosiahnut tak je dobre uplne vypnunt tu pwm funkciu na danom pine.
P.S> je mozne ze to robi uz ta fcia analogWrite, pozri si to v jej zdrojakoch.