olá amigos estou iniciando agora com arduino ja tenho uma certa experiencia em plc. preciso montar um programa que me informe o nivel da caixa dagua por ex usando 5 sensores cada um indicando uma quantidade de agua  e que seja mostrado na tela ou atraves de leds.se alguem puder me ajudar eu agradeço obrigado

Exibições: 5564

Responder esta

Respostas a este tópico

Marcio Cardoso,

   Você não precisa usar 5 sensores pra saber com exatidão os níveis de uma caixa d' agua, ao menos não utilizando arduino.

   Basta você utilizar um modulo sensor ultrasonico e ele informará o nível em que a caixa se encontra.

   O truque da precisão do sensor trata-se de um efeito de retardo, onde se lê várias vezes o resultado do sensor e se tira a média, tipo, fazer 30 leituras, somar e dividir por 30, o resultado será a média, isso de forma muito rapida.

   Tá aqui um tutorial de como usa-lo:

http://www.oarduino.com/tutorial-sensor-ultrassonico-no-arduino/

muito bom weider,vou começar a praticar e estudar mais um pouco sobre programaçáo pois em c  eu estou meio devagar. 

mais uma perguntinha voce poderia me informar se da para montar um supervisorio neste caso. desde ja agradeço pelaatenção

Claro que dá pra montar um supervisório.

Supervisorios se baseiam em parametros de sensores, nesse caso você pode ligar o arduino ao PC e enviar os dados.

  Eu ainda não precisei montar um supervisorio com o arduino, mas sei que o caminho é o mesmo que com CLPs.

  Eu estudei o Elipse Scada junto com CLPs antes de estudar arduino, mas ele é pago, ai complica as coisas.

   Existe o Scada BR que é gratuito,  e existem uma porrada de tutoriais ensinando a ligar o arduino a ele,  se não me engano é por protocolo MODBUS.

   .

valeu meu camarada,muito obrigado pelas dicas.

 esse exemplo do video:

https://www.youtube.com/watch?v=ezULc37xi1Q&feature=player_deta...

equema elétrico do sensor de chuva:

Quanto a comunicação com o pc, pode usar essa biblioteca e um programa supervisório como Elipse Scada, ou o ScadaBR

http://code.google.com/p/simple-modbus/

usando o arduino como slave

Márcio,

Fiz um projetinho deste semana passada, usando um arduino Uno + sensor Ultrassom + display lcd.
é uma caixa dagua qe tem 'x' de profundidade, e precisava saber qual o nivel de agua. O sensor ultrassom reflete na agua e me manda essa distancia, aí processo esse sinal e vizualizo em um display lcd 16x2. . . Se tiver interesse te passo o codigo e a simulação no Proteus ISIS, aí é só vc montar.
Abraços

me interessa sim se puder me enviar eu lhe agradeço.desde ja lhe agradeço pela atenção

marcio_cardoso2008@hotmail.com

Desculpa a demora Marcio, não te mando por email porque essa duvida pode ser de outros, então os aquivos estão anexados. . . Qualquer duvida me fala.

Abaixo o código:

// Projeto : Medidor de nivel com HC-SR04
//
// Criado Por Eduardo Pinheiro (edupinheiro.silva@gmail.com)
// **** Por favor ao publicar o projeto não esquecer de citar o autor *****
//

/** Incluindo Bibliotecas **/
#include <LiquidCrystal.h> //Carrega a biblioteca LCD

LiquidCrystal lcd(9, 8, 5, 4, 3, 2); //Define os pinos que serão ligados ao LCD

/** Definindo nome e numero dos pinos **/
#define echoPin 7 // Pino 7 recebe o pulso do echo do Sensor 1
#define trigPin 6 // Pino 6 envia o pulso para gerar o echo do Sensor 1
int prfdde = 135; // profundidade da caixa (aqui vc coloca a pronfudidade
// da caixa em CM)

void setup()
{

/* Define os pinos como INPUT ou OUTPUT */
pinMode(echoPin, INPUT); // define o pino 7 como entrada (recebe)
pinMode(trigPin, OUTPUT); // define o pino 6 como saida (envia)

/* Inicializa LCD */
lcd.begin(16, 2); //inicia o lcd
Serial.begin(9600); //inicia a porta serial
}

void loop()
{
/* Rotina de funionamento para o Sensor Ultrasson 1 */
digitalWrite(trigPin, LOW); // seta o pino 6 com um pulso baixo "LOW"
delayMicroseconds(2); // delay de 2 microssegundos
digitalWrite(trigPin, HIGH); // seta o pino 6 com pulso de "HIGH"
delayMicroseconds(10); // delay de 10 microssegundos
digitalWrite(trigPin, LOW); // seta o pino 12 com pulso baixo novamente
long duration = pulseIn(echoPin,HIGH); // pulseIn lê o tempo entre a chamada e o pino entrar em high
long distancia = duration /29 / 2 ; // Esse calculo é baseado em s = v . t, lembrando que o tempo vem dobrado// porque é o tempo de ida e volta do ultrassom

/* Calculo do percentual do nivel da caixa */
long nivel = distancia * 100 / prfdde; // variave nivel atribui o a valor da distancia e calcula
// o percentual de acordo com a prfdde

/* Motra na Serial monitor o nivel em % */
Serial.print("Nivel: ");
Serial.println(nivel);

/*** Interface do display ***/
lcd.clear();
lcd.print("Nivel: "); // Mostra a mensagem "Nivel:"
lcd.print(nivel); // Mostra o valor da variavel "distancia" em centímentros
lcd.print("%"); // Mostra o simbolo de porcentagem

delay(300); // Espera 0,3 segundo para fazer a leitura novamente
}

No arquico do ISIS, não esqueça de carregar o .hex do sensor ultrassom simulado, pois senão ele nao funciona. 

Abraços

Anexos

muito bom ,bem detalhado os comentários . Agora vou providenciar o material e executar essa terefa e aproveitando para treinar um pouco a linguagem de prog. muito obrigado pela ajuda um grande abraço

Se precisar de literaturas sobre arduino, como programação e projetos de exemplos, vejo no link abaixo:

https://drive.google.com/folderview?id=0B8uct2ZLTQkFb0NrLVowa2ZMNXM...

Abraços

Eduardo,

Parabéns pelo projetor, tentei simular no Isis, mas me da um erro, como se o .HEX fosse para um PIC e não para o Arduino, sera que tem alguma confusão no arquivo enviado ou sou eu que estou fazendo algo errado.

Um abraço.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço