Tabla de contenido:

KillingMinion: 5 pasos
KillingMinion: 5 pasos

Video: KillingMinion: 5 pasos

Video: KillingMinion: 5 pasos
Video: I Shot Huggy Wuggy Death Fall on Slow Motion Camera [Poppy Playtime] 2024, Noviembre
Anonim
MatarMinion
MatarMinion

Por Yue, Yanan y Hao.

El proyecto realizado como parte del seminario de Diseño Computacional y Fabricación Digital en el programa de maestría ITECH.

Algunos de nosotros, inconscientemente, sacudimos las piernas todo el tiempo. Con el teléfono celular en el bolsillo, estos movimientos aleatorios son detectados por el 'Acelerómetro' internalizado. Mediante el envío de bluetooth a nuestra pequeña máquina, se activa un bucle mecánico de un simple sistema de cadena de engranajes, que tiene a un minion colgado de un servo. El minion se moverá junto con la cadena y se dejará caer al final. Aunque ni siquiera te das cuenta de lo que sigues haciendo, R. I. P. ¡Esbirro!

Paso 1: lista de elementos

Lista de artículos
Lista de artículos

Lista de artículos:

Elementos de impresión 3D:

Plataforma 【asiento servo, conector de cadena, engranaje】

Minion y ataúd

Arduino:

Placa controladora UNO R3

Tablero de pruebas con alfileres de corbata 830

Motor paso a paso (28BYJ48 5V DC)

Placa de controlador de motor paso a paso UNL2003

Servo motor

Receptor bluetooth

Zumbador piezoeléctrico

Batería de 9V con CC

Adaptador de batería de 9V

Resistencia 330R o superior * 2

LED * 2

Cables de puente

Otros

Palos de madera de 4 mm (pistas móviles)

Cadena (desgarro del coche Logo)

Pernos y destornilladores M3

Celular (Android)

Paso 2: ensamble la plataforma

Ensamblar la plataforma
Ensamblar la plataforma
Ensamblar la plataforma
Ensamblar la plataforma
Ensamblar la plataforma
Ensamblar la plataforma

El motor paso a paso y el servomotor son parte del circuito de control. El servomotor está conectado directamente a la placa de pruebas con clavija de unión 830 y la placa de control Uno R3, mientras que el motor paso a paso debe conectarse primero a la placa del controlador del motor paso a paso UNL2003 y luego a la placa de control Uno R3.

Paso 3: circuitos y códigos

Circuitos y códigos
Circuitos y códigos
Circuitos y códigos
Circuitos y códigos
Circuitos y códigos
Circuitos y códigos

Para controlar los movimientos de la cadena se consideran los siguientes estados básicos:

0. Instale la aplicación y conéctela a la máquina a través de bluetooth. ¡Y empieza a temblar!

1. después de recibir las señales, los engranajes comienzan a girar y la cadena comienza a moverse a una cierta velocidad.

2. Las señales continúan, hasta que el minion pasa hasta el otro extremo del camino, luego el motor paso a paso se detiene y el servomotor gira 90 grados, deja caer al minion en el ataúd.

3. Durante la marcha de la cadena, si las señales se detienen durante un período de tiempo idéntico, las marchas se invierten y la cadena retrocede a una velocidad muy baja.

4. reiniciando la parte inferior en el tablero de control Uno R3, o si el movimiento inverso golpea el extremo inicial de la ruta, el procedimiento se reinicia.

5. Para hacer las cosas un poco más interesantes, se hacen algunos ruidos durante el movimiento y la caída. También puede ampliar el módulo de sonido y música mediante aplicaciones en su teléfono. Divertirse con eso.

#include #include #include #include "pitches.h"

const int paso = 64;

const int counterMax = paso * 9; int contador = 0;

SoftwareSerial mySerial (7, 8);

Paso a paso paso a paso (paso, 9, 11, 10, 12); Servo myServo;

const int Zumbador = 5;

bool isAlive = true;

datos de char;

int melody = {

NOTE_CS4, NOTE_CS4, NOTE_CS4, NOTE_CS4, NOTE_CS4, 0, NOTE_CS4, NOTE_CS4, NOTE_CS4, 0, NOTE_CS4}; int noteDurations = {2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 8};

configuración vacía () {

Serial.begin (9600); mySerial.begin (9600); myServo.attach (3); pinMode (4, ENTRADA); stepper.setSpeed (80);

while (digitalRead (4) == LOW) {

stepper.step (-1); } paso a paso (60); }

bucle vacío () {

if (mySerial.available ()> 0) {while (mySerial.available ()> 0) {data = mySerial.read (); } if (contador <contadorMax) {mySerial.print ("0"); for (int thisNote = 0; thisNote = counterMax && isAlive) {mySerial.print ("2"); myServo.write (180); for (int thisNote = 0; thisNote 1 && contador <contadorMax) {mySerial.print ("1"); stepper.step (-1); contador - = 1; retraso (200); }}

Paso 4: una ejecución de prueba

Image
Image
Todos los archivos que podemos compartir
Todos los archivos que podemos compartir

Paso 5: todos los archivos que podemos compartir

Puede encontrar todos los archivos que podemos compartir en este enlace, incluidos modelos de impresión en 3D, diagramas de circuitos fritzing y codificaciones arduino.

drive.google.com/open?id=1qImULCJQRdzlon4s…

Recomendado: