Sommario:

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

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

Video: Cheerlights di Halloween: 4 passaggi (con immagini)
Video: There is no Cake #shorts 2024, Luglio
Anonim
Cheerlights di Halloween
Cheerlights di Halloween

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

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

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

Passaggi finali
Passaggi finali
Passaggi finali
Passaggi finali
Passaggi finali
Passaggi finali
Passaggi finali
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: