2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Viimasel halloweenil otsustasin teha hooajaks projekti. Kasutades kummituse 3D -mudelit, mille printisin Prusa i3 -le ja projektile Cheerlights, lõin Halloweeni kaunistuse, mis muudab värvi juhuslikult.
Cheerlighti projekt on avatud lähtekoodiga projekt, mis sünkroonib kõik seda kasutavad valgusseadmed. Twitteri kaudu, kasutades #cheerlighti räsimärki, valisime Cheerlightsi projekti värvipalettist värvi. Kõik projektiga Cheerlights ühendatud seadmed loevad api kaudu värvi ja muudavad selle värvi. Säutsu kaudu on võimalik muuta kõigi projektiga ühendatud planeedi seadmete värve.
Samm: materjalid ja tööriistad
Materjalid
- ESP-01
- Awg 22 kaabel
- LED -rõngas WS2812
- Akuhoidik
- Aku
- Naiste pistikupesa rea tihvtid
- Protoboard
- Jootma
Tööriistad
- 3D printer
- Jootekolb
3D mudel
Armas kallista mind kummitus
2. samm: kokkupanek
Kõigepealt oli vaja luua ühenduste tugi. Selle loomiseks kasutati protoplaati, ESP-01 pistikupesasid ja jootet. Naiste pistikupesad võimaldavad ESP-01 hõlpsalt eemaldada, et seda saaks kasutada mõnes teises projektis, või asendada see rikke korral. Jootet kasutati komponentide kinnitamiseks ja ühendusteede loomiseks. Protoboard on eelnevalt puuritud ja ühendustega iga augu ümber. Rööbaste loomiseks on vaja ainult komponente fikseerida ja ühendada erinevad augud.
Seejärel joodeti akuhoidik. Samal ajal trükiti alus, mis sisaldab komponente. See koosneb ruudukujulisest alusest, kus on piisavalt ruumi erinevate komponentide paigutamiseks, LED -rõnga ava ja piisavalt ruumi trükitud kummitusle.
Kui alus oli valmis, paigaldati LED -rõngas ja ühendati ülejäänud komponentide toega. Tugi ja akuhoidik kinnitati alusele termilise liimiga.
3. samm: kood
Kood ühendab ESP-01 traadita võrguga ja ühendab seejärel cheerlighti projektiga ning kontrollib praegust värvi. Seejärel muudab see oma värvi cheerlight -projekti värviks.
Koodi toimimiseks on vaja kolme raamatukogu:
- ThingSpeak - Cheerlighti projektiga ühenduse loomiseks
- ESP8266WiFi - ESP -01 kasutamiseks
- Adafruit_NeoPixel - LED -rõnga kasutamiseks
Kood (leiate selle minu GitHubi kontolt)
#kaasake
#include #include #define PixelPin 2 #define PixelNum 12 const char* ssid = "dev"; const char* parool = "RatoRoeuRolha"; allkirjastamata pikk cheerLightsChannelNumber = 1417; int delayval = 500; String colorName = {"pole", "punane", "roosa", "roheline", "sinine", "tsüaan", "valge", "soojavalge", "vana palee", "lilla", "magenta", "kollane", "oranž"};
// RGB väärtuste kaart iga Cheerlighti värvinime jaoks
int colorRGB [3] = {0, 0, 0, // "pole" 255, 0, 0, // "punane" 255, 192, 203, // "roosa" 0, 255, 0, // "roheline" 0, 0, 255, // "sinine" 0, 255, 255, // "tsüaan", 255, 255, 255, // "valge", 255, 223, 223, // "soojavalge", 255, 223, 223, // "oldlace", 128, 0, 128, // "lilla", 255, 0, 255, // "magenta", 255, 255, 0, // "kollane", 255, 165, 0}; // "oranž"}; Adafruit_NeoPixel pikslid = Adafruit_NeoPixel (PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient wclient; void setup () {Serial.begin (9600); WiFi.begin (ssid, parool); WiFi -režiim (WIFI_STA); Serial.println ("."); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Seeria.print ("."); } Serial.println (""); Serial.print ("Ligado a"); Serial.println (ssid); Serial.print ("Endereço IP:"); Serial.println (WiFi.localIP ()); pixels.begin (); ThingSpeak.begin (wclient); } void loop () {Stringi värv = ThingSpeak.readStringField (cheerLightsChannelNumber, 1); setColor (värv); //Seriaalne.println (värv); viivitus (5000); } void setColor (Stringi värv) {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])); // Mõõdukalt erkroheline värv.
pixels.show (); // See saadab riistvarale uuendatud pikslivärvi. } tagasipöördumine; }}}
4. samm: viimased sammud
Vaim trükiti Prusa i3 -le, kasutades läbipaistvat PLA -d, et võimaldada valguse läbimist.
Lõpuks paigaldati aku ja paigutati kummitus.
Saatke säuts "#cheerlight red", muutke värv punaseks.