Cheerlights di Halloween: 4 passaggi (con immagini)
Cheerlights di Halloween: 4 passaggi (con immagini)
Anonymous

Nell'ultimo halloween ho deciso di creare un progetto per la stagione. Utilizzando un modello 3D di un fantasma che ho stampato su Prusa i3 e il progetto Cheerlights ho creato una decorazione di Halloween che cambia colore in modo casuale.

Il progetto Cheerlight è un progetto open source che sincronizza tutti i dispositivi luminosi che lo utilizzano. Tramite Twitter, utilizzando l'hashtag #cheerlight, abbiamo scelto un colore dalla tavolozza dei colori del progetto Cheerlights. Tutti i dispositivi collegati al progetto Cheerlights leggono il colore attraverso l'API e cambiano il loro colore in base a quello. Tramite un tweet è possibile cambiare i colori di tutti i dispositivi del pianeta collegati al progetto.

Passaggio 1: materiali e strumenti

Materiali

  • ESP-01
  • Cavo AWG 22
  • Anello led WS2812
  • Portabatterie
  • Batteria
  • Perni filettati femmina
  • Protoboard
  • Saldare

Utensili

  • stampante 3d
  • Saldatore

Modello 3D

Simpatico fantasma abbracciami

Passaggio 2: assemblaggio

Per prima cosa è stato necessario creare il supporto per le connessioni. Questo è stato creato utilizzando una scheda prototipi, prese femmina per ESP-01 e saldatura. Le prese femmina consentono di rimuovere facilmente l'ESP-01 per utilizzarlo in un altro progetto o sostituirlo in caso di guasto. La saldatura è stata utilizzata per fissare i componenti e creare tracce di collegamento. La scheda prototipi viene fornita preforata e con connessioni attorno a ciascun foro. È sufficiente fissare i componenti e unire i vari fori per creare i binari.

Quindi il supporto della batteria è stato saldato. Contestualmente è stata stampata la base che ospiterà i componenti. Questo è costituito da una base quadrata, con spazio sufficiente per alloggiare i vari componenti, un'apertura ad anello led e spazio sufficiente per il fantasma stampato.

Dopo che la base era pronta, l'anello led è stato installato e collegato al supporto dei restanti componenti. Il supporto e il portabatterie sono stati fissati alla base con colla termica.

Passaggio 3: codice

Il codice collegherà ESP-01 alla rete wireless, quindi si collegherà al progetto cheerlight e controllerà il colore corrente. Quindi cambia il suo colore con il colore del progetto cheerlight.

Perché il codice funzioni, sono necessarie tre librerie:

  • ThingSpeak - per connettersi al progetto Cheerlights
  • ESP8266WiFi - per utilizzare l'ESP-01
  • Adafruit_NeoPixel - per usare l'anello led

Codice (lo trovi sul mio account GitHub)

#includere

#include #include #define PixelPin 2 #define PixelNum 12 const char* ssid = "dev"; const char* password = "RatoRoeuRolha"; cheerLightsChannelNumber lungo senza segno = 1417; int delayval = 500; String colorName = {"none", "red", "pink", "green", "blue", "cyan", "white", "warmwhite", "oldlace", "purple", "magenta", "giallo", "arancione"};

// Mappa dei valori RGB per ciascuno dei nomi dei colori Cheerlight

int colorRGB[3] = { 0, 0, 0, // "nessuno" 255, 0, 0, // "rosso" 255, 192, 203, // "rosa" 0, 255, 0, // "verde" 0, 0, 255, // "blu" 0, 255, 255, // "ciano", 255, 255, 255, // "bianco", 255, 223, 223, // "bianco caldo", 255, 223, 223, // "vecchio pizzo", 128, 0, 128, // "viola", 255, 0, 255, // "magenta", 255, 255, 0, // "giallo", 255, 165, 0}; // "arancia"}; Pixel Adafruit_NeoPixel = Adafruit_NeoPixel(PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient wclient; void setup() { Serial.begin(9600); WiFi.begin(ssid, password); WiFi.mode(WIFI_STA); Serial.println("."); while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } Serial.println(""); Serial.print("Ligado a "); Serial.println(ssid); Serial.print("Invia IP: "); Serial.println(WiFi.localIP()); pixel.begin(); ThingSpeak.begin(wclient); }void loop() { String color = ThingSpeak.readStringField(cheerLightsChannelNumber, 1); setColor(colore); //Serial.println(colore); ritardo (5000); }void setColor(String color) { for(int iColor = 0; iColor <= 12; iColor++) { if(color == colorName[iColor]) { for(int i=0;i < PixelNum;i++){

pixels.setPixelColor(i, pixels. Color(colorRGB[iColor][0], colorRGB[iColor][1], colorRGB[iColor][2])); // Colore verde moderatamente brillante.

pixel.mostra(); // Questo invia il colore del pixel aggiornato all'hardware. } Restituzione; } } }

Passaggio 4: passaggi finali

Il fantasma è stato stampato su Prusa i3 utilizzando PLA trasparente per consentire il passaggio della luce.

Alla fine la batteria è stata installata e il fantasma posizionato.

Invia un tweet con "#cheerlight red" cambia il colore in rosso.

Consigliato: