Advertisement
FelipeRoque

Sistema de Controle de Nível.

Oct 23rd, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<OneWire.h>
  2. #include<DallasTemperature.h>
  3.  
  4. /* -------------- SETUP SENSORES DE NÍVEL -------------- */
  5. int sensor_1 = 12;//Sensor 1
  6. int sensor_2 = 11;//Sensor 2
  7. int estado_sensor_1 = 1;//Estado do sensor 1 //BAIXO INICIALMENTE
  8. int estado_sensor_2 = 1;//Estado do sensor 2 //BAIXO INICIALMENTE
  9.  
  10. /* -------------- SETUP SENSOR DE TEMPERATURA DS18B20 -------------- */
  11. //Pino de conexão da Leitura de Dados
  12. const byte pinData = 2;
  13.  
  14. //Define o Protocolo de Comunicação do OneWire com Sensor DS18B20 e a Biblioteca Dallas Temperature
  15. OneWire oneWire(pinData);
  16. DallasTemperature sensorDS18B20(&oneWire);
  17.  
  18. /* -------------- SETUP RELAY ----------------- */
  19. #define pin1 9
  20. #define pin2 10
  21.  
  22. /* -------------- SETUP LED'S ----------------- */
  23. int led_esvaziar = 7; //Led Azul
  24. int led_encher = 4; //Led Amarelo
  25. int led_bomba = 8; //Led Verde
  26.  
  27. /*
  28.    OBS: Relay : LIGADO = LOW & DESLIGADO = HIGH
  29.    OBS: SENSOR DE NÍVEL: ALTO = 0 & BAIXO = 1
  30.    OBS: ELETROVÁLVULA: FECHADA = LOW & ABERTA = HIGH
  31. */
  32.  
  33. void setup()
  34. {
  35.   //COMUNICAÇÃO SERIAL
  36.   Serial.begin(9600);
  37.  
  38.   // SETUP PINOS SENSOR DE NÍVEL
  39.   pinMode(sensor_1, INPUT);
  40.   pinMode(sensor_2, INPUT);
  41.  
  42.   //SETUP SENSOR DE TEMPERATURA
  43.   sensorDS18B20.begin();//Incializa sensor de temperatuara
  44.  
  45.   //SETUP RELAY
  46.   pinMode(pin1, OUTPUT); // Bomba
  47.   pinMode(pin2, OUTPUT);// Eletrovalvula
  48.  
  49.   // SETUP LED'S
  50.   pinMode(led_esvaziar, OUTPUT);
  51.   pinMode(led_encher, OUTPUT);
  52.   pinMode(led_bomba, OUTPUT);
  53. }
  54.  
  55. void loop()
  56. {
  57.   estado_sensor_1 = digitalRead(sensor_1);//Leitura do sensor 1 //Inicialmente Faz a Leitura deles no Estado Baixo
  58.   estado_sensor_2 = digitalRead(sensor_2);//Leitura do sensor 2 //Inicialmente Faz a leitura deles no Estado Baixo
  59.  
  60.   //Caso em que Sensor_1 estiver Alto e Sensor_2 estiver alto
  61.   if ((estado_sensor_1 == 0) && (estado_sensor_2 == 0)) {
  62.     digitalWrite(led_encher, LOW); //Led Amarelo
  63.     digitalWrite(led_esvaziar, HIGH); //Led Azul
  64.     digitalWrite(led_bomba, LOW); //Led Verde
  65.     digitalWrite(pin1, HIGH);
  66.     delay(100);
  67.     digitalWrite(pin2, LOW);
  68.     }
  69.   //Caso em que Sensor_1 estiver Baixo e o Sensor_2 estiver Baixo
  70.   if((estado_sensor_1 == 1) && (estado_sensor_2 == 1)){
  71.     digitalWrite(led_encher, HIGH);
  72.     digitalWrite(led_esvaziar,LOW);
  73.     digitalWrite(led_bomba,HIGH);
  74.     digitalWrite(pin1,LOW);
  75.   }
  76.   //Caso Em que o Sensor_1 estiver Baixo e o Sensor_2 estiver Alto
  77.   if((estado_sensor_1 == 1) && (estado_sensor_2 == 0)){
  78.     digitalWrite(led_encher, HIGH);
  79.     digitalWrite(led_esvaziar,LOW);
  80.     digitalWrite(led_bomba,HIGH);
  81.     digitalWrite(pin1,LOW);
  82.   }
  83.  
  84.   //Solicita as informações de Temperatura do Sensor
  85.   sensorDS18B20.requestTemperatures();
  86.  
  87.   //Printa as informações da Temperatura lida pelo Sensor
  88.   //Serial.print("Temperatura DS80B20: ");
  89.  // Serial.println(sensorDS18B20.getTempCByIndex(0));
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement