Esse cilindro possui um ímã que aciona um sensor magnético no meio da haste, que por sua vez fecha o contato dos 2 fios que saem do sensor. Isso mesmo. É uma boia com fios.
Veja na imagem abaixo que o cilindro possui internamente apenas uma pequena parte preenchida com o ímã, o que torna possível invertermos o cilindro e termos um contato normal aberto ou normal fechado, adaptando o sensor às nossas necessidades :
Sozinho, pode por exemplo ser usado como uma chave que é acionada quando um reservatório está cheio (colocando o sensor na parte de cima do reservatório), ou vazio (colocando o sensor na parte de baixo).
Com mais sensores, eu posso controlar vários níveis em um tanque, indicando ao Arduino se o meu tanque está cheio, pela metade ou (quase) vazio.
Uma ligação básica com apenas um sensor pode ser feita montando esse circuito...
...e carregando esse programa, que acende o led verde quando o reservatório está cheio, e o led vermelho quando o nível do reservatório estiver abaixo do nível máximo :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // Programa : Teste sensor liquido Arduino // Autor : Arduino e Cia // Pino ligado ao sensor de nivel de liquido int pinosensor = 3; // Led verde int pino_led_cheio = 6; // Led vermelho int pino_led_vazio = 7; void setup() { Serial.begin(9600); pinMode(pinosensor, INPUT); pinMode(pino_led_cheio, OUTPUT); pinMode(pino_led_vazio, OUTPUT); } void loop() { int estado = digitalRead(pinosensor); Serial.print("Estado sensor : "); Serial.println(estado); switch(estado) { case 0: digitalWrite(pino_led_vazio, LOW); digitalWrite(pino_led_cheio, HIGH); break; case 1: digitalWrite(pino_led_vazio, HIGH); digitalWrite(pino_led_cheio, LOW); break; } delay(100); } |
Por enquanto é só. Retorno à esse assunto assim que chegar o resto do material para o meu projeto :-)
Boa tarde, gostaria de saber onde adquirir esse sensor para implementar o experimento em sala de aula.
ResponderExcluirGrato,
Boa noite,
ExcluirUtilize o formulário de contato no lado direito da página, assim conversamos por email.
Abraço !
Boa tarde,
ResponderExcluirNão entendi porquê a colocação do resistor e ground no sensor.
Pode explicar?
Obrigado!
Rui Ponte
Boa noite Rui,
ExcluirEsse resistor nós chamamos de pull-down. Tentando explicar de uma maneira bem simples, ele serve para manter o sinal que vem do sensor em nível baixo. Se não ligarmos o pino do Arduino em nenhuma tensão de referência, ele pode interpretar ruídos como 0 ou 1, o que vai acabar acionando os leds de maneira errada.
Você pode ter mais informações sobre resistores pull-down e pull-up nesse artigo :
http://www.arduinoecia.com.br/2013/02/resistor-de-elevacao.html
Abraço !
E como ficaria a programação com 3 sensores? e posso usar sensor ICOS?
ResponderExcluirBoa tarde Bruno,
ExcluirVocê pode alterar esse mesmo programa, definindo outros pinos para os sensores e depois testando o valor de cada uma das chaves.
Quanto ao ICOS, eu ainda não usei, mas creio que o procedimento seja o mesmo.
Abraço.
Prezado . Parabéns pelo seu trabalho, seu Blog se tornou uma fonte de conhecimento sobre Arduino.
ResponderExcluirGostaria de perguntar, com tanats versões novas do IDE Arduino, como converter skethcs criadas com extenão .pde para .ino. Tenho alguns sketchs (.pde) e não consigo usar com a nova versão 1.6.3.Esta correto isso?
Já experimentei deixar instalado as versões mais antigas na mesma máquina, mas quando vou compilar sempre aparece um tipo de erro (launch4j-----An Error Occurred While Starting The Application).
As versões que instalei são estas, todas ao mesmo tempo na mesma máquina.
1.0.3; 1.5.8; 1.6.0; 1.6.1; 1.0.4;1.0.5; 1.0.6; 1.5.3-intel 1.0.4;1.5.3-intel 1.0.3;1.5.8;
Desde já grato pela ajuda....o que fiz de errrado?
Roberto Carlos
Boa tarde Roberto,
ExcluirEu utilizo várias versões da IDE também, mas não costumo ter muitos problemas, a não ser com as bibliotecas, que preciso copiar de uma IDE para a outra.
Mas com relação aos programas, utilizo normalmente.
Abraço e obrigado !
Olá, gostaria de saber se os sensores podem ser submergidos e se isso pode vir a causar algum problema! Grato!
ResponderExcluirBom dia,
ExcluirPode sim, eles são lacrados.
Abraço !
Boa tarde!
ResponderExcluirComo ficaria esta ligação no Arduino Mega?
Bom dia,
ExcluirVocê pode utilizar o mesmo esquema de ligação.
Abraço !
Qual o valor dos resistores? O meu ficou louco gerando 0 e 1 na porta aleatoriamente
ResponderExcluirOi Denilson,
ExcluirPela descrição, o seu problema realmente é o resistor (ou melhor, a falta dele). Você pode usar valores como 470 ohms, 1 K ou 10K, ou outros valores nessa faixa.
Abraço!
Olá! Coloquei os resistores conforme mencionado acima, porém estou usando Raspberry PI B. Se eu coloco os resistores de valores mencionados acima meu sensor não varia nunca. Preciso de um resistor menor para Raspberry PI ?
ExcluirQual a tolerancia em temperatura que este sensor suporta?
ResponderExcluirOla,
ResponderExcluirFiz a ligação exatamente como mostrado, copiei o codigo, mas, o led verde fica ligado constantemente e o led vermelho não é acionado quando o recipiente é preenchido com água.
Boa noite Diego,
ExcluirVocê consegue testar esse sensor com um multimetro, para verificar se ele está fechando contato ?
Abraço!
Boa noite, fiz o teste com o multímetro e o sensor estar funcionando perfeitamente. Mas, o problema continua, suspeito que seja o resistor que estou utilizando.
ExcluirQual é o resistor correto para este sensor? Quantos ohms?
O sensor que estou usando é este mesmo do tutorial, só que horizontal.
Muito obrigado pela ajuda!
Diego Duarte
Boa noite Diego,
ExcluirSerá que o seu sensor não está funcionando ao contrário não ? Tente inverter essa parte do código. Onde está LOW, você muda para HIGH, e onde está HIGH, você muda para LOW:
case 0:
digitalWrite(pino_led_vazio, LOW);
digitalWrite(pino_led_cheio, HIGH);
break;
case 1:
digitalWrite(pino_led_vazio, HIGH);
digitalWrite(pino_led_cheio, LOW);
Abraço!
eu nao manjo muito de programação, mais estou fazendo um projeto integrador que tenho de entregar nesta terca dia 24, que é justamente este, mais com 2 boias.. tentei de varias forma fazer a programação mais nao obtive exito, entao tentei adaptar esta programação dizendo que os leds seria um motor e o outro uma valvula, adcionei mais um sensor e o programa ficou assi:
ResponderExcluirint pinosensor = 2;
int sensor = 8;
int motor = 7;
int valvula = 12;
void setup()
{
Serial.begin(9600);
pinMode (sensor, OUTPUT);
pinMode(pinosensor, INPUT);
pinMode(motor, OUTPUT);
pinMode(valvula, INPUT);
}
void loop()
{
int estado = digitalRead(pinosensor);
Serial.print("Estado sensor : ");
Serial.println(estado);
switch(estado)
{
case 0:
digitalWrite(valvula, HIGH);
digitalWrite(motor, LOW);
digitalWrite(sensor, LOW);
break;
case 1:
digitalWrite(valvula, LOW);
digitalWrite(motor, HIGH);
digitalWrite(sensor,HIGH);
break;
}
delay(100);
}
sera que vai dar certo?
ResponderExcluirint pinosensor = 2;
int sensor = 8;
int motor = 7;
int valvula = 12;
void setup()
{
Serial.begin(9600);
pinMode (sensor, OUTPUT);
pinMode(pinosensor, INPUT);
pinMode(motor, OUTPUT);
pinMode(valvula, INPUT);
}
void loop()
{
int estado = digitalRead(pinosensor);
Serial.print("Estado sensor : ");
Serial.println(estado);
switch(estado)
{
case 0:
digitalWrite(valvula, HIGH);
digitalWrite(motor, LOW);
digitalWrite(sensor, LOW);
break;
case 1:
digitalWrite(valvula, LOW);
digitalWrite(motor, HIGH);
digitalWrite(sensor,HIGH);
break;
}
delay(100);
}
Como fazer o desenho? No fritzin não tem esse sensor.
ResponderExcluirporque vc usou serial.begin(9600) ?
ResponderExcluirBom dia,
ExcluirUsamos esse comando para inicializar a comunicação serial e enviar dados para o Serial Monitor com o comando Serial.print().
Abraço!
Por gentileza, gostaria de saber a especificação do sensor utilizado.
ResponderExcluirBom dia Gabrielle,
ExcluirInfelizmente esse sensor tem pouquíssima documentação... vc precisa de algum dado específico ?
Abraço!
Bom dia, estou fazendo esse sistema, porem o reservatorio fica a 70metros longe da onde ficara o arduino, se eu ligar no 5v e gnd do arduino eu nao vou ter problema?O que voce me aconselha?
ResponderExcluirBoa noite,
ExcluirEu usaria alguma solução com rede wifi, como o ESP8266.
Abraço!
Booa Tarde , Gostaria de saber como eu faço para adicionar + 2 sensores de e + 4 leds .. é para um projeto meu poderia me ajudar ????
ResponderExcluirGostaria de saber posso botar 3 sensores e 3 leds , por exemplo .. 1 sensor pra marca nivel cheio , 1 sensor marca niivel medio e outro sesnsor pra marcaa nivel baixo , qdo o recipiente estiver cheio as 3 leds acende, quando estiver nivel medio 2 leds acende , e quando estiver no nivel baixo fica 1 led piscando .. Poderia me ajudar com esse codigo , Ficaria mutio agradecido !!!
ResponderExcluirBooa Tarde , Gostaria de saber se vcs poderia me ajudar com 1 codigo , para 3 sensores e 3 leds .. por exemplo : quando o recipiente estiver cheio todas as leds ficara ligada , quando estiver no nivel medio , 2 leds ficaram ligadas e quando estiver nivel baixo 1 fica ligada e piscando tipo que avisando q precisar encher , Sera q poderia me ajudar com esse Codigo ? Ficaria muito agradecido !!
ResponderExcluirO sensor mede apenas se o reservatório está cheio ou vazio ou ele pode medir a quantidade de água?
ResponderExcluirBoa noite,
ExcluirSe está cheio/vazio, mas vc pode usar sensores intermediários para verificar a quantidade (aproximada) de água no reservatório.
Abraço!
Boa tarde,
ResponderExcluirEstou pretendo fazer a montagem desse circuito ai no Fritzing, mas utilizando três destes sensores de nível de água, porém no encontrei no pacote do referido software, onde eu encontro-o??
tbm procuro e não consigo achar
ExcluirBoa noite
ResponderExcluirVocê poderia me dizer como é o nome do sensor no fritzing, por que não estou conseguindo achar para montar.
olhando as especificacoes no site https://www.filipeflop.com/produto/sensor-de-nivel-de-agua/ diz q é 100V DC...duvida, isso quer dizer q posso ligar na rede eletrica 110? tipo tenho uma valvula selonoide ligada a rede eletrica (110), queria colocar esse sensor de nivel para acionar essa valvula, funcionaria?
ResponderExcluirEsse sensor pode ser utilizado para medir nível de combustíveis(diesel, gasolina , álcool)?
ResponderExcluirOi Marcos,
ExcluirEu já vi algumas pessoas usando esse sensor para medir outros líquidos (ex, gasolina), mas creio que por ser plástico (PP), não terá muita durabilidade.
Abraço!
Adilson
eu fiz esse projetinho, meus leds ficaram alternando, uma hora um acendia dps de poucos segundos o outro acendia sem eu mexer no sensor!!
ResponderExcluirComo resolvo?
Bom dia,
ExcluirVocê colocou os resistores junto aos fios dos sensores?
Abraço!
Adilson
Vc tem o código do sensor de líquido para que este seja montado no frietzing como no vídeo ?
ResponderExcluirBom dia.
ResponderExcluirEste sensor no caso seria apenas para fechar o circuito certo? Então poderia fazer com sondas de cabo elétrico?