El caso es que quiero hacer lo más simple con un Arduino Uno y dos motores encoder. Tal simple como mover los brazos y las piernas de un Papa Noel artesano para colocar en el balcón.
He creado un programa sencillo, para que primero se lleva un encoder y luego el otro. Pero el problema es que al cabo de unos minutos el Arduino empieza a reiniciarse. Si solo le dejo un encoder, no hay problema pero con los dos es como que le falta chicha.
Le he puesto un adaptador de 12v con 1,5a, le he metido paradas entre movimiento y movimiento por si esto afecta a la placa, pero nada. No hay manera de dejar los dos funcionando.
El programa es este (es el primero que hago). A ver si hay algo que se me escape.
Muchas gracias!!
Código: Seleccionar todo
#include <Servo.h>
// Declaramos la variable para controlar el servo
Servo servoMotor;
Servo servoMotor2;
void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);
// Iniciamos el servo para que empiece a trabajar con el pin 9
servoMotor.attach(10);
servoMotor2.attach(11);
servoMotor.write(80);
servoMotor2.write(80);
}
void loop() {
mecedor();
mecedor();
mecedor();
mecedor();
mecedor();
escalador();
}
void mecedor() {
// Desplazamos a la posici贸n 90潞
servoMotor.write(80);
// Esperamos 1 segundo
delay(1000);
// Desplazamos a la posici贸n 0潞
servoMotor.write(0);
// Esperamos 1 segundo
delay(700);
}
void escalador() {
// Desplazamos a la posici贸n 0潞
servoMotor2.write(40);
// Desplazamos a la posici贸n 90潞
servoMotor.write(80);
// Esperamos 1 segundo
delay(900);
// Desplazamos a la posici贸n 90潞
servoMotor2.write(80);
// Desplazamos a la posici贸n 0潞
servoMotor.write(0);
// Esperamos 1 segundo
delay(800);
// Desplazamos a la posici贸n 180潞
servoMotor2.write(20);
// Desplazamos a la posici贸n 90潞
servoMotor.write(80);
// Esperamos 1 segundo
delay(800);
// Desplazamos a la posici贸n 180潞
servoMotor2.write(70);
// Desplazamos a la posici贸n 0潞
servoMotor.write(0);
// Esperamos 1 segundo
delay(800);
// Desplazamos a la posici贸n 180潞
servoMotor2.write(0);
// Desplazamos a la posici贸n 90潞
servoMotor.write(80);
// Esperamos 1 segundo
delay(800);
// Desplazamos a la posici贸n 180潞
servoMotor2.write(80);
servoMotor.write(0);
// Esperamos 1 segundo
}