Aprenda los conceptos básicos de los servomotores y las entradas analógicas para hacer esta catapulta de bricolaje y varios otros proyectos.

Materiales

1 Arduino Uno con cable USB
1 Computadora con Arduino IDE
1 Servo micro
1 Resistencia sensible a la fuerza (FSR)
1 Pulsadores
2 Resistencias de 10k
1 Protoboard 1 Catapulta

Este proyecto le enseñará los conceptos básicos de los servomotores y las entradas analógicas.

¿Cómo funciona la catapulta Arduino?

Antes de comenzar con nuestra catapulta servo arduino, cuando use un motor, siempre use una fuente externa para alimentar su Arduino, ¡no extraiga energía de una conexión USB! Nuestro Cat-a-pult usa un Arduino Uno con servocontrol y su entrada analógica para leer el valor FSR que controla el servo.

Cuando decimos que un servo comienza en «el punto cero», nos referimos a la posición neutral del servo. Si observa el diagrama de abajo, si se aplica un ancho de pulso de 1.5ms a la línea de control, el servo se ubicará en su posición neutral, que en este caso es de 90º. Cuando el ancho del pulso aumenta o disminuye, el servo se mueve hacia 180º (aumento) o 0º (disminución). Si elige describir la posición neutral como 0º, el rango angular de su servo sería de -90º a + 90º. Nuestro servo debería moverse 90º (dije 110º en el video, ¡uy!)

Inicializamos nuestro monitor en serie para que podamos leer los valores de nuestro FSR y ajustar nuestro umbral de gatito en consecuencia. Una vez que estemos satisfechos con nuestro valor de umbral, podemos girar el servo para bloquear el CAT-apult presionando nuestro botón. Cuando el gato pone su peso en el FSR, el servo vuelve a la posición neutral y lanza comida para gatos a la cara del felino.

Esquemático

El código

En teoría, su código de catapulta de servo Arduino hará lo siguiente:

  • Lea la entrada analógica y compárela con su rango de umbral
  • Lea la entrada del botón y mueva su servo en consecuencia
  • Mueva el servo a la posición neutral cuando se alcance el valor de umbral
#include <Servo.h>

const int buttonPin = 2;  //button used to move servo to lock position, attached to digital input 2
int pressurePin = 0; // pressure sensor to trigger release of catapult, attached to analog input 0
int buttonState = 0;  //initial state of button
int threshold=70; //threshold value of sensor at which the catapult launches (change this to fit your needs)

Servo myservo;  // create a servo object to control a servo
int position = 0; //servo starts at neutral position

void setup() {
Serial.begin(9600); //display serial input (reads pressure sensor value - adjust threshold accordingly)
pinMode(buttonPin, INPUT); //make the button pin an input pin
myservo.attach(9); //servo attached to pin 9 to hold/fire catapult
}

void loop() {
buttonState = digitalRead(buttonPin); //read value of button
pressurePin=analogRead(pressurePin); //read value of pressure sensor

if(buttonState == HIGH) { //if button pressed...
myservo.write(90); //...move servo 90 degrees (change this number to fit your personal use)
}

if(pressurePin > threshold) { //if pressure sensor value is above threshold...
myservo.write(0); //...move servo back to neutral position 
}
}

Ahora está listo para la acción 

Una vez que haya realizado las conexiones e implementado el código, coloque estratégicamente su catapulta servo arduino para que su gato no vea lo que viene. Ahora puede sentarse y disfrutar de su nuevo conocimiento, gato enojado y piso desordenado.

https://maker.pro/