boa tarde galera , estou tentando automatizar minha casa e estou usando um modulo hc06 e o app ardudroid , o problema é quando aciono uma porta digital do arduino , não consigo acionar uma segunda porta porque fica travando tentei usar outro app mas não (arduino bluethooth) este segundo consigo parear mas não funciona vou deixar o code que estou usando com o primeiro app
#define START_CMD_CHAR '*'
#define END_CMD_CHAR '#'
DIV_CMD_CHAR #define '|'
#define CMD_DIGITALWRITE 10
#define CMD_ANALOGWRITE 11
#define CMD_TEXT 12
#define CMD_READ_ARDUDROID 13
#define MAX_COMMAND 20 // max comando código numérico. utilizado para a verificação de erros.
#define MIN_COMMAND 10 // comando código mínimo número. utilizado para a verificação de erros.
#define IN_STRING_LENGHT 40
#define MAX_ANALOGWRITE 255
#define PIN_HIGH 3
#define PIN_LOW 2
Corda Intext;
void setup () {
Serial.begin (9600);
Serial.println ("Alpha ArduDroid 0,12 por TechBitar (2013)");
Serial.flush ();
}
void loop ()
{
Serial.flush ();
int ard_command = 0;
int pin_num = 0;
int pin_value = 0;
Char get_char = ''; // Lê série
// Esperar por dados de entrada
if (Serial.available () <1) retorno; // Se de série vazia, retornar ao loop ().
// Analisar recebida bandeira de início comando
get_char Serial.read = ();
if (get_char = START_CMD_CHAR!) return; // Se nenhum comando bandeira de início, voltar a loop ().
// Analisar tipo de comando de entrada
ard_command Serial.parseInt = (); // Lê o comando
// Analisar recebida pin # e valor
pin_num Serial.parseInt = (); // Lê o pino
pin_value Serial.parseInt = (); // Lê o valor
// 1) Obter texto COMANDO DE ARDUDROID
se (ard_command == CMD_TEXT) {
Intext = ""; // Limpa variável para nova entrada
while (Serial.available ()) {
Char c = Serial.read (); // Recebe um byte de buffer serial
atraso (5);
if (c == END_CMD_CHAR) {// se a seqüência completa foi lido
// Adicionar seu código aqui
parar;
}
outro {
if (c! = DIV_CMD_CHAR) {
Intext + = c;
atraso (5);
}
}
}
}
// 2) Obter digitalWrite DADOS DE ARDUDROID
se (ard_command == CMD_DIGITALWRITE) {
if (pin_value == PIN_LOW) pin_value = LOW;
else if (pin_value == PIN_HIGH) pin_value = alta;
else return; // Erro no valor do pino. Retorna.
set_digitalwrite (pin_num, pin_value); // Descomente essa função se você deseja usar
Retorna; // Retorna a partir de início de loop ()
}
// 3) OBTER DADOS DO analogWrite ARDUDROID
se (ard_command == CMD_ANALOGWRITE) {
analogWrite (pin_num, pin_value);
// Adicionar seu código aqui
Retorna; // Feito. voltar ao loop ();
}
// 4) enviar dados para ARDUDROID
se (ard_command == CMD_READ_ARDUDROID) {
// Carvão send_to_android [] = "Coloque seu texto aqui." ;
// Serial.println (send_to_android); // Exemplo: Envio de texto
Serial.print ("Analog = 0");
Serial.println (analogRead (A0)); // Exemplo: Ler e enviar Analog valor pin ao Arduino
Retorna; // Feito. voltar ao loop ();
}
}
// 2a) selecionar o pino # solicitada para a ação digitalWrite
set_digitalwrite void (int pin_num, int pin_value)
{
switch (pin_num) {
Caso 13:
pinMode (13, OUTPUT);
digitalWrite (13, pin_value);
// Adicionar seu código aqui
parar;
Caso 12:
pinMode (12, OUTPUT);
digitalWrite (12, pin_value);
// Adicionar seu código aqui
parar;
Caso 11:
pinMode (11, OUTPUT);
digitalWrite (11, pin_value);
// Adicionar seu código aqui
parar;
Caso 10:
pinMode (10, OUTPUT);
digitalWrite (10, pin_value);
// Adicionar seu código aqui
parar;
Caso 9:
pinMode (9, OUTPUT);
digitalWrite (9, pin_value);
// Adicionar seu código aqui
parar;
Caso 8:
pinMode (8, OUTPUT);
digitalWrite (8, pin_value);
// Adicionar seu código aqui
parar;
Caso 7:
pinMode (7, OUTPUT);
digitalWrite (7, pin_value);
// Adicionar seu código aqui
parar;
Caso 6:
pinMode (6, OUTPUT);
digitalWrite (6, pin_value);
// Adicionar seu código aqui
parar;
Caso 5:
pinMode (5, OUTPUT);
digitalWrite (5, pin_value);
// Adicionar seu código aqui
parar;
case 4:
pinMode (4, OUTPUT);
digitalWrite (4, pin_value);
// Adicionar seu código aqui
parar;
case 3:
pinMode (3, OUTPUT);
digitalWrite (3, pin_value);
// Adicionar seu código aqui
parar;
case 2:
pinMode (2, OUTPUT);
digitalWrite (2, pin_value);
// Adicionar seu código aqui
parar;
// Padrão:
// Se nada mais jogos, faça o padrão
// Default é opcional
}
}
Tags:
segue link do code no pastein http://pastebin.com/YbGxVj9B
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por