Trasteando con Arduino: Motor Stepper + Distanciómetro

DSC_0725 Siguen las pruebas con Arduino, y algo que quería hacer para hoy (el rato suelto que he tenido esta tarde), era unir los dos tutoriales que había visto de:

  • Motor Stepper: un motor pequeño que puede controlar por pasos, no es rápido pero es preciso a la hora de sacar ángulos, o decirle que avance tantos pasos.
  • Distanciómetro: permite medir distancias, pone que hasta 5 metros (precisión ya es otra cosa).

El objetivo era unirlos para hacer un escaner. Que el motor vaya girando desde un punto y midiendo ángulos y distancias, hasta que complete la vuelta entera. Y por ahora parece que algo funciona.

Las bases son: va girando sobre si mismo, espera un segundo, toma angulo y distancia, espera otro segundo, y se repite el proceso. Creo que son 2000 steps una vuelta entera del motor, pensando en ángulos topográficos que se miden sobre 400º el circulo entero, cada paso que da  sería de 5 steps del motor.

Creo que el motor ahora lo tengo trabajando por debajo de su potencia.. mañana probare en ponerle alimentación externa y buscarle una base más firme.

DSC_0727 DSC_0724

 

Código:

#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 2000

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper myStepper(STEPS, 8, 9, 10, 11);

//Ultrasonic
#include <Ultrasonic.h>

Ultrasonic ultrasonic(7,6, 300000); // (Trig PIN,Echo PIN)

int distancia;
// the previous reading from the analog input
int stepCount = 0;
int angle = 0; //400 es 2000, 5steps por grado de 400
void setup() {
// set the speed of the motor to 30 RPMs
myStepper.setSpeed(300);
Serial.begin(9600);
}

void loop() {
// move a number of steps equal to the change in the
// sensor reading
myStepper.step(5);
Serial.print("steps:");
Serial.print(stepCount);
stepCount++;
delay(1000);
distancia=ultrasonic.Ranging(CM);
Serial.print(", dist: ");
Serial.print(distancia);
Serial.println(" cm");
delay(1000);
}

 

¡Tiembla Leica! :D

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Blog de WordPress.com.

Subir ↑

A %d blogueros les gusta esto: