Olá pessoal, bom dia !! Sou novato no site, e digo que pesquisei bastante e achei esse site muito maneiro mesmo.
Estou finalizando um curso de automação industrial e meu tcc é um controlador de nível.
Este controlador possui um sensor ultrasônico na caixa de cima que varia de 0 a 20cm e na cisterna (no chão) possui uma boia no fundo. O arduino está programado para indicar a variação da água da caixa de água (alta), indicando com led vermelho que a caixa esta vazia (0cm), led amarelo quando está na metade (10cm) e led verde quando está cheia (20cm).
O problema é que estava tudo certo e de repente o sistema não está mais funcionando como deveria.
O sensor as vezes não está desligando o motor (bomba submersa de aquário na cisterna).
Estou louco, meu TCC é pra semana que vem....
#include <modbus.h>
#include <modbusDevice.h>
#include <modbusRegBank.h>
#include <modbusSlave.h>
/* PINS
Add more registers if needed
Digital output pins 11,12 e 13
Analog input pins 0
*/
modbusDevice regBank;
modbusSlave slave;
/*
Projeto Arduino
Arduino com sensor de proximidade ultrasonico HHC-SRO4
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/
//Incluindo biblioteca Ultrasonic.h
#include "Ultrasonic.h"
//criando objeto ultrasonic e definindo as portas digitais
//do Trigger - 6 - e Echo - 7
Ultrasonic ultrasonic(6,7);
//Declaração das constantes referentes aos pinos digitais.
const int ledVerde = 13;
const int ledAmarelo = 12;
const int ledVermelho = 11;
const int bomba = 10;
const int Botao = 2;
int EstadoBotao = 0;
long microsec = 0;
float distanciaCM = 0;
void setup()
{
Serial.begin(57600); //Inicializando o serial monitor
regBank.setId(1); ///Set Slave ID
//Add Digital Output registers
regBank.add(10011);
regBank.add(10012);
regBank.add(10013);
slave._device = ®Bank;
slave.setBaud(57600);
//Definindo pinos digitais
pinMode(ledVerde,OUTPUT); //13 como de saída.
pinMode(ledAmarelo,OUTPUT); //12 como de saída.
pinMode(ledVermelho,OUTPUT); //11 como de saída.
pinMode(bomba,OUTPUT); //10 como de saída.
pinMode(Botao,INPUT); //2 como de saída.
}
void loop() {
//Lendo o sensor
microsec = ultrasonic.timing();
//Convertendo a distância em CM
distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM);
ledDistancia();
Serial.print(distanciaCM);
Serial.println(" cm");
delay(1000);
}
//Método que centraliza o controle de acendimento dos leds.
void ledDistancia() {
//Apagando todos os leds
digitalWrite(ledVerde,LOW);
digitalWrite(ledAmarelo,LOW);
digitalWrite(ledVermelho,LOW);
EstadoBotao = digitalRead(Botao);
if(EstadoBotao == HIGH)
{
//Acendendo o led adequado para a distância lida no sensor
if (distanciaCM > 20) {
digitalWrite(ledVerde,HIGH);
digitalWrite(bomba,LOW);
}
if (distanciaCM <=20 and distanciaCM >= 10) {
digitalWrite(ledAmarelo,HIGH);
}
if (distanciaCM < 10) {
digitalWrite(ledVermelho,HIGH);
digitalWrite(bomba,HIGH);
}
}
//Digital Input
int DI11 = digitalRead(11);
if (DI11 >= 1)regBank.set(10011,1);
if (DI11 <= 0)regBank.set(10011,0);
int DI12 = digitalRead(12);
if (DI12 >= 1)regBank.set(10012,1);
if (DI12 <= 0)regBank.set(10012,0);
int DI13 = digitalRead(13);
if (DI13 >= 1)regBank.set(10013,1);
if (DI13 <= 0)regBank.set(10013,0);
slave.run();
}
Tags:
Bom dia Raimundo,
Favor não colar o seu programa no tópico.
http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Já discutimos aqui, que achamos que esse sensor HC-SR04 não é adequado para medição de nível de caixa dágua, pois não tem proteção contra umidade. Acho que seu sensor possa ter sido danificado. Devido à urgência, sugiro que troque por um similar.
O mais indicado seria um sensor com trnasdutor à prova dágua igual ao usado em sensor de ré de automóveis.
http://labdegaragem.com/forum/topics/sensor-de-n-vel-de-caixa-d-gua...
http://labdegaragem.com/forum/topics/controle-de-n-vel-caixa-d-gua
http://labdegaragem.com/forum/topics/sensor-de-n-vel
http://labdegaragem.com/forum/topics/sensor-de-volume
http://labdegaragem.com/profiles/blog/show?id=6223006%3ABlogPost%3A...
Oi amigo, bom dia !
Obrigado por responder e pelos links dos controladores ! Ok, não postarei mais e li o link de como postar que me enviou.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por