allora sto cercando di creare l'arcobaleno ma non riesco a capire dove sbaglio, il codice me lo da giusto ma il led non si accende
grazie
Pietro
int redpin = 11; //abbiniamo i pin ai colori
int greenpin = 9; //da verificare con le specifiche
int blupin = 10; //del led RGB
int vel=50; //la velocità di transazione
int passo=1; //il passo del ciclo di incremento
void setup() {
pinMode(redpin, OUTPUT);
pinMode(greenpin, OUTPUT);
pinMode(blupin, OUTPUT);
}
void loop() {
for (int L=0;L<256;L+passo) { // iniziamo con il led rosso
analogWrite(redpin,L);
delay(vel);
}
for (int L=0;L<256;L+passo) { // da rosso a verde
analogWrite(redpin,255-L);
analogWrite(greenpin,L);
delay(vel);
}
for (int L=0;L<256;L+passo) { // da verde a blu
analogWrite(greenpin,255-L);
analogWrite(blupin,L);
delay(vel);
}
for (int L=0;L<256;L+passo) { // da rosso a verde
analogWrite(blupin,255-L);
analogWrite(redpin,L);
delay(vel);
}
}
void loop() {
for (int L=0;L<256;L+passo) { // iniziamo con il led rosso
analogWrite(redpin,L);
delay(vel);
nel ciclo for inizializzi la variabile int L =0; poi dici che deve essere minore di 256 (quindi 255) ; poi devi scrivere L=L+passo che si può scrivere anche L+=passo.
prova e dimmi
Funziona con L++ perchè L++ è la forma contratta di L=L+1 quindi l'unico errore che facevi era "L+passo" che dovevi cambiare con "L=L+passo" oppure "L+=passo" che si equivalgono
strano che nn mi dava errore cmq ora ho capito grazie per l'aiuto
codice corretto per chi vuole cimentarsi:
int redpin = 11; //abbiniamo i pin ai colori
int greenpin = 9; //da verificare con le specifiche
int blupin = 10; //del led RGB
int vel=50; //la velocità di transazione
int passo=1; //il passo del ciclo di incremento
void setup() {
pinMode(redpin, OUTPUT);
pinMode(greenpin, OUTPUT);
pinMode(blupin, OUTPUT);
}
void loop() {
for (int L=0;L<256;L+=passo) { // iniziamo con il led rosso
analogWrite(redpin,L);
delay(vel);
}
for (int L=0;L<256;L+=passo) { // da rosso a verde
analogWrite(redpin,255-L);
analogWrite(greenpin,L);
delay(vel);
}
for (int L=0;L<256;L+=passo) { // da verde a blu
analogWrite(greenpin,255-L);
analogWrite(blupin,L);
delay(vel);
}
for (int L=0;L<256;L+=passo) { // da rosso a verde
analogWrite(blupin,255-L);
analogWrite(redpin,L);
delay(vel);
}
}
toti94:
perchè in effetti non c'è niente di errato, le due variabili le conosce e conosce anche la somma di errato c'era solo la sintassi... cmq bel lavoro
Grazie ma ammetto che non è tutta farina del mio sacco sono un complesso di codici presi sia qui nel forum che nel libro dei primi passi, quindi un buon lavoro lo abbiamo fatto insieme
tutto questo mi servirà per creare una lampada per la mia ragazza che gli è piaciuto questo componente, ma mi sa che me la faccio pure io sta lampada.
Non parlare di farina che sono panettiere e mi ricordi in qualche modo che è quasi ora di andare a lavorare =(
Tornando a noi è bella l'idea di una lampada o di una specie di retro cornice di un quadro che illumina la parete