Мазмуну:

Halloween Cheerlights: 4 кадам (Сүрөттөр менен)
Halloween Cheerlights: 4 кадам (Сүрөттөр менен)

Video: Halloween Cheerlights: 4 кадам (Сүрөттөр менен)

Video: Halloween Cheerlights: 4 кадам (Сүрөттөр менен)
Video: Halloween sign esp32 2024, Ноябрь
Anonim
Halloween Cheerlights
Halloween Cheerlights

Акыркы Хэллоуинде мен сезонго карата долбоор түзүүнү чечтим. Мен Prusa i3 жана Cheerlights долбоорунда басылган арбактын 3D моделин колдонуп, түсүн туш келди өзгөрткөн Хэллоуин декорациясын түздүм.

Cheerlight долбоору-бул ачык булак долбоору, аны колдонгон бардык жарык түзмөктөрдү мезгилдештирет. Twitter аркылуу #cheerlight хэштегин колдонуп, биз Cheerlights долбоорунун түс палитрасынан түс тандап алдык. Cheerlights долбооруна туташкан бардык түзмөктөр түсүн api аркылуу окуп, түсүн ошого өзгөртүшөт. Твит аркылуу долбоорго байланышкан планетанын бардык аппараттарынын түстөрүн өзгөртүүгө болот.

1 -кадам: материалдар жана инструменттер

Материалдар

  • ESP-01
  • Awg 22 Cable
  • Led шакек WS2812
  • Батарея кармагыч
  • Батарея
  • Аялдардын розетка катарлары
  • Protoboard
  • Solder

Куралдар

  • 3D принтер
  • Кандооч

3D модели

Cute Hug Me Ghost

2 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Биринчиден, байланыштарды колдоо үчүн зарыл болгон. Бул ESP-01 үчүн протобоард, аял розеткалары жана ширетүү аркылуу жасалган. Аял розеткалар ESP-01ди башка долбоордо колдонуу үчүн оңой эле алып салууга же иштен чыккан учурда аны алмаштырууга мүмкүндүк берет. Лайк компоненттерди оңдоо жана бириктирүүчү тректерди түзүү үчүн колдонулган. Protoboard алдын ала бургуланган жана ар бир тешиктин айланасында туташуулар менен келет. Тректерди түзүү үчүн компоненттерди оңдоп, ар кандай тешиктерге кошулуу гана керек.

Андан кийин батареянын кармагычы ширетилген. Ошол эле учурда, компоненттерди жайгаштыра турган база басылган. Бул төрт бурчтуу базадан турат, ар кандай компоненттерди жайгаштыруу үчүн жетиштүү мейкиндик, жетектелген шакектин ачылышы жана басылган арбак үчүн жетиштүү орун.

База даяр болгондон кийин, жетектелген шакек орнотулуп, калган компоненттердин колдоосуна туташтырылган. Колдоо жана батарея кармагыч базага термикалык клей менен бекитилген.

3 -кадам: Код

Код ESP-01ди зымсыз тармакка туташтырат, андан кийин cheerlight долбооруна туташып, учурдагы түсүн текшерет. Андан кийин ал түсүн cheerlight долбоорунун түсүнө өзгөртөт.

Код иштеши үчүн үч китепкана талап кылынат:

  • ThingSpeak - Cheerlights долбооруна туташуу үчүн
  • ESP8266WiFi - ESP -01ди колдонуу үчүн
  • Adafruit_NeoPixel - жетектелген шакекти колдонуу

Код (аны GitHub каттоо эсебимден таба аласыз)

#кошуу

#include #include #dexine PixelPin 2 #define PixelNum 12 const char* ssid = "dev"; const char* password = "RatoRoeuRolha"; unsigned long cheerLightsChannelNumber = 1417; int delayval = 500; String colorName = {"эч ким", "кызыл", "кызгылт", "жашыл", "көк", "көк", "ак", "жылуу ак", "эски", "кызгылт", "кызгылт", "yellow", "orange"};

// Cheerlight түс аттарынын ар бири үчүн RGB баалуулуктарынын картасы

int colorRGB [3] = {0, 0, 0, // "эч ким" 255, 0, 0, // "кызыл" 255, 192, 203, // "кызгылт" 0, 255, 0, // "жашыл" 0, 0, 255, // "көк" 0, 255, 255, // "көк", 255, 255, 255, // "ак", 255, 223, 223, // "жылуу ак", 255, 223, 223, // "Oldlace", 128, 0, 128, // "Purple", 255, 0, 255, // "Magenta", 255, 255, 0, // "Yellow", 255, 165, 0}; // "ачык күрөң"}; Adafruit_NeoPixel пикселдери = Adafruit_NeoPixel (PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient wclient; void setup () {Serial.begin (9600); WiFi.begin (ssid, сырсөз); WiFi.mode (WIFI_STA); Serial.println ("."); while (WiFi.status ()! = WL_CONNECTED) {кечигүү (500); Serial.print ("."); } Serial.println (""); Serial.print ("Ligado a"); Serial.println (ssid); Serial.print ("Endereço IP:"); Serial.println (WiFi.localIP ()); piksel.begin (); ThingSpeak.begin (wclient); } void loop () {String color = ThingSpeak.readStringField (cheerLightsChannelNumber, 1); setColor (түс); //Serial.println(color); кечигүү (5000); } void setColor (String color) {for (int iColor = 0; iColor <= 12; iColor ++) {if (color == colorName [iColor]) {for (int i = 0; i <PixelNum; i ++) {

piksel.setPixelColor (i, piksel. Color (colorRGB [iColor] [0], colorRGB [iColor] [1], colorRGB [iColor] [2]))); // Орточо ачык жашыл түс.

piksel.show (); // Бул жаңыртылган пикселдин түсүн жабдыкка жөнөтөт. } кайтуу; }}}

4 -кадам: Акыркы кадамдар

Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар
Акыркы кадамдар

Арбак Prusa i3те жарыктын өтүшүн камсыз кылуу үчүн тунук PLAнын жардамы менен басылган.

Акыры батарея орнотулуп, арбак жайгаштырылды.

"#Cheerlight red" менен твит жөнөтүү, түстү кызылга которуу.

Сунушталууда: