Aiuto per scrivere progetto per RGB ws2812b

Premettendo che purtropo venendo da un liceo scientfico, le mie basi di programmazione ed elettronica equivalgono a 0 , mi sono imbattuto in un progetto di lampada da tavolo con ws2812b gestiti da arduino nano. il progetto è questo (Satisfying LED Mood Lamp - 3D Printing and Arduino DIY - YouTube).
Chiedo gentilmente se ci fosse qualcuno annoiato in questi giorni di quarantena che mi aiutasse nel realizzarlo. Di differente dal video ho acquistato un encoder ky040 . Vorrei quindi gestire il cambio di effetto luce con lo switch dell'encoder , e utilizzare le rotazioni per gestire invece la luminosita' dell'intera striscia led e utilizzare un secondo switch per accendere e spegnere la lampada.
Ho cercato un po' di altri progetti simili per cercare di metterli insieme ma purtroppo senza riuscirci.
Grazie

Benvenuto,
essendo il tuo primo post in sezione italiana, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

nid69ita

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Dovresti cominciare a procurarti un pezzetto di striscia per fare qualche prova, prima di impegnare un capitale. Ce ne sono di varie metrature in vendita. Comincerei con questa o anche con 1m di questa. Poi dovresti scaricare la libreria per comandare i WS2812B e provare alcuni esempi contenuti nella libreria stessa.

Procurati quello che serve, fai le prove e vediamo che si può fare.

Ciao,
P.

grazie per la risposta! come mai costano cosi poco qui su ebay quando su amazon ho visto 26 27 euro?

Perché sono solo 8 diodi o solo un metro.

Ciao,
P.

ho preso la striscia led ! ho trovato e provato questo codice x regolare la luminosita di un led. Posso sfruttarlo per il mio progetto e al posto del led usarlo per controllare e regolare direttamente la luminosita dei giochi di luci?

int brightness = 120;    // how bright the LED is, start at half brightness

int fadeAmount = 10;    // how many points to fade the LED by

unsigned long currentTime;

unsigned long loopTime;

const int pin_A = 12;  // pin 12

const int pin_B = 11;  // pin 11

unsigned char encoder_A;

unsigned char encoder_B;

unsigned char encoder_A_prev=0;



void setup()  {

 // declare pin 9 to be an output:

 pinMode(9, OUTPUT);

 pinMode(pin_A, INPUT);

 pinMode(pin_B, INPUT);

 currentTime = millis();

 loopTime = currentTime; 

} 



void loop()  {

 // get the current elapsed time

 currentTime = millis();

 if(currentTime >= (loopTime + 5)){

   // 5ms since last check of encoder = 200Hz 

   encoder_A = digitalRead(pin_A);    // Read encoder pins

   encoder_B = digitalRead(pin_B);  

   if((!encoder_A) && (encoder_A_prev)){

     // A has gone from high to low

     if(encoder_B) {

       // B is high so clockwise

       // increase the brightness, dont go over 255

       if(brightness + fadeAmount <= 255) brightness += fadeAmount;              

     }   

     else {

       // B is low so counter-clockwise     

       // decrease the brightness, dont go below 0

       if(brightness - fadeAmount >= 0) brightness -= fadeAmount;              

     }   



   }   

   encoder_A_prev = encoder_A;     // Store value of A for next time   

   

   // set the brightness of pin 9:

   analogWrite(9, brightness);  

  

   loopTime = currentTime;  // Updates loopTime

 }

}

>liuk90: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra(quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink:

liuk90 se questo topic non ti interessa più, basta dirlo. Magari prima di aprirne un altro.

Ciao,
P.

pgiagno:
liuk90 se questo topic non ti interessa più, basta dirlo. Magari prima di aprirne un altro.

... thread in cross-posting chiuso.

Guglielmo

pgiagno:
liuk90 se questo topic non ti interessa più, basta dirlo. Magari prima di aprirne un altro.

Ciao,
P.

Avevo pensato di eliminare questo post per aprirne un'altro per spiegarlo in maniera piu esaustiva chiedo scusa!. ho provveduto a modificare e aggiungere il codice al mio post .

SE sei ancora interessato al progetto metti qui il codice che vuoi che esaminiamo e dicci quello che vorresti che facesse.

Ciao,
P.