Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement