Inhoudsopgave:

Halloween-cheerlights: 4 stappen (met afbeeldingen)
Halloween-cheerlights: 4 stappen (met afbeeldingen)

Video: Halloween-cheerlights: 4 stappen (met afbeeldingen)

Video: Halloween-cheerlights: 4 stappen (met afbeeldingen)
Video: Halloween sign esp32 2024, November
Anonim
Halloween Cheerlights
Halloween Cheerlights

In de laatste Halloween besloot ik een project voor het seizoen te maken. Met behulp van een 3D-model van een spook dat ik op de Prusa i3 en het Cheerlights-project heb geprint, heb ik een Halloween-decoratie gemaakt die willekeurig van kleur verandert.

Het Cheerlight-project is een open-sourceproject dat alle lichtapparaten die het gebruiken synchroniseert. Via Twitter hebben we met de hashtag #cheerlight een kleur gekozen uit het kleurenpalet van het project Cheerlights. Alle apparaten die zijn aangesloten op het project Cheerlights lezen de kleur via de api en veranderen daar hun kleur naar. Via een tweet is het mogelijk om de kleuren te veranderen van alle apparaten van de planeet die met het project zijn verbonden.

Stap 1: Materialen en gereedschappen

Materialen

  • ESP-01
  • Awg 22 Kabel
  • Ledring WS2812
  • Batterijhouder
  • Accu
  • Vrouwelijke socket rij pinnen
  • Protobord
  • Soldeer

Gereedschap

  • 3D-printer
  • Soldeerbout

3d model

Schattige knuffel me geest

Stap 2: Montage

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

Eerst moest het draagvlak voor de verbindingen worden gecreëerd. Dit is gemaakt met behulp van een protoboard, vrouwelijke sockets voor de ESP-01 en soldeer. De vrouwelijke sockets maken het mogelijk om de ESP-01 gemakkelijk te verwijderen voor gebruik in een ander project of om deze te vervangen in geval van storing. Het soldeer werd gebruikt om de componenten te bevestigen en verbindingssporen te creëren. Het protoboard wordt voorgeboord geleverd en heeft aansluitingen rond elk gat. Het is alleen nodig om de componenten te bevestigen en de verschillende gaten te verbinden om de sporen te creëren.

Daarna werd de batterijhouder gesoldeerd. Tegelijkertijd werd de basis gedrukt die de componenten zal huisvesten. Deze bestaat uit een vierkante basis, met genoeg ruimte voor de verschillende componenten, een led ring opening en genoeg ruimte voor de geprinte geest.

Nadat de basis klaar was, werd de led-ring geïnstalleerd en aangesloten op de ondersteuning van de resterende componenten. De steun en de batterijhouder werden met thermische lijm aan de basis bevestigd.

Stap 3: Coderen

De code verbindt de ESP-01 met het draadloze netwerk en maakt vervolgens verbinding met het cheerlight-project en controleert de huidige kleur. Het verandert dan zijn kleur in de kleur van het cheerlight-project.

Om de code te laten werken, zijn drie bibliotheken vereist:

  • ThingSpeak - om verbinding te maken met het Cheerlights-project
  • ESP8266WiFi - om de ESP-01 te gebruiken
  • Adafruit_NeoPixel - om de led-ring te gebruiken

Code (je kunt het vinden op mijn GitHub-account)

#erbij betrekken

#include #include #define PixelPin 2 #define PixelNum 12 const char* ssid = "dev"; const char* wachtwoord = "RatoRoeuRolha"; ongetekende lange cheerLightsChannelNumber = 1417; int vertragingswaarde = 500; String colorName = {"none", "red", "pink", "green", "blue", "cyan", "white", "warmwhite", "oldlace", "purple", "magenta", "geel oranje"};

// Kaart met RGB-waarden voor elk van de Cheerlight-kleurnamen

int colorRGB [3] = { 0, 0, 0, // "geen" 255, 0, 0, // "rood" 255, 192, 203, // "roze" 0, 255, 0, // "groen" 0, 0, 255, // "blauw" 0, 255, 255, // "cyaan", 255, 255, 255, // "wit", 255, 223, 223, // "warmwit", 255, 223, 223, // "oldlace", 128, 0, 128, // "paars", 255, 0, 255, // "magenta", 255, 255, 0, // "geel", 255, 165, 0}; // "Oranje"}; Adafruit_NeoPixel-pixels = Adafruit_NeoPixel (PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient met cliënt; void setup() { Serial.begin(9600); WiFi.begin(ssid, wachtwoord); WiFi.modus (WIFI_STA); Serieel.println("."); while (WiFi.status() != WL_CONNECTED) {vertraging (500); Serieel.print("."); } Serieel.println(""); Serial.print("Ligado een "); Seriële.println(ssid); Serial.print("Endereço IP: "); Serial.println(WiFi.localIP()); pixels.begin(); ThingSpeak.begin(wclient); }void loop() { String kleur = ThingSpeak.readStringField(cheerLightsChannelNumber, 1); setColor (kleur); //Serial.println(kleur); vertraging (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])); // Matig felgroene kleur.

pixels.show(); // Dit stuurt de bijgewerkte pixelkleur naar de hardware. } opbrengst; } } }

Stap 4: Laatste stappen

Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen
Laatste stappen

De geest werd op de Prusa i3 afgedrukt met transparant PLA om licht door te laten.

Eindelijk werd de batterij geïnstalleerd en de geest geplaatst.

Stuur een tweet met "#cheerlight red" verander de kleur naar rood.

Aanbevolen: