Hola a todos...
Público esto y ojala alguien pueda ayudarme
Trato de hacer un proyecto que consiste en una mano "robotica" con un arduino servomotores a través de bluetooth. ..
El problema esta en el codigo de la programación del arduino...
He realizado de todo.... pero no me funciona....
Este es el siguiente codigo
el circuito esta de la siguiente forma
y la aplicacion envia los siguientes comandos
Público esto y ojala alguien pueda ayudarme
Trato de hacer un proyecto que consiste en una mano "robotica" con un arduino servomotores a través de bluetooth. ..
El problema esta en el codigo de la programación del arduino...
He realizado de todo.... pero no me funciona....
Este es el siguiente codigo
Código:
#include <Servo.h>
#define pinServo4 9
#define pinServo5 10
Servo Dpulgar;
Servo Dindice;
Servo Dcorazon;
Servo Danular;
Servo Dmenique;
char comando;
int posicion;
void setup () {
Dpulgar.attach(3);
Dindice.attach(5);
Dcorazon.attach(6);
Danular.attach(9);
Dmenique.attach(10);
Dpulgar.write(0);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(0);
Dmenique.write(0);
Serial.begin(9600);
}
void loop() {
leer_Dato();
// comandos de los dedos... primera pagina
switch (comando) {
case 'cp':
Dpulgar.write(posicion);
comando = ' ';
break;
case 'ap':
Dpulgar.write(posicion);
comando = ' ';
break;
case 'ci':
Dindice.write(posicion);
comando = ' ';
break;
case 'ai':
Dindice.write(posicion);
comando = ' ';
break;
case 'cc':
Dcorazon.write(posicion);
comando = ' ';
break;
case 'ac':
Dcorazon.write(posicion);
comando = ' ';
break;
case 'ca':
Danular.write(posicion);
comando = ' ';
break;
case 'aa':
Danular.write(posicion);
comando = ' ';
break;
case 'cm':
Dmenique.write(180);
comando = ' ';
break;
case 'am':
Dmenique.write(0);
comando = ' ';
break;
/////////////////////////////////////////////////////////
// comandos de las señales segunda pagina y por voz
case 'cme':
Dpulgar.write(180);
Dindice.write(180);
Dcorazon.write(180);
Danular.write(180);
Dmenique.write(180);
comando = ' ';
break;
case 'ame':
Dpulgar.write(0);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(0);
Dmenique.write(0);
comando = ' ';
break;
case 'mp':
Dpulgar.write(180);
delay(10000);
Dpulgar.write(0);
comando = ' ';
break;
case 'mi':
Dindice.write(180);
delay(10000);
Dindice.write(0);
comando = ' ';
break;
case 'mc':
Dcorazon.write(180);
delay(10000);
Dcorazon.write(0);
comando = ' ';
break;
case 'ma':
Danular.write(180);
delay(10000);
Danular.write(0);
comando = ' ';
break;
case 'mm':
Dmenique.write(180);
delay(10000);
Dmenique.write(0);
comando = ' ';
break;
//////////////////////////////////////////
// comanods por voz solo numeros
case '1':
Dpulgar.write(180);
Dindice.write(0);
Dcorazon.write(180);
Danular.write(180);
Dmenique.write(180);
comando = ' ';
break;
case '2':
Dpulgar.write(180);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(180);
Dmenique.write(180);
comando = ' ';
break;
case '3':
Dpulgar.write(180);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(0);
Dmenique.write(180);
comando = ' ';
break;
case '4':
Dpulgar.write(180);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(0);
Dmenique.write(0);
comando = ' ';
break;
case '5':
Dpulgar.write(0);
Dindice.write(0);
Dcorazon.write(0);
Danular.write(0);
Dmenique.write(0);
comando = ' ';
break;
}
}
void leer_Dato() {
if (Serial.available() > 0) {
comando = Serial.read();
posicion = Serial.parseInt();
}
Serial.flush();
}
el circuito esta de la siguiente forma
y la aplicacion envia los siguientes comandos
Adjuntos
Última edición por un moderador: