Advertisement
Guest User

Untitled

a guest
Aug 5th, 2015
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. #define START_CMD_CHAR '*'
  2. #define END_CMD_CHAR '#'
  3. DIV_CMD_CHAR #define '|'
  4. #define CMD_DIGITALWRITE 10
  5. #define CMD_ANALOGWRITE 11
  6. #define CMD_TEXT 12
  7. #define CMD_READ_ARDUDROID 13
  8. #define MAX_COMMAND 20 // max comando código numérico. utilizado para a verificação de erros.
  9. #define MIN_COMMAND 10 // comando código mínimo número. utilizado para a verificação de erros.
  10. #define IN_STRING_LENGHT 40
  11. #define MAX_ANALOGWRITE 255
  12. #define PIN_HIGH 3
  13. #define PIN_LOW 2
  14.  
  15. Corda Intext;
  16.  
  17. void setup () {
  18. Serial.begin (9600);
  19. Serial.println ("Alpha ArduDroid 0,12 por TechBitar (2013)");
  20. Serial.flush ();
  21. }
  22.  
  23. void loop ()
  24. {
  25. Serial.flush ();
  26. int ard_command = 0;
  27. int pin_num = 0;
  28. int pin_value = 0;
  29.  
  30. Char get_char = ''; // Lê série
  31.  
  32. // Esperar por dados de entrada
  33. if (Serial.available () <1) retorno; // Se de série vazia, retornar ao loop ().
  34.  
  35. // Analisar recebida bandeira de início comando
  36. get_char Serial.read = ();
  37. if (get_char = START_CMD_CHAR!) return; // Se nenhum comando bandeira de início, voltar a loop ().
  38.  
  39. // Analisar tipo de comando de entrada
  40. ard_command Serial.parseInt = (); // Lê o comando
  41.  
  42. // Analisar recebida pin # e valor
  43. pin_num Serial.parseInt = (); // Lê o pino
  44. pin_value Serial.parseInt = (); // Lê o valor
  45.  
  46. // 1) Obter texto COMANDO DE ARDUDROID
  47. se (ard_command == CMD_TEXT) {
  48. Intext = ""; // Limpa variável para nova entrada
  49. while (Serial.available ()) {
  50. Char c = Serial.read (); // Recebe um byte de buffer serial
  51. atraso (5);
  52. if (c == END_CMD_CHAR) {// se a seqüência completa foi lido
  53. // Adicionar seu código aqui
  54. parar;
  55. }
  56. outro {
  57. if (c! = DIV_CMD_CHAR) {
  58. Intext + = c;
  59. atraso (5);
  60. }
  61. }
  62. }
  63. }
  64.  
  65. // 2) Obter digitalWrite DADOS DE ARDUDROID
  66. se (ard_command == CMD_DIGITALWRITE) {
  67. if (pin_value == PIN_LOW) pin_value = LOW;
  68. else if (pin_value == PIN_HIGH) pin_value = alta;
  69. else return; // Erro no valor do pino. Retorna.
  70. set_digitalwrite (pin_num, pin_value); // Descomente essa função se você deseja usar
  71. Retorna; // Retorna a partir de início de loop ()
  72. }
  73.  
  74. // 3) OBTER DADOS DO analogWrite ARDUDROID
  75. se (ard_command == CMD_ANALOGWRITE) {
  76. analogWrite (pin_num, pin_value);
  77. // Adicionar seu código aqui
  78. Retorna; // Feito. voltar ao loop ();
  79. }
  80.  
  81. // 4) enviar dados para ARDUDROID
  82. se (ard_command == CMD_READ_ARDUDROID) {
  83. // Carvão send_to_android [] = "Coloque seu texto aqui." ;
  84. // Serial.println (send_to_android); // Exemplo: Envio de texto
  85. Serial.print ("Analog = 0");
  86. Serial.println (analogRead (A0)); // Exemplo: Ler e enviar Analog valor pin ao Arduino
  87. Retorna; // Feito. voltar ao loop ();
  88. }
  89. }
  90.  
  91. // 2a) selecionar o pino # solicitada para a ação digitalWrite
  92. set_digitalwrite void (int pin_num, int pin_value)
  93. {
  94. switch (pin_num) {
  95. Caso 13:
  96. pinMode (13, OUTPUT);
  97. digitalWrite (13, pin_value);
  98. // Adicionar seu código aqui
  99. parar;
  100. Caso 12:
  101. pinMode (12, OUTPUT);
  102. digitalWrite (12, pin_value);
  103. // Adicionar seu código aqui
  104. parar;
  105. Caso 11:
  106. pinMode (11, OUTPUT);
  107. digitalWrite (11, pin_value);
  108. // Adicionar seu código aqui
  109. parar;
  110. Caso 10:
  111. pinMode (10, OUTPUT);
  112. digitalWrite (10, pin_value);
  113. // Adicionar seu código aqui
  114. parar;
  115. Caso 9:
  116. pinMode (9, OUTPUT);
  117. digitalWrite (9, pin_value);
  118. // Adicionar seu código aqui
  119. parar;
  120. Caso 8:
  121. pinMode (8, OUTPUT);
  122. digitalWrite (8, pin_value);
  123. // Adicionar seu código aqui
  124. parar;
  125. Caso 7:
  126. pinMode (7, OUTPUT);
  127. digitalWrite (7, pin_value);
  128. // Adicionar seu código aqui
  129. parar;
  130. Caso 6:
  131. pinMode (6, OUTPUT);
  132. digitalWrite (6, pin_value);
  133. // Adicionar seu código aqui
  134. parar;
  135. Caso 5:
  136. pinMode (5, OUTPUT);
  137. digitalWrite (5, pin_value);
  138. // Adicionar seu código aqui
  139. parar;
  140. case 4:
  141. pinMode (4, OUTPUT);
  142. digitalWrite (4, pin_value);
  143. // Adicionar seu código aqui
  144. parar;
  145. case 3:
  146. pinMode (3, OUTPUT);
  147. digitalWrite (3, pin_value);
  148. // Adicionar seu código aqui
  149. parar;
  150. case 2:
  151. pinMode (2, OUTPUT);
  152. digitalWrite (2, pin_value);
  153. // Adicionar seu código aqui
  154. parar;
  155. // Padrão:
  156. // Se nada mais jogos, faça o padrão
  157. // Default é opcional
  158. }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement