Accensione led dissolvenza

Ciao ragazzi è da qualche mese che lavoro con Arduino. Ho un problema relativo al software. Teoricamente io vorrei attraverso un telecomando collegato ad Arduino attraverso infrarossi far accendere il led farlo spegnere e infine accenderlo in dissolvenza e farlo restare acceso così che poi posso spegnerlo quando desidero. L'accensione e lo spegnimento del led non ho avuto nessun problema mentre quando ho aggiunto la terza funzione del telecomando quindi accendere il led in dissolvenza ho trovato qualche problema. La mia domanda è come faccio accendere un led in dissolvenza e fare in modo che rimanga acceso?

Ciao,
essendo il tuo primo post, ti chiederei di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

Relativamente alla tua domanda, lo devi pilotare in PWM con la analogWrite() ... 0 == spento, 255 == acceso al massimo, valori intermedi ... luminosità intermedie :wink:

Guglielmo

Questo è ciò che ho realizzato solo con arduino e led senza la connessione con il telecomando. Praticamente al led succede solo che si accende in dissolvenza epoi ricomincia il ciclo. Cosa dovrei scrivere perchè dopo la dissolvenza rimanga acceso??

define LED 9

void setup()
{pinMode(LED, OUTPUT);}

int Luminosita = 0;
int Dissolvenza = 5;
void loop()
{
analogWrite(LED, Luminosita);
Luminosita = Luminosita + Dissolvenza;
if (Luminosita == 0 || Luminosita == 255)
if(Luminosita == 0 == HIGH)
if(Luminosita == 255 == LOW)
{Dissolvenza = -Dissolvenza ;}
delay(40);

Guarda, io comincerei con lo studiare QUESTO e poi puoi scaricarti QUESTO libro (... tranquillo, è un sito legale, purché per esclusivo uso PERSONALE), perché, da come scrivi il codice, si capisce che ti mancano proprio le "basi" e quindi, queste letture, ti metteranno nelle condizioni di capire un po' meglio la sintassi del 'C'.

Detto questo ...
... le IF che hai scritto, anche se il compilatore non ti da errore, perché, alla fine, qualche cosa fanno, di sicuro NON fanno quello che vuoi tu. Prendi ad esempio questa ...

if(Luminosita == 0 == HIGH) ...

... ti rendi conto che li, prima viene fatto il confronto tra "0" ed "HIGH" (0 == HIGH) che è sempre "falso" e poi viene fatto il confronto tra Luminosità e "falso" (Luminosità == falso) ricavato dall'espressione precedente? Non credo fosse questo quello che volevi ... ::slight_smile:

Stessa cosa per la riga seguente ...

if(Luminosita == 255 == LOW) ...

... lasco a te svilupparla e capire che NON è quello che volevi.

Quindi ... dammi retta, datti una studiata ai testi che ti ho indicato e poi, quando ti riavvicinerai sicuramente più produttivo al tuo programma, continuiamo a vedere i problemi che incontrerai :wink:

Guglielmo

Grazie mille per la risposta. Ti chiede un altra informazione. Del libro beginning C for Arduino non esiste una versione in italiano?

Non credo ... prova a cercare su Amazon con le parole chiavi "Arduino C" e vedi cosa viene fuori, ma ... in Italiano c'è sempre molto poco e spesso di bassa qualità ... :confused:

Guglielmo