Neste tutorial, além de medir o nível de combustível, também vamos incluir uma bomba que pode ser controlada para remover o líquido do tanque.
Materiais Necessários
- Componentes Eletrônicos:
- Arduino Uno (ou qualquer modelo compatível)
- Sensor Ultrassônico (HC-SR04)
- Display LCD 16×2 com interface I2C
- Relé (para controlar a bomba)
- Bomba submersível (ou bomba de sua escolha)
- Fios de conexão
- Protoboard (opcional)
- Software:
- Arduino IDE
Passo a Passo
1. Conectar os Componentes
- Sensor Ultrassônico (HC-SR04):
- VCC → 5V do Arduino
- GND → GND do Arduino
- Trig → Pino digital 9 do Arduino
- Echo → Pino digital 10 do Arduino
- Display LCD 16×2 com I2C:
- VCC → 5V do Arduino
- GND → GND do Arduino
- SDA → A4 do Arduino
- SCL → A5 do Arduino
- Relé e Bomba:
- Conecte a entrada do relé a um pino digital do Arduino (por exemplo, pino 11).
- A bomba deve ser alimentada através do relé. Conecte a bomba à saída do relé e a alimentação da bomba à fonte apropriada.
- O GND do relé deve ser conectado ao GND do Arduino.
2. Configurar o Ambiente de Programação
- Siga as mesmas instruções do passo anterior para configurar a biblioteca
LiquidCrystal_I2C
.
code.
#include <LiquidCrystal_I2C.h
LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço I2C do LCD
const int trigPin = 9;
const int echoPin = 10;
const int pumpPin = 11; // Pino do relé da bomba
void setup() {
lcd.begin();
lcd.backlight();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(pumpPin, OUTPUT);
lcd.setCursor(0, 0);
lcd.print(“Nivel de Combust.”);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration * 0.034) / 2; // cm
// Mostrar o nível de combustível no LCD
lcd.setCursor(0, 1);
lcd.print(“Nivel: “);
lcd.print(distance);
lcd.print(” cm “); // espaços para limpar a linha
// Controle da bomba
if (distance < 10) { // Se o nível de combustível estiver abaixo de 10 cm
digitalWrite(pumpPin, HIGH); // Liga a bomba
lcd.setCursor(0, 1);
lcd.print(“Bomba: Ligada “);
} else {
digitalWrite(pumpPin, LOW); // Desliga a bomba
lcd.setCursor(0, 1);
lcd.print(“Bomba: Desligada”);
}
delay(1000); // Atualiza a cada segundo
}
Exemplo: Sistema de controlo de nivel de combustivel montado pelos alunos da IOTMOZ.
4. Carregar o Código no Arduino
- Siga as mesmas instruções do passo anterior para carregar o código no Arduino.
5. Testar o Sistema
- Após carregar o código, teste o sistema. Quando o nível de combustível estiver abaixo de 10 cm, a bomba deve ligar. Ajuste a altura do combustível no tanque para verificar o funcionamento correto
Considerações Finais
- Segurança: Ao trabalhar com bombas e combustíveis, tome precauções de segurança adequadas para evitar acidentes.
- Ajustes: O nível de 10 cm para ativação da bomba pode ser ajustado de acordo com suas necessidades.
- Manutenção: Verifique regularmente as conexões e o estado da bomba.
Com essas adições, seu sistema agora pode medir o nível de combustível e controlar uma bomba para remoção do líquido, tornando-o ainda mais funcional e versátil!