Un saludo a todos quisiera que me ayuden por favor tengo este código soy principiante en esto de arduino, el código actual es simple pero el problema es que al aplastar una de las letras que da la orden como alzar el brazo de sube de corrido y lo que deseo es subirlo de poco en poco, con una de las 3 opciones: Que mientras se tenga aplastado la tecla lo haga, lo haga por tiempo es decir 1 segundo y pare o que lo haga por angulos.
Les agradeciria mucho me ayuden con esto por favor
Este es el código actual:
#include <SoftwareSerial.h>
int motor0Pin10 = 13;
int motor1Pin7 = 7; // Pines del Motor
int motor1Pin6 = 6;
int motor2Pin5 = 5;
int motor2Pin4 = 4;
int motor3Pin3 = 3;
int motor3Pin2 = 2;
int motor4Pin1 = 9;
int motor4Pin0 = 8;
int estado=0;
void setup() {
Serial.begin(9600);
pinMode(motor0Pin10, OUTPUT);
pinMode(motor1Pin7, OUTPUT);
pinMode(motor1Pin6, OUTPUT);
pinMode(motor2Pin5, OUTPUT); // Configuración de los Pines como salida digital
pinMode(motor2Pin4, OUTPUT);
pinMode(motor3Pin3, OUTPUT);
pinMode(motor3Pin2, OUTPUT);
pinMode(motor4Pin1, OUTPUT);
pinMode(motor4Pin0, OUTPUT);
}
void loop() {
if (Serial.available()>0){
estado = Serial.read();
}
if (estado =='0'){
digitalWrite(motor0Pin10, LOW);
digitalWrite(motor1Pin7, LOW);
digitalWrite(motor1Pin6, LOW);
digitalWrite(motor2Pin5, LOW);
digitalWrite(motor2Pin4, LOW);
digitalWrite(motor3Pin3, LOW);
digitalWrite(motor3Pin2, LOW);
digitalWrite(motor4Pin1, LOW);
digitalWrite(motor4Pin0, LOW);
delay(10000);
} else
if (estado =='a'){ //baja
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor1Pin7, HIGH);
digitalWrite(motor1Pin6, LOW);
delay(2);
} else
if (estado =='b'){ //arriba
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor1Pin7, LOW);
digitalWrite(motor1Pin6, HIGH);
delay(2);
} else
if (estado =='c'){ //derecha
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor2Pin5, LOW);
digitalWrite(motor2Pin4, HIGH);
delay(2);
} else
if (estado =='d'){ //izquierda
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor2Pin5, HIGH);
digitalWrite(motor2Pin4, LOW);
delay(2);
} else
if (estado =='e'){ //cierra la pinza
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor3Pin3, LOW);
digitalWrite(motor3Pin2, HIGH);
delay(2);
} else
if (estado =='f'){ //abre la pinza
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor3Pin3, HIGH);
digitalWrite(motor3Pin2, LOW);
delay(2);
} else
if (estado =='g'){ //muñeca baja
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor4Pin1, LOW);
digitalWrite(motor4Pin0, HIGH);
delay(2);
} else
if (estado =='h'){ //muñeca arriba
digitalWrite(motor0Pin10,HIGH);
digitalWrite(motor4Pin1, HIGH);
digitalWrite(motor4Pin0, LOW);
delay(2);
}
}
Gracias amigos!!