daily pastebin goal
46%
SHARE
TWEET

Tanio arduino code

pkaislan Sep 12th, 2017 110 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Truck -  a Car system ------
  2.  * v = 1.0 (Teste 1 Beta)
  3.  * autor = Aislan Silva
  4.  * Descricao = Primeira versao do programa, se tem como funcao a automacao de um Palio 1998, de minha propriedade,
  5.  * nele, nesta primeira versao sera usado uma automation board para o controle de ignicao,sistema de som e farol de milha.
  6.   */
  7.  
  8. int relechave = 3; // rele 2 da placa aonde sera conectada a chave, saida digital 3
  9. int relepartida = 5; // rele 3 da placa conectada ao motor de partida do carro, saida digital 4
  10. int relepotencia = 2; // rele 1 da placa, farol de milha, saida digital 2
  11.  
  12.  
  13. int sensorfreiodemao = 8;
  14. int estadosensorfreiodemao;
  15.  
  16.  
  17. int ligarsom = 10; // botao de ligar o aparelho de som
  18. int voltsom = A2; // sensor de voltagem ligado ao pino analogico  2 do arduino
  19.  
  20. char comando;
  21.  
  22.  
  23.  
  24.  
  25. void setup()
  26. {
  27.  
  28.  
  29. // configura reles
  30.  
  31.  pinMode(relechave, OUTPUT); // rele 2 configurado como saida
  32.  pinMode(relepartida, OUTPUT); // rele 3 configurado como saida
  33.  pinMode(relepotencia, OUTPUT); // rele 1 configurado como saida
  34.  
  35.  
  36.  
  37.  pinMode(ligarsom, OUTPUT); // saida digital 8 configurado para ligar o aparelho do som
  38.  
  39.  pinMode(voltsom, INPUT); // entrada analogica a1 configurado para verificar o estad do aparelho de som
  40.  
  41.  
  42.  pinMode(sensorfreiodemao, INPUT);  
  43.    
  44.   Serial.begin(9600); // inicia configuracao da serialelay(2000);
  45. }
  46.  
  47. void loop()
  48. {
  49.  
  50. if (Serial.available() > 0){
  51.  
  52. comando = Serial.read();
  53. estadosensorfreiodemao = digitalRead(sensorfreiodemao);
  54.  
  55.  switch(comando)
  56.  {
  57.  
  58.  
  59.  case 1: //caracter a que pergunta se a conexao com o arduino
  60.    
  61.    delay(1000);
  62.    Serial.write('a');
  63.    break;
  64.  
  65.  
  66.  
  67.   case 2: // recebe o comando 2 para ligar a chave
  68.  
  69. if(estadosensorfreiodemao == HIGH){
  70.   delay(1000);
  71.   Serial.write('x'); // caracter que informa ao app que o freio de estacionamente nao esta acionado
  72. }
  73.  else{  
  74.   if (digitalRead(relechave) == LOW )
  75.   {
  76.     while (digitalRead(relechave) == LOW )
  77.     {
  78.         digitalWrite(relechave, HIGH);
  79.         delay(1000);
  80.         if (digitalRead(relechave) == HIGH)
  81.         {
  82.           delay(1000);
  83.           Serial.write('b'); //caracter que indica que a chave ligou
  84.          
  85.         }
  86.        else
  87.        {
  88.         delay(1000);
  89.         Serial.write('d'); //indica que a chave nao ligou com a tentativa de ligamento, envida o carcter d ao programa
  90.      }
  91.     }
  92.   }
  93.  
  94.   else { // indica que a chave ja esta ligada e envia o caracter c
  95.   delay(1000);
  96.   Serial.write('c');
  97.   }
  98.  }
  99.    break;
  100.  
  101.  
  102.  
  103.   case 3: // recebe do java o comando 3 para desligar a chave
  104.   if (digitalRead(relechave) == HIGH)
  105.   {
  106.     while (digitalRead(relechave) == HIGH )
  107.     {
  108.         digitalWrite(relechave, LOW);
  109.         delay(1000);
  110.         if (digitalRead(relechave) == LOW)
  111.         {
  112.           delay(1000);
  113.           Serial.write('e');
  114.          
  115.         }
  116.        else
  117.        {
  118.         Serial.write('f'); // caracter que indicia que houve algum probllema e a tentativa de deslligar o rele nao concretizou
  119.        
  120.        }
  121.     }
  122.  
  123.  }  
  124.   else {
  125.     delay(1000);
  126.    Serial.write('g');
  127.   }
  128.  break;  
  129.  
  130.  
  131.  
  132.  
  133.   case 4: //comando para ligar a partida
  134.    if (digitalRead(relechave) == HIGH && digitalRead(relepartida) == LOW )
  135.   {
  136.  
  137.             Serial.write('h'); //informa o app que a partida foi recebida
  138.  
  139.         digitalWrite(relepartida, HIGH);
  140.         delay(1000);
  141.         digitalWrite(relepartida, LOW);
  142.         Serial.write('y');
  143.        
  144.        
  145.   }
  146.   else if(digitalRead(relechave) == LOW){
  147.     delay(1000);
  148.     Serial.write('i'); //nao e possivel dar partida chave desligada!
  149.   }
  150.  break;
  151.  
  152.  
  153.  
  154.   case 5: //caracter recebido para acionar a potencia
  155.        if (digitalRead(relepotencia) == LOW)
  156.   {
  157.     while (digitalRead(relepotencia) == LOW )
  158.     {
  159.         digitalWrite(relepotencia, HIGH);
  160.         delay(1000);
  161.         if (digitalRead(relepotencia) == HIGH)
  162.         {
  163.           Serial.write('j'); // informa ao app que a potencia ligou
  164.          
  165.         }
  166.        else
  167.        {
  168.         Serial.write('k'); //a algum problema a potencia nao ligou
  169.        
  170.        }
  171.     }
  172.   }
  173.   else
  174.   {
  175.     delay(1000);
  176.     Serial.write('s'); //a potenciao ja esta ligada
  177.   }
  178.  break;
  179.  
  180.  
  181. case 6: //caracter recebido do java para desligar a potencia
  182.   if (digitalRead(relepotencia) == HIGH)
  183.   {
  184.     while (digitalRead(relepotencia) == HIGH )
  185.     {
  186.         digitalWrite(relepotencia, LOW);
  187.         delay(1000);
  188.         if (digitalRead(relepotencia) == LOW)
  189.         {
  190.           Serial.write('o'); //informa ao java que a potencia desligou
  191.          
  192.         }
  193.        else
  194.        {
  195.         Serial.write('m'); //informa ao java que a potencia ainda esta ligada!
  196.        
  197.        
  198.        }
  199.     }
  200.   }
  201.  else {
  202.   delay(1000);
  203.   Serial.write('p'); //informa que a potencia ja foi desligada
  204.  }
  205.  break;
  206.  
  207.  
  208. /////////////////////// controle ligar som
  209.  
  210.  
  211. case 7:
  212.   if (analogRead(voltsom) < 500)
  213.   {
  214.     while (analogRead(voltsom) < 500)
  215.     {
  216.         digitalWrite(ligarsom, HIGH);
  217.         digitalWrite(ligarsom, LOW);
  218.         delay(2000);
  219.         if (analogRead(voltsom) > 500 )
  220.         {
  221.           Serial.write('r'); //informa ao java que o som ligou
  222.          
  223.         }
  224.        else
  225.        {
  226.         Serial.write('s'); //informa ao java que o som nao ligou        
  227.        
  228.        }
  229.     }
  230.   }
  231.  else {
  232.   delay(1000);
  233.   Serial.write('t'); // caracter que indica ao java que o aparelho de som esta ligado
  234.  }
  235. break;
  236.  
  237.  
  238.  
  239. case 8:
  240.   if (analogRead(voltsom) > 500)
  241.   {
  242.     while (analogRead(voltsom) > 500)
  243.     {
  244.         digitalWrite(ligarsom, HIGH);
  245.         digitalWrite(ligarsom, LOW);
  246.         delay(2000);
  247.         if (analogRead(voltsom) < 500 )
  248.         {
  249.           Serial.write('u'); //informa ao java que o som desligou
  250.          
  251.         }
  252.        else
  253.        {
  254.         Serial.write('v'); //informa ao java que o som nao desligou        
  255.        
  256.        }
  257.     }
  258.   }
  259.  else {
  260.   delay(1000);
  261.   Serial.write('w'); //caracter que indica ao java que o aparelho de som ja esta desligado
  262.  }
  263. break;
  264.  
  265.  
  266.  }
  267. }
  268. }
RAW Paste Data
Top