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
  }
}

Exibições: 286

Responder esta

Respostas a este tópico

segue link do code no pastein                         http://pastebin.com/YbGxVj9B

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço