ProduçãoDia27-09-2018

Sensor de chuva:

Neste experimento com Arduíno, iremos utilizar um sensor de chuva composto por dois componentes, FC-37 e o LM393.

O FC-37 nada mais é do que um par de fios impresso (desenhado) sobre uma placa retangular de circuito. Como estes fios estão separados, a resistência elétrica em suas pontas é máxima, circuito aberto. Como os fios estão desenhados muito próximos uns dos outros na placa, quaisquer pingos de água que caem em cima da placa, acabam sempre por unir alguma parte dos fios, diminuindo a resistência na ponta do circuito. Quanto mais água cair sobre a placa, maís áreas dos fios entraram em contato e menor será a resistência, pois esta é inversamente proporcional à área do condutor. 

O LM393 é um circuito comparador de tensão. Numa de suas pontas “-” e “+” conecta-se a resistência variável FC-37, e no outro lado, com seus 4 pinos, alimentamos a placa com 5V no pino “VCC”, o terra no pino “GND” e lemos os dados analógicos pelo pino “A0” e os dados digitais pelo pino “D0”. O LM393 ainda possui dois LEDs internos, o “PWR-LED” que acende quando a placa está alimentada e o “D0-LED”, que acende quando o valor “0” está sendo lido no pino “D0”. Possui ainda integrado ao circuito um potenciômetro de ajuste do pino “D0”. Este pino, “D0”, como é digital, somente nos fornece os valores “ligado” e “desligado”, “0” e “1”, de maneira que possamos  diretamente pelo LM393 e sem ter que usar mais uma porta digital ou fazer cálculos pelo Arduíno (ou outro circuito qualquer), acionar por exemplo, um som, um relé, um atuador ou motor. Através do ajuste do potenciômetro podemos escolher em qual valor medido iremos excitar o pino “D0”,  variando seu comportamento de acordo com nossas necessidades.
Na porta analógica “A0” lemos os valores de “0” a “1023”, sendo “0” referente a uma tensão mínima de 0V provocada por uma resistência praticamente nula entre os pinos “-” e “+” (não há DDP em um mesmo fio condutor) e sendo “1023” o valor referente a uma tensão máxima de 5V provocada por um circuito aberto entre os pinos “-” e “+”.

Esquema de montagem:

Attach:sensor.png Δ

Componentes:

  • 3 LEDs? (amarelo, verde e vermelho)
  • Cabo USB A-B (cabo USB de impressora);
  • Uma Protoboard;
  • 3 Resistores de 300 Ohms
  • Cabos jumper macho-macho (recomendado) ou fios elétricos finos;
  • Circuito FC-37
  • Circuito LM393?
  • Recomendável um copo com água e toalha

Código do “Sensor de chuva”:

// Programa : Sensor de chuva

const int digital = 2; // Porta digital do Arduino ligada ao pino “D0” do LM393
const int analogica = A5; // Porta analógica do Arduino ligada ao pino “A0” do LM393
int val_d = 0; // Armazena o valor lido do pino digital
int val_a = 0; // Armazena o valor lido do pino analógico
const int ledVerde = 5;
const int ledAmarelo = 6;
const int ledVermelho = 7;

void setup()
{
  // Define os pinos do sensor como entradas
  pinMode(digital, INPUT);
  pinMode(analogica, INPUT);

  // Define os pinos dos leds como saída
  pinMode(ledVerde, OUTPUT);
  pinMode(ledAmarelo, OUTPUT);
  pinMode(ledVermelho, OUTPUT);

// Ativa a saída para o console serial
  Serial.begin(9600);
}

void loop()
{
  //Lê e armazena o valor do pino digital
  val_d = digitalRead(digital);
  //Lê e armazena o valor do pino analógico
  val_a = analogRead(analogica);
  //Envia as informações para o serial monitor
  Serial.print("Valor digital : ");
  Serial.print(val_d);
  Serial.print(" - Valor analógico : ");
  Serial.println(val_a);

  // Acende o led correto de acordo com a resistência de FC-37
  if (val_a >= 683)
  {
    // Acende o led verde – tensão alta, neste caso = FC-37 sem água
    digitalWrite(ledVerde, HIGH);
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVermelho, LOW);
  }
  else if (val_a >= 342 && val_a < 682)
  {
    // Acende o led amarelo – tensão média, neste caso = FC-37 com alguma água
    digitalWrite(ledVerde, LOW);
    digitalWrite(ledAmarelo, HIGH);
    digitalWrite(ledVermelho, LOW);
  }
  else 
  {
    // Acende o led vermelho – tensão baixa, neste caso = FC-37 com muita água
    digitalWrite(ledVerde, LOW);
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVermelho, HIGH);
  }

// Espera um minuto e recomeça
  delay(1000);
}

Resultados:

Mergulhe o FC-37 na água e retire e veja o comportamento da saída no monitor serial:

Attach:monitor.png Δ

Referências:

https://www.arduinoecia.com.br/2014/06/sensor-de-chuva-arduino.html


Voltar E-livro

Page last modified on October 02, 2018, at 02:52 PM