E’ giunto il momento di programmare l’easter egg attiny85 neopixel sketch con il primo gioco di luce:
che ti permetterà di ottenere un primo effetto infinity mirror:
semplicemente collegando una alimentaziuone esterna come nella foto.
Important!
I neopixel funzionano a 5v e l’attiny85 tollera fino a 5,5v per cui ti consiglio di alimentare il tuo easter egg attiny85 neopixel sketch con una fonte di alimentazione da 5v 1A almeno per ottenere un effetto più realistico.
Il circuito lo hai realizzato seguendo le istruzioni descritte nel precedente articolo “Easter egg infinity mirror attiny85 neopixel” e per programmarlo puoi collegare il tuo attiny85 mediante 6 pin ad un arduino usato come programmatore ISP:
ricordandoti del condenzatore da 10uF nella fase di programmazione come desritto in questi articoli:
L’easter egg attiny85 neopixel sketch
Lo sketch puoi realizzarlo partendo da uno degli esempi rilasciati con l’Adafruit NeoPixel library:
#include <Adafruit_NeoPixel.h> #define PIN 0 #define NUMPIXELS 59 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); void setup() { #if defined (__AVR_ATtiny85__) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif pixels.begin(); for(int i=0;i<NUMPIXELS;i++){ pixels.setPixelColor(i, pixels.Color(35,100,255)); pixels.setBrightness(100); pixels.show(); delay(50); } } void loop() { }
inizia dalla linea 01: includi la libreria Adafruit Neopixel che trovi nel Library Manager dell’IDE arduino;
linea 03: definisci il pin usato per comunicare con i neopixel, con l’attiny85 puoi usare il pin 0;
linea 04: definisci il numero di led presenti sulla strip led neopixel, nel mio esempio ne ho utilizzati solo 59 dei 60 presenti, tagliando l’ultimo led per poter sistemare correttamente la strip nel progetto;
linea 06: imposta l’istanza della classe Adafruit_NeoPixel che userai per inviare i comandi ai led, l’istanza la chiami “pixel“;
linee 09-11: controlla che il micro utilizzato sia l’Attiny85, proprio quello che utilizzi in questo progetto, e imposta il prescaler in modo che la cpu del micro possa funzionare a 16MHz ( 16000000 Hz ) se impostato in questo modo nell’IDE;
linea 13: inizializza l’istanza pixel in modo da poter inviare i comandi alla strip led;
linea 15: crea un ciclo da 0 al numero massimo dei led definito alla linea 04;
linea 16: imposta il colore di ciascun led al valore R=35, G=100, B=255, quello che vedi nella foto dell’easter egg attiny85 neopixel sketch in funzione;
linea 17: imposta la luminosità dei led a 100, il valore va da 0 (spenti) a 255 ( luminosità massima );
linea 18: visualizza le impostazioni delle linee precedenti sul led corrente;
linea 19: attendi 50 millisecondi tra l’accensione di un led ed il successivo;
linea 23: il ciclo loop() deve esistere, come sai, ma in questo sketch è vuoto.
Il risultato finale puoi vederlo nel video in alto ed è simile al seguente: