Hoy se trata de un tema muy serio, el estado físico de nuestro perro Yoshi.
Desde que en nuestra tienda Golosinas para Yoshi la ingesta de calorías de Yoshi ha aumentado de forma desproporcionada.
En realidad, íbamos a construir un donador automatizado de golosinas para Yoshi que gastara automáticamente las fugas donadas, pero sería irresponsable no preocuparnos por la forma del perro.
Así que tenemos que pensar en un programa deportivo para Yoshi. ¡Y ahí fue cuando se me ocurrió la idea del entrenador yoshitraer 2000!
Ventajas:
- Tengo todos los componentes necesarios en mi escritorio.
- La programación es relativamente sencilla, ya que ignoramos por completo mi última contribución de Blog sobre números aleatorios, y utilizamos random()
- El dispositivo es compatible con Y2K
Necesitamos el proyecto:
1x Microcontrolador AZ-Delivery compatible con Arduino Uno R3
2x Servo Motor, por ejemplo. AZ-Delivery Servo MG996R
1x Diodo Láser
1x 5V fuente de alimentación de potencia suficiente para Servos, láseres & amp; Uno
Y algunos rollos de cinta aislante y cinta adhesiva de doble cara.
Advertencia Láser:
El diodo láser utilizado es un láser de clase 1. Según DIN EN 60825-1, esto significa que "la radiación láser accesible es segura o que el láser está encerrado en una caja cerrada".
Sin embargo, recomiendo usar gafas protectoras. Además, los láseres en uso continuo requieren refrigeración suficiente.
Sólo tengo un MG 996R Servo, así que tomé nuestro SG90 para el eje Y. Este es mucho más pequeño, tiene engranajes de plástico y tiene mucho menos poder.
Vamos a cablear esto de la siguiente manera.:
5V 10A fuente de alimentación |
Breadboard |
+ |
+ |
- |
- |
Microcontrolador compatible con Arduino Uno R3 |
Breadboard |
VIN |
+ |
GND |
GND |
Microcontrolador compatible con Arduino Uno R3 |
|
PWM 9 |
Servo 1 Naranja |
PWM 10 |
Servo 2 Naranja |
PWM 3 |
Láser S |
Servo 1 y 2 rojo |
Breadboard + |
Servo 1 y 2 marrones |
Breadboard - |
Láser - |
Breadboard - |
Aquí hay una Foto que muestra el cableado.:
Alternativamente, lo mismo como esquema:
Ahora falta la programación.
Usaré el servo que trajo el IDE.h
Con "Servo servoX;" y "Servo servoY;" hago dos Servos llamados ServoX y servoY.
En el Setup, definiré el Pin en el que se cuelga el control del servo, en nuestro caso "servoX".attach (9); " para servoX.
Ahora podemos usar las funciones servoX.read() y servoX.write () extraiga o coloque la posición del servo.
Para que Yoshi tuviera la oportunidad de llegar al punto, lo empaqué en un bucle de While con pequeños delays. La Variable "spd" permite subir la velocidad de forma brusca.
Para el láser, primero usamos el Pin como salida por medio de "pinMode (laserpina, OUTPUT)" y a continuación lo activamos con "guirnaldas analógicas(laserpina, 40);".
Aquí el código completo:
# include <Servo.h> Servo servoX; Servo servoY; uint8_t tPosX = random(0,180); // Posición De Destino Servo X uint8_t cPosX = servoX.read(); // Posición Actual Servo X uint8_t tPosY = random(0,180); // Posición De Destino Servo Y uint8_t cPosY = servoY.read(); // Posición De Destino Servo Y uint8_t spd = 1; // Velocidad int laserpina = 3; // PWM Pin para el diodo láser void setup() { /# put your setup code here, to run once # : servoX.attach(9); // Servo X a Pin 9 servoY.attach(10); // Servo Y an Pin 10 pinMode(laserpina, Salida); write analógico(laserpina, 40); // brillo } void loop() { tPosX = random(45,135); // esto permite guardar el área entre 0 y 180 ° cPosX = servoX.leer(); // lee la posición actual tPosY = al azar(120,170); cPosY = servo.leer(); mientras que (tPosX > cPosX){ cPosX += spd; servoX.escribir(cPosX); retrasar(50); cPosX = servoX.leer(); } mientras que (tPosX < cPosX){ cPosX -= spd; servoX.escribir(cPosX); retrasar(50); cPosX = servoX.leer(); } mientras que (tPosY < cPosY){ cPosY -= spd; servo.escribir(cPosY); retrasar(50); cPosX = servo.leer(); } mientras que (tPosY > cPosY){ cPosY += spd; servo.escribir(cPosY); retrasar(50); cPosX = servo.leer(); } retrasar(500); // Para que Yoshi no se canse demasiado }
Y tenemos un éxito parcial. Un punto láser que atraviesa el área más o menos al azar.
Los primeros espectáculos con láser deben haber sido exactamente así, o al menos algo así.
Esperamos que hayas disfrutado la publicación de blog de hoy. Escriba un breve comentario si desea más contribuciones objetivas o si le gustó la publicación de hoy.