2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
No último halloween decidi criar um projeto para a temporada. Usando um modelo 3D de um fantasma que imprimi no Prusa i3 e no projeto Cheerlights, criei uma decoração de Halloween que muda de cor aleatoriamente.
O projeto Cheerlight é um projeto de código aberto que sincroniza todos os dispositivos de luz que o utilizam. Por meio do Twitter, usando a hashtag #cheerlight, escolhemos uma cor da paleta de cores do projeto Cheerlight. Todos os dispositivos que estão conectados ao projeto Cheerlights lêem a cor por meio da API e mudam sua cor para isso. Por meio de um tweet é possível alterar as cores de todos os dispositivos do planeta conectados ao projeto.
Etapa 1: Materiais e Ferramentas
Materiais
- ESP-01
- Cabo Awg 22
- Anel led WS2812
- Suporte da bateria
- Bateria
- Pinos de linha de soquete feminino
- Protoboard
- Solda
Ferramentas
- impressora 3d
- Ferro de solda
Modelo 3D
Fofo Hug Me Ghost
Etapa 2: Montagem
Primeiro foi necessário criar o suporte para as conexões. Ele foi criado usando um protoboard, soquetes fêmeas para o ESP-01 e solda. Os soquetes fêmeas permitem remover facilmente o ESP-01 para uso em outro projeto ou substituí-lo em caso de falha. A solda foi usada para fixar os componentes e criar trilhas de conexão. O protoboard vem pré-perfurado e com conexões ao redor de cada furo. Só é necessário fixar os componentes e unir os vários furos para criar os trilhos.
Em seguida, o suporte da bateria foi soldado. Ao mesmo tempo, foi impressa a base que abrigará os componentes. Consiste numa base quadrada, com espaço suficiente para alojar os vários componentes, uma abertura em anel led e espaço suficiente para o fantasma impresso.
Depois de pronta a base, o anel led foi instalado e conectado ao suporte dos demais componentes. O suporte e o porta-bateria foram fixados na base com cola térmica.
Etapa 3: Código
O código conectará o ESP-01 à rede sem fio e, em seguida, conectará ao projeto cheerlight e verificará a cor atual. Em seguida, ele muda sua cor para a cor do projeto de torcida.
Para que o código funcione, três bibliotecas são necessárias:
- ThingSpeak - para se conectar ao projeto Cheerlights
- ESP8266WiFi - para usar o ESP-01
- Adafruit_NeoPixel - para usar o anel led
Código (você pode encontrá-lo em minha conta GitHub)
#incluir
#include #include #define PixelPin 2 #define PixelNum 12 const char * ssid = "dev"; const char * senha = "RatoRoeuRolha"; cheerLightsChannelNumber = 1417; valor de retardo interno = 500; String colorName = {"none", "red", "pink", "green", "blue", "cyan", "white", "warmwhite", "oldlace", "purple", "magenta", "amarelo alaranjado"};
// Mapa de valores RGB para cada um dos nomes de cores da Cheerlight
int colorRGB [3] = {0, 0, 0, // "nenhum" 255, 0, 0, // "vermelho" 255, 192, 203, // "rosa" 0, 255, 0, // "verde" 0, 0, 255, // "azul" 0, 255, 255, // "ciano", 255, 255, 255, // "branco", 255, 223, 223, // "branco quente", 255, 223, 223, // "oldlace", 128, 0, 128, // "roxo", 255, 0, 255, // "magenta", 255, 255, 0, // "amarelo", 255, 165, 0}; // "laranja"}; Adafruit_NeoPixel pixels = Adafruit_NeoPixel (PixelNum, PixelPin, NEO_GRB + NEO_KHZ800); WiFiClient wclient; void setup () {Serial.begin (9600); WiFi.begin (ssid, senha); WiFi.mode (WIFI_STA); Serial.println ("."); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.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 () {String color = ThingSpeak.readStringField (cheerLightsChannelNumber, 1); setColor (color); //Serial.println(color); atraso (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])); // Cor verde moderadamente brilhante.
pixels.show (); // Isso envia a cor de pixel atualizada para o hardware. } Retorna; }}}
Etapa 4: etapas finais
O fantasma foi impresso no Prusa i3 usando PLA transparente para permitir a passagem da luz.
Finalmente, a bateria foi instalada e o fantasma colocado.
Envie um tweet com "#cheerlight red" e mude a cor para vermelho.