Estrella transformadora en el árbol de navidad



En la víspera del año nuevo en el jardín de infantes pidió hacer un juguete de árbol de Navidad. Decidí ayudar y asumir la parte técnica para la fabricación de artesanías, y dejar la parte de diseño al niño. Porque No busco formas fáciles, decidí hacer el juguete más tecnológico y que sería más que una bola de fuego en una bola. No sé cómo, pero en mi cabeza surgió de inmediato la idea de hacer una estrella en transformación con un motor paso a paso y LED direccionables.

Materiales utilizados

  1. Plexiglás para iluminación final
  2. 28BYJ-48 motor paso a paso
  3. El controlador en el chip ULN2003
  4. Microcontrolador ATTINY85
  5. Tira LED WS2812

Si ilumina el borde de plexiglás para la iluminación final, no solo se iluminarán los bordes, sino también el plano en sí. Debido a la heterogeneidad de la estructura interna de dicho plexiglás, la luz en el interior se refleja repetidamente y, por lo tanto, el plano se resalta. Imprimí una pieza en hoja A4 y corté 2 partes de la estrella.

imagen



En una de las partes que probé con un motor paso a paso, encontré un centro de rotación y corté un agujero redondo en el que pegué un trozo de cinta WS2812 con 5 LED. Adjunté la segunda parte al eje del motor y conecté todo esto al Arduino.



La biblioteca Stepper estándar para controlar un motor paso a paso contiene un error y no le permite girar en sentido antihorario, por lo que utilicé la biblioteca TinyStepper_28BYJ_48. Para la animación de LED utilicé la biblioteca Adafruit_NeoPixel.

Transformer Star Sketch
// La documentación de esta biblioteca se puede encontrar en:
// github.com/Stan-Reifel/TinyStepper_28BYJ_48
//
//
// Esta biblioteca requiere que el motor paso a paso esté conectado al Arduino
// utilizando la placa de controlador ULN2003.

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

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

// Configuración de NEO Pixel
#define PIN 0
#define LEDS_COUNT 5
#define la tira ROJA.Color (255, 0, 0)
#defina la tira VERDE Color (0, 255, 0)
#define BLUE strip.Color (0, 0, 255)
#define la tira BLANCA Color (255, 255, 255)

// asignaciones de pin, se puede usar cualquier pin digital
#define MOTOR_IN1_PIN 1
#define MOTOR_IN2_PIN 2
#define MOTOR_IN3_PIN 3
#define MOTOR_IN4_PIN 4

// crea el objeto motor paso a paso
TinyStepper_28BYJ_48 paso a paso;
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (LEDS_COUNT, PIN, NEO_GRB + NEO_KHZ800);

configuración nula () {
// conecta y configura el motor paso a paso a sus pines IO
stepper.connectToPins (MOTOR_IN1_PIN, MOTOR_IN2_PIN, MOTOR_IN3_PIN, MOTOR_IN4_PIN);
// establece la velocidad y las tasas de aceleración para el motor paso a paso
stepper.setSpeedInStepsPerSecond (256);
stepper.setAccelerationInStepsPerSecondPerSecond (512);

strip.begin ();
strip.show (); // Inicializa todos los píxeles a 'apagado'
}

bucle vacío () {
// Gire el motor hacia adelante una revolución
stepper.moveRelativeInSteps (410);
para (byte i = 0; i <20; i ++) {
fadeInOut (0xff, 0x00, 0x00); // rojo
}

// gira hacia atrás 1 rotación, luego espera 1 segundo
stepper.moveRelativeInSteps (-410);
para (byte i = 0; i <20; i ++) {
fadeInOut (0x00, 0x00, 0xff); // azul
}
}

vacío fadeInOut (byte rojo, byte verde, byte azul) {
flotador r, g, b;

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

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

conjunto vacío (byte rojo, byte verde, byte azul) {
para (int i = 0; i <LEDS_COUNT; i ++) {
strip.setPixelColor (i, strip.Color (rojo, verde, azul));
}
strip.show ();
}


Esta vivo !!!

Ahora era necesario ensamblar todo de forma compacta y usar ATTINY85 en lugar de Arduino. Guiado por las instrucciones del sitio web create.arduino.cc, puede coser fácil y fácilmente ATTINY85 con un boceto Arduino. De 8 patas, utilicé 7, 4 para un motor paso a paso, 1 para LED, 2 para alimentación, RESET permaneció libre.



Para el montaje en la corona del árbol de Navidad, el mango del émbolo fue perfecto.



Después del trabajo decorativo, la estrella comenzó a verse mucho más bonita. El mango estaba envuelto en una cinta de raso roja, y el plexiglás estaba cubierto con barniz transparente con destellos, a partir de esto el efecto de brillo fue mucho mayor.



¡Todo con el próximo 2020, el estado de ánimo y el ingenio de Año Nuevo!

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


All Articles