Estrela do transformador na árvore de Natal



Na véspera do ano novo no jardim de infância pediu para fazer um brinquedo da árvore de Natal. Decidi ajudar e assumir a parte técnica para a fabricação de artesanato e deixar a parte do design para a criança. Porque Não estou procurando maneiras fáceis, decidi fazer o brinquedo mais tecnológico e que seria mais do que apenas uma bola de fogo em uma bola. Não sei como, mas na minha cabeça a idéia amadureceu imediatamente de fazer uma estrela transformadora usando um motor de passo e LEDs endereçáveis.

Materiais utilizados:

  1. Plexiglass para iluminação final
  2. Motor deslizante 28BYJ-48
  3. O driver no chip ULN2003
  4. Microcontrolador ATTINY85
  5. Fita LED WS2812

Se você iluminar a borda do plexiglás para a iluminação final, não apenas as bordas, mas também o próprio avião brilharão. Devido à heterogeneidade da estrutura interna de tal plexiglás, a luz interna é refletida repetidamente e, assim, o plano é destacado. Imprimi um pedaço na folha A4 e recortei 2 partes da estrela.

imagem



Em uma das peças, tentei usar um motor de passo, encontrei um centro de rotação e cortei um orifício redondo no qual colei um pedaço de fita WS2812 com 5 LEDs. Anexei a segunda parte ao eixo do motor e liguei tudo isso ao Arduino.



A biblioteca Stepper padrão para controlar um motor de passo contém um erro e não permite que você gire no sentido anti-horário, então usei a biblioteca TinyStepper_28BYJ_48. Para animação de LEDs, usei a biblioteca Adafruit_NeoPixel.

Esboço de estrela do transformador
// A documentação desta biblioteca pode ser encontrada em:
// github.com/Stan-Reifel/TinyStepper_28BYJ_48
//
//
// Esta biblioteca requer que o motor de passo seja conectado ao Arduino
// usando a placa de driver ULN2003.

// **************************************************** ************************

#include <TinyStepper_28BYJ_48.h>
#include <Adafruit_NeoPixel.h>

// Configuração do Pixel NEO
#define PIN 0
#define LEDS_COUNT 5
#define RED strip.Color (255, 0, 0)
#define GREEN strip.Color (0, 255, 0)
#define BLUE strip.Color (0, 0, 255)
#define WHITE strip.Color (255, 255, 255)

// atribuições de pinos, quaisquer pinos digitais podem ser usados
#define MOTOR_IN1_PIN 1
#define MOTOR_IN2_PIN 2
#define MOTOR_IN3_PIN 3
#define MOTOR_IN4_PIN 4

// cria o objeto motor de passo
TinyStepper_28BYJ_48 stepper;
Faixa Adafruit_NeoPixel = Adafruit_NeoPixel (LEDS_COUNT, PIN, NEO_GRB + NEO_KHZ800);

configuração nula () {
// conecte e configure o motor de passo nos pinos de IO
stepper.connectToPins (MOTOR_IN1_PIN, MOTOR_IN2_PIN, MOTOR_IN3_PIN, MOTOR_IN4_PIN);
// define as taxas de velocidade e aceleração do motor de passo
stepper.setSpeedInStepsPerSecond (256);
stepper.setAccelerationInStepsPerSecondPerSecond (512);

strip.begin ();
strip.show (); // Inicialize todos os pixels para 'off'
}

loop vazio () {
// Gire o motor na direção avante uma volta
stepper.moveRelativeInSteps (410);
para (byte i = 0; i <20; i ++) {
fadeInOut (0xff, 0x00, 0x00); // vermelho
}

// gire para trás 1 rotação e aguarde 1 segundo
stepper.moveRelativeInSteps (-410);
para (byte i = 0; i <20; i ++) {
fadeInOut (0x00, 0x00, 0xff); // azul
}
}

void fadeInOut (byte vermelho, byte verde, byte azul) {
float r, g, b;

para (int k = 0; k <256; k = k + 1) {
r = (k / 256,0) * vermelho;
g = (k / 256,0) * verde;
b = (k / 256,0) * azul;
setAll (r, g, b);
strip.show ();
atraso (5);
}

para (int k = 255; k> = 0; k = k-2) {
r = (k / 256,0) * vermelho;
g = (k / 256,0) * verde;
b = (k / 256,0) * azul;
setAll (r, g, b);
strip.show ();
atraso (5);
}
}

void setAll (byte vermelho, byte verde, byte azul) {
for (int i = 0; i <LEDS_COUNT; i ++) {
strip.setPixelColor (i, strip.Color (vermelho, verde, azul));
}
strip.show ();
}


Está vivo !!!

Agora era necessário montar tudo de forma compacta e usar o ATTINY85 em vez do Arduino. Guiado pelas instruções do site create.arduino.cc, você pode costurar fácil e facilmente o ATTINY85 com um esboço do Arduino. Das 8 pernas, usei 7, 4 para um motor de passo, 1 para LEDs, 2 para energia, o RESET permaneceu livre.



Para montar na coroa da árvore de Natal, a alça do êmbolo funcionou perfeitamente.



Após o trabalho decorativo, a estrela começou a parecer muito mais bonita. A alça foi enrolada em uma fita de cetim vermelha e o plexiglass foi coberto com verniz transparente com brilhos, com isso o efeito de brilho foi muito aprimorado.



Tudo com o próximo ano 2020, humor e criatividade de Ano Novo!

Source: https://habr.com/ru/post/pt480058/


All Articles