Hola que tal, pues ya estoy algo deseperadoy es que no logro hacer funcionar correctamente a la placa arduino mini leonardo.
Lo que estoy haciendo es que al recibir de un BTHC05 un dato reaccione de cierta forma y lo logro, el gran peroooooo es que cuendo recien programo mi placa sin desconectar al puerto serie todo bien, despues cuando simulo la perdida de orriente y vuelvo a conectar al puerto serie, la placa ya no recibe del BTHC05 nada de nada y pues obvio todo se vienen abajo.
Les paso mi código, espero puedan ayudarme por si les ha pasado o una solución.
#include <Keyboard.h>
#include <SoftwareSerial.h>
SoftwareSerial BT1(8, 9); // RX | TX
void setup()
{
//Serial.begin(9600);
//Serial.println("Iniciando!");
//Keyboard.begin();
BT1.begin(9600);
}
void loop()
{
if (BT1.available()) {
char dato= BT1.read();
if (dato=='A') {
Keyboard.begin();
Serial.println("Iniciando secuencia de descarga");
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('q');
Keyboard.releaseAll();
//delay(20000);
//Keyboard.press(KEY_LEFT_ARROW);
//Keyboard.releaseAll();
//delay(20000);
//Keyboard.press(KEY_RETURN);
//Keyboard.releaseAll();
delay(1400);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('o');
Keyboard.press('d');
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_LEFT_ARROW);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(2000);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(2000);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
delay(100);
Keyboard.releaseAll();
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_RIGHT_SHIFT);
Keyboard.press(KEY_F100);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_DOWN_ARROW);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_DOWN_ARROW);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_DOWN_ARROW);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('a');
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('v');
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('r');
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('a');
Keyboard.releaseAll();
delay(300);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('v');
Keyboard.releaseAll();
delay(2000);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(300);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(200);
//Keyboard.press(KEY_LEFT_ALT);
//Keyboard.press(KEY_F4);
//Keyboard.releaseAll();
//delay(200);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_F4);
Keyboard.releaseAll();
delay(200);
Keyboard.end();
}
if (dato=='B') {
Keyboard.begin();
Serial.println("Iniciando secuencia de programacion");
delay(2000);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('q');
Keyboard.releaseAll();
//delay(20000);
//Keyboard.press(KEY_LEFT_ARROW);
//Keyboard.releaseAll();
//delay(20000);
//Keyboard.press(KEY_RETURN);
//Keyboard.releaseAll();
delay(7000);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(200);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
delay(100);
Keyboard.releaseAll();
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(1000 );
Keyboard.press(KEY_BACKSPACE);
delay(100);
Keyboard.releaseAll();
Keyboard.print("REFRIGERADO MXN-1005 (3100517)");
delay(200);
Keyboard.end();
Keyboard.press(KEY_TAB);
delay(100);
Keyboard.releaseAll();
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.print("1");
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.print("7");
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.print("0");
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(200);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
delay(100);
Keyboard.write(' ');
Keyboard.releaseAll();
delay(7000);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_F4);
Keyboard.releaseAll();
delay(200);
Keyboard.end();
}
//delay(6000);
//Keyboard.print("\n");
}
Serial.println("Esperando");
}