Ayuda con proyecto Arduino

saulh

Bovino adolescente
#1
Hola, ya llevo algun tiempo con un proyecto que quiero realizar.

Basicamente es controlar un servomotor con arduino, en movimiento y con algunos retrasos o temporizadores.

El problema es que todavia no se muy bien el lenguaje de programacion para llevarlo acabo.

Si alguien pudiera echarme la mano estarua muy agradecido
 

saulh

Bovino adolescente
#4
En esencia si se lo que quiero, pero no se como llevarlo acabo.

Necesito que arduino controle (mas bien que me deje controlar) la posicion del servo, tiene que ser fija osea poder mover el servo por medio de botones, uno hacia arriba y otro hacia abajo.

Despues debe tener un retraso de algunos segundos antes de ejecutar la accion anterior. Tambien controlada por otros botones.

Por ultimo debe tener un temporizador que regrese el servo a la posicion inicial o 0 despues de un tiempo determinado, tambien configurable.
 

VBmaniaco

Bovino maduro
#6
Arduino traé dos ejemplos muy sencillos para usar servomotores es cuestión de que los revises en el menú files vas a donde dice examples y luego en servo

encontrarás éste código:

// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

// NOTE: UART will be disabled when servo is attached to pin 0 or 1.


#include <Servo.h>


Servo myservo; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}

éste ejemplo como dice al principio tiene un servomotor conectado al pin 9 (señal de posición), y tiene un potenciometro conectado al pin 0 conforme muevas el potenciometro el servo se movera a la posición actual.

ahora bien tú dices que quieres que tu servo se mueva presionando un botón puedes omitir lo de val =analogRead(portpin); y lo de val=map... al igual que la declaración que hay al principio para hacer entrada análoga el pin, una vez hecho eso, conectas dos botonoes (ve el ejemplo de arduino) y haces una condición que si se presiona el boton 1 val se incremente uno o lo que quieras, si se presiona botón 2 val se decremente y puedes poner otra comparación si boton1 y botón 2 no se han presionado incrementas una variable y cuando esa variable llegue no sé digamos a 3000 entonces val sea = 0 y te lo mande a la posición inicial.

a grandes razgos es lo que tendías que hacer, espero que esto te pueda ayudar para que tú sólo puedas desarrollar tu aplicación, si tienes más dudas y están en mis posibilidades resolvertelas aquí andamos, pero como se dice en el corral y es como debe de ser, no se hacen tareas ni proyectos, sólo se orienta para que tú puedas resolverlo por tu cuenta y después si quieres compartirnoslo se te agradece, saludos y excelente día.
 
Arriba