Innehållsförteckning:

Halloween Cheerlights: 4 steg (med bilder)
Halloween Cheerlights: 4 steg (med bilder)

Video: Halloween Cheerlights: 4 steg (med bilder)

Video: Halloween Cheerlights: 4 steg (med bilder)
Video: Halloween sign esp32 2024, November
Anonim
Halloween Cheerlights
Halloween Cheerlights

Under den senaste halloween bestämde jag mig för att skapa ett projekt för säsongen. Med hjälp av en 3D -modell av ett spöke som jag tryckte på Prusa i3 och Cheerlights -projektet skapade jag en Halloween -dekoration som ändrar färg slumpmässigt.

Cheerlight-projektet är ett projekt med öppen källkod som synkroniserar alla ljusenheter som använder det. Via Twitter, med hashtaggen #cheerlight, valde vi en färg från färgpaletten Cheerlights -projektet. Alla enheter som är anslutna till projektet Cheerlights läser färgen genom API: et och ändrar sin färg till det. Genom en tweet är det möjligt att ändra färgerna på alla enheter på planeten som är anslutna till projektet.

Steg 1: Material och verktyg

Material

  • ESP-01
  • Awg 22 kabel
  • Ledring WS2812
  • Batteri hållare
  • Batteri
  • Sockelradstift för kvinnor
  • Protoboard
  • Löda

Verktyg

  • 3d skrivare
  • Lödkolv

3D -modell

Söt kram mig spöke

Steg 2: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Först var det nödvändigt att skapa stöd för anslutningarna. Detta skapades med ett protoboard, honuttag för ESP-01 och löd. Honkontakterna gör det enkelt att ta bort ESP-01 för användning i ett annat projekt eller att byta ut den vid fel. Lödet användes för att fixa komponenterna och skapa anslutningsspår. Protoboardet kommer förborrat och med anslutningar runt varje hål. Det är bara nödvändigt att fixa komponenterna och sammanfoga de olika hålen för att skapa spåren.

Därefter löddes batterihållaren. Samtidigt trycktes basen som innehåller komponenterna. Denna består av en fyrkantig bas, med tillräckligt med utrymme för att rymma de olika komponenterna, en ledningsringöppning och tillräckligt med utrymme för det tryckta spöket.

Efter att basen var klar installerades ledringen och kopplades till stödet för de återstående komponenterna. Stödet och batterihållaren fästes på basen med termiskt lim.

Steg 3: Kod

Koden ansluter ESP-01 till det trådlösa nätverket och ansluter sedan till cheerlight-projektet och kontrollerar den aktuella färgen. Det ändrar sedan sin färg till färgen på cheerlight -projektet.

För att koden ska fungera krävs tre bibliotek:

  • ThingSpeak - för att ansluta till Cheerlights -projektet
  • ESP8266WiFi - för att använda ESP -01
  • Adafruit_NeoPixel - för att använda ledringen

Kod (du hittar den på mitt GitHub -konto)

#omfatta

#include #include #define PixelPin 2 #define PixelNum 12 const char* ssid = "dev"; const char* password = "RatoRoeuRolha"; osignerad lång cheerLightsChannelNumber = 1417; int delayval = 500; String colorName = {"ingen", "röd", "rosa", "grön", "blå", "cyan", "vit", "varmvit", "oldlace", "lila", "magenta", "gul", "orange"};

// Karta över RGB -värden för vart och ett av Cheerlight -färgnamnen

int colorRGB [3] = {0, 0, 0, // "ingen" 255, 0, 0, // "röd" 255, 192, 203, // "rosa" 0, 255, 0, // "grön" 0, 0, 255, // "blå" 0, 255, 255, // "cyan", 255, 255, 255, // "vit", 255, 223, 223, // "varmvit", 255, 223, 223, // "oldlace", 128, 0, 128, // "lila", 255, 0, 255, // "magenta", 255, 255, 0, // "gul", 255, 165, 0}; // "orange"}; Adafruit_NeoPixel pixlar = Adafruit_NeoPixel (PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient wclient; void setup () {Serial.begin (9600); WiFi.begin (ssid, lösenord); WiFi.mode (WIFI_STA); Serial.println ("."); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); } Serial.println (""); Serial.print ("Ligado a"); Serial.println (ssid); Serial.print ("Endereço IP:"); Serial.println (WiFi.localIP ()); pixlar. börjar (); ThingSpeak.begin (wclient); } void loop () {String color = ThingSpeak.readStringField (cheerLightsChannelNumber, 1); setColor (färg); //Serial.println(color); fördröjning (5000); } void setColor (strängfärg) {för (int iColor = 0; iColor <= 12; iColor ++) {if (color == colorName [iColor]) {för (int i = 0; i <PixelNum; i ++) {

pixlar.setPixelColor (i, pixlar. Color (colorRGB [iColor] [0], colorRGB [iColor] [1], colorRGB [iColor] [2])); // Måttligt ljusgrön färg.

pixlar. visa (); // Detta skickar den uppdaterade pixelfärgen till hårdvaran. } lämna tillbaka; }}}

Steg 4: Slutsteg

Sista stegen
Sista stegen
Sista stegen
Sista stegen
Sista stegen
Sista stegen
Sista stegen
Sista stegen

Spöket trycktes på Prusa i3 med hjälp av transparent PLA för att tillåta passage av ljus.

Slutligen installerades batteriet och spöket placerades.

Skicka en tweet med "#cheerlight red" växla färgen till röd.

Rekommenderad: