Powered By Blogger
Mostrando postagens com marcador Buzzer. Mostrar todas as postagens
Mostrando postagens com marcador Buzzer. Mostrar todas as postagens

sábado, 14 de setembro de 2013

Sistema de Irrigação


Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada, sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);



ARDUINO SISTEMA DE IRRIGAÇÃO



INTRODUÇÃO & OBJETIVOS:

Um sistema simples, usando Arduino para automatizar a irrigação de pequenos vasos de planta ou plantações.

Ele faz o controle da umidade do solo, fazendo indicações através de LEDs e em caso de solo seco emitindo um aviso sonoro. Em caso de solo seco ativa o sistema de irrigação, bombeando água para regar as plantas.

O uso de um display LCD possibilita notificar todas as ações que estão ocorrendo além de um relógio em tempo real.

Teoria:


"A umidade do solo (h) ou teor em água (w) é definida como o peso da água (P_a) contida em uma amostra de solo dividido pelo peso seco das partículas sólidas (P_s) do solo, sendo expressa empercentagem.
Para determinação do peso seco, o método tradicional é a secagem em estufa, na qual a amostra é mantida com temperatura entre 105 °C e 110 °C, até que apresente peso constante, o que significa que ela perdeu a sua água por evaporação.
O peso da água é determinado pela diferença entre o peso da amostra (P) e o peso seco (P_s)."
Desta forma temos: h=\frac{P - P_s}{P_s}\cdot 100=\frac{P_a}{P_s}\cdot 100


DESCRIÇÃO:

O sistema faz uso de um sensor de umidade (higrometro), através do qual, é possível monitorar a quantidade de água (umidade) presente no solo. 

Este sensor higrômetro entrega ao Arduino um sinal que varia entre 0 a 5V (0 a 1023 no arduino), deste modo, é possível especificar alcances de umidade relativa do sólo e assim caracterizar se o solo está: mais, ou menos úmido. 

Por exemplo:
- entre 0 a 500, umidade excessiva (solo encharcado); 
- entre 500 a 800, umidade normal (solo úmido);
- entre 800 a 1023, umidade escassa (solo seco).  
Todas estas etapas acima, serão indicadas em display LCD e LEDs.

Quando o solo estiver seco, o sistema efetuará essa indicação através de um LED vermelho, um aviso sonoro e mostrará uma mensagem no display LCD
Quando o solo estiver seco, será acionado uma bomba d'água para efetuar a irrigação do local. Um LED verde efetuará a indicação enquanto a bomba d'água estiver acionada.

A bomba d'água será desligada automáticamente após decorrido um tempo pré determinado de operação mínimo (por exemplo 30 segundos); se a irrigação não foi suficiente e o solo continua seco, a bomba será acionada novamente, e assim por diante... até quando a umidade do sólo atingir a condição de umidade normal ( a bomba será desligada e só acionará no próximo periodo de irrigação).
Se na hora estima o solo não estiver seco, o sistema irá esperar até o próximo horário de verificação.

O acionamento da bomba d'água é feito por um relé, isolado da parte eletrônica através de um acoplador óptico na entrada.

A irrigação será feita somente se:
1-  o solo estiver seco;
2 - uma hora pré determinada for alcançada (por exemplo: 06:00 da manhã)
Para isto usamos um relógio de tempo real (RTC) para gerar a hora do sistema.

O sistema é composto também de um sensor de nível para o reservatório de água. Sempre que o nível cair abaixo do mínimo estabelecido pelo posicionamento do sensor, será indicado através de um aviso sonoro e mensagem no display LCD.



HARDWARE & MATERIAL:

Para realizar este projeto, você necessitará de:
1 x Arduino UNO, MEGA, Duemilanove, ou Teensy 2.0+
1 x Display LCD com comunicação I2C
1 x Módulo RTC com comunicação I2C
1 x Módulo Relé opto-acoplado para 250V/10A
2 x Módulos "Driver" LM-393 de uso geral
1 x Sensor de umidade do Solo (Hygrometer) KDQ11
1 x Sensor de Nível de água (Feito em casa)
1 x Buzzer piezo-elétrico
2 x LEDs Verdes 10mm
1 x LED Vermelho 10mm
1 x LED Amarelo 10mm
4 x Resistores 150 Ohm 1/4 W
1 x Bomba dágua para Aquários com sistema de filtro (127 ou 220V)
1 x Cabo de Energia Elétrica, com plug CA 127/220V @10A
1 x Tomada para cabo de energia AC 127/220V @10A
Fios e cabos para as conexões

Você pode adquirir o sensor de umidade do solo e o "Driver" no ebay.
http://www.ebay.com/itm/KDQ11-MOISTURE-SENSOR-KIT-URBAN-GARDEN-TOOL-SOIL-MOISTURE-SENSOR-SCA-1703-/221227848188?pt=LH_DefaultDomain_0&hash=item33823511fc


Você pode adquirir o módulo relé no ebay.



COMPONENTES:

Abaixo uma visão geral dos componentes utilizados.

LCD I2C:





LM-393 DIVER:


Este é umdiagrama ilustrativo do uso do LM-393


Driver LM-393; Notar que N1 é o sensor a ser utilizado no Driver



Sensor de umidade do Solo:






Dados deste conjunto sensor/driver:
Quando o solo estiver seco, impedância será alta e o driver mostrará um valor alto na saída.
Quando o solo estiver encharcado, será mostrado um valor baixo na saída.
O range de 3 LEDs pode ser definido como:
- encharcado, umidade entre 0 a 500;
- Normal, umidade entre 500 a 800;
- seco, umidade entre 800 a 1023;
O módulo tem 1 saída digital e uma saída analógica. (no projeto, deve ser utilizado a saída analógica)



RTC:






Sensor de Nível:

Este sensor deve ser confeccionado em placa de fenolite.
Espaçamentos de 1mm e trilhas de 1 mm



RELÉ:
Módulo duplo, será utilizado somente uma via
 BOMBA D'ÁGUA:






DIAGRAMA & INTERLIGAÇÃO:

Abaixo temos um diagrama de blocos descrevendo as principais interligações do sistema.
Você pode obter o original deste arquivo, acessando o driver abaixo:
https://docs.google.com/file/d/0B_YlEklLDDS7SllRMzUyQlhHVDg/edit?usp=sharing


Diagrama de blocos



Abaixo o diagrama de interligação (em manuscrito).
Você pode obter o original deste arquivo, acessando o driver abaixo:
https://docs.google.com/file/d/0B_YlEklLDDS7RkNMZko2ckhLcUU/edit?usp=sharing



Diagrama de interligação e fiação original, em manuscrito
****************************************************************
****************************************************************
Corrija em seu diagrama: o sensor de nível deve ser conectado ao pino A0 do Arduino e o sensor de umidade do solo deve ser conectado ao pino A1 do arduino.
****************************************************************
****************************************************************

Descrição das pincipais conexões:

RTC <-> Arduino:
GND <-> GND
+5V <-> +5V
SDA <-> A4
SCL <-> A5

Relé <-> Arduino:
GND <-> GND
+5V <-> +5V
IN <-> D7

LCD <-> Arduino:
GND <-> GND
+5V <-> +5V
SDA <-> A4
SCL <-> A5

BUZZER <-> Arduino:
+ <-> D2
-  <-> GND

LM-393 DRIVER (sensor de umidade) <-> Arduino
GND <-> GND
+5V <-> +5V
OUT <-> A1

LM-393 DRIVER (sensor de Nível) <-> Arduino
GND <-> GND
+5V <-> +5V
OUT <-> A0

Outros Componentes <-> Função <-> Arduino
LED Vermelho <-> Solo seco           <-> D5
LED Amarelo   <-> Solo encharcado  <-> D3
LED Verde      <-> Solo úmido         <-> D4
LED Verde      <-> Bomba d'água     <-> D6 








Link para o original da figura acima:

https://docs.google.com/file/d/0B_YlEklLDDS7Ym52UE1qcGlqQVE/edit?usp=sharing





Link para o original da figura acima:

https://docs.google.com/file/d/0B_YlEklLDDS7Z3hZY3pNZ0NWZG8/edit?usp=sharing

SOFTWARE & PROGRAMAÇÃO:

Você pode baixar, gratuitamente o código para este projeto no driver do google docs abaixo:

https://docs.google.com/file/d/0B_YlEklLDDS7T3JFX05rR21xbEE/edit?usp=sharing

Ou no GitHub:

https://github.com/Arduinobymyself/ArduinoWateringSystem.git


Qualquer problema, dúvidas e sugestões; entre em contato via email:

arduinobymyself@gmail.com



TESTES:

Este é um exemplo de como trabalhará o sistema e como devem ser realizados os testes.
Logicamente, como o sistema tem um horário pré definido para operar, você pode mudar o horário via software para o horário em que fará os testes, e depois ajustar para o horário de trabalho.


Como montar o aparato para os testes




VÍDEOS & FOTOS:



Dúvidas e sugestões enviem para: arduinobymyself@gmail.com


Parte 1: http://youtu.be/_jcDxYK33ew

Parte 2: http://youtu.be/-JOfP1J0OHY

Parte 3: http://youtu.be/Czvxi1r21Zc


Parte 1





Parte 2




Parte 3





Fotos do projeto:




Sistema Montado com Garagino Versão 1

Detalhe das interligações do Garagino V1

Detalhe do sistema de potência - Relé e entrada e saída 127/220 VCA

Detalhe dos sensore de umidade do solo e sensor de nível do reservatório de água

Visão geral do sistema





Primeiro rascunho e ideias

Conceito definido

Algumas diretivas de operações

Vista Geral 1

Vista Geral 2

Componentes 1

Componentes 2

Sensores de Umidade do solo e Nível

Driver LM-393 - Detalhe 1

Driver LM-393 - Detalhe 2




domingo, 27 de janeiro de 2013

LINUSBot - Robot Seguidor de linhas





Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada.
sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);


LINUSBot - Line Follower - Seguidor de Linhas


O funcionamento deste Robot é bastante simples.

Sensores Infra-vermelho colocados à frente do chassis (neste projeto usaremos o um chassi apropriado do tipo redondo) irão monitorar quando o nosso Robot está sobre uma linha negra ou quando está sobre um fundo  branco.
No caso de o Robot estar sobre a linha negra, ele irá sempre à frente; e no caso de sair da linha e cair em uma área branca, ele irá determinar se deverá corrigir para a esquerda ou para a direita, e assim manter-se sobre a linha negra.

Como sensores será usado o array de sensores infra-vermelho Pololu (também chamado de sensor de reflectância) QTRx8RC, constituído de 8 sensores (serão usados somente 5) QRE1113GR.
Essse array, tem uma saída digital e pode ser facilmente utilizado (usando a biblioteca apropriada da Pololu) para determinar a posição da linha em relação aos sensores.





Este array de sensores pode ser quebrado para formar um conjunto com 6 sensores e outro com 2 sensores.
Para mais informações sobre o array de sensores infra-vermelho, visite:

http://www.pololu.com/catalog/product/961

Neste primeiro projeto, usaremos um controle rudmentar para o nosso robot, ou seja nos preocuparemos em manter o robot seguindo a linha apenas...
Para isto criaremos uma pista de teste para o robot rodar, e poderemos observar que os movimentos do robot serão um tanto quanto "robóticos", ou seja: não muito suaves, porém bruscos.


Pista:
Montada conforme diagrama abaixo em um fundo branco e linha preta.

Curvas de 6".








HARDWARE E COMPONENTES:

Material necessário:
1 X Arduino UNO, MEGA, Duemilanove ou Teensy 2.0++
1 x prototype shield (opcional)(altamente recomendável)
1 x PONTE-H dupla
2 x Gear Box com relação 30:1 de transmissão e motor DC associado
2 x Rodas Polulu ou equivalente
2 x Baterias 9V 400 mA/h
2 x clip de bateria 9V
1 x Ball caster (terceira roda)
fios e cabos para as conexões
parafusos, porcas, arruelas, espaçadores para a montagem
2 x peças de acrílico para o corte do chassis
ferramentas em geral



Projeto, esquema, construção - detalhes:


Corte Circular

Recorte das Rodas

Parte Inferior

Parte Superior





Vamos às pinagens:

1 - motores ligados aos pinos de saída da Ponte-H;
2 - bateria de 9V ligado ao VCC (+) e GND (-) da Ponte-H;
3 - pinos in1, in2, in3 e in4 da Ponte-H ligado ao arduino nos pinos: 10, 11, 5 e 6 respectivamente;
4 - pinos 1, 2, 3, 4 e 5 do sensor QTR, ligar aos pinos A0, A1, A2, A3 e A4 (observar que o sensor 1 deve ser o mais à esquerda);
5- LCD ligar como no diagrama: pinos R/W - 13, Enable - 12, dados - 9, 8, 7 e 4 (depende do tipo do seu display);
6 - Botão ligado ao pino 2 do Arduino;
7 - Buzzer ligado ao pino 3 do Arduino;
8 - Sensor de bateria ligado ao pino A5
consiste de dois resistores 10K/5K ligados ao GND/VCC e no centro ligado ao arduino. Como abaixo

|GND|---/\/\/\/------/\/\/\/-----|VCC|
            10K     |    5K
                      |


Esquema geral de conexões



Chassis:

O chassi foi criado especificamente para este projeto do robot Seguidor de linhas "LINUSBot"

Abaixo está o projeto completo do chassi, com dimensões e as vistas de cortes.

Também as fotos reais das fases de montagem.

A disposição dos módulos no chassis pode ser de acordo com o seu próprio design, porém devem ser respeitados alguns critérios, tal como: o peso dos componentes deverm ser apoiados na parte traseira e nunca na frente do chassis.... etc...

Primeiro protótipo:
Feito em madeirite fino de 3 mm.  Funcionou muito bem, poderia ser um projeto final.

Vejamos algumas fotos:


2 partes circulares de madeirite cortadas


Corte nas laterias para acomodação das rodas
Detalhe de fixação dos motores/rodas (parte de baixo), sensores e ball caster (taxinha)

Detalhe de fixação do array Pololu

Detalhe de fixação dos motores (parte de  cima)

Fixação dos espaçadores das camadas inferior e superior

Disposição inicial dos módulos na parte superior

Parte inferior


Parte superior, disposição de espaçadores dos módulos

Modulos fixados


Parte superior cabeada, segundo o diagrama esquemático

Pronto para o primeiro teste

Testado e aprovado, faltando alguns ajustes no software

Detalhe dos sensores cabeados; um grupo de 6 sensores e um grupo de 3 alimentação e controle dos LEDs infra

Detalhe da parte superior

Detalhe da parte inferior e sensores

Detalhe das baterias e ball caster (ainda a taxinha)

Uma grande solução para o Ball casters, é usar um roll-on de um batton de brilho.  Isso a Pololu cobra 2$, e você pode adquirir por R$1,00

Este é o original Pololu.
http://www.pololu.com/catalog/product/174

Ficou excelente esta solução... Recomendo!



Ball caster feito de Batton tipo Roll-on

Detalhe do caster-ball, um pingo de cola tudo e resolvido.

Rodas:
Pololu $7
http://www.pololu.com/catalog/product/1088




Diâmetro - 32 x 7 mm

Uma solução usada, foi comprar uma moto de plastico cuja roda é aproximadamente o mesmo diâmetro, e revestila com uma fita isolante de pressão plástica. R$5,00.
Vejam nas fotos que ficou muito boa a solução.



Motores:
SolarBotics Pololu $20 cada
http://www.pololu.com/catalog/product/641

Se você puder gastar, Recomendo!
Estes motores e gearbox são excelentes, pequenos, baixo cosumo, grande torque, relação 30:1, etc...

Solução encontrada R$30,00 kit com dois
motor, roda off-road, gearbox 30:1
http://seriallink.com.br/loja/product_info.php?cPath=55&products_id=188&language=pt&osCsid=o5b62h3u44ohs0bkh9v57r9up0



Bem eficaz!
A adaptação das rodas utilizadas, ficou perfeitamente ajustada.



Segundo protótipo:

Feito em acrílico.


Corte das duas placas de acrílico no formato circular



Recorte para as rodas

Posicionamento do sensor
 Notar que o sensor do meio, deve ficar alinhado ao centro da placa


Detalhe da ranhura para os pinos do sensor

Furação e inserção do sensor na ranhura

Fixação com parafusos

Posicionamento dos módulos


Detalhe de pinagem dos sesnores



Pista de teste


Detalhe de pinagem do LCD




Após o primeiro teste, bem sucedido de primeira




SOFTWARE E PROGRAMAÇÃO:

No link abaixo você encontra a versão completa e explicada do software utilizado.

http://www.4shared.com/file/8yKb70LD/LINUSBot_9_3pi_modelo.html

Obtenha todos os arquivos necessários no GitHub:
https://github.com/Arduinobymyself/LINUSBot.git

O projeto foi desenvolvido, nos moldes do Robot 3pi da Pololu.

Nove versões foram desenvolvidas com vários tipos de sensores LDRs, Infra-vermelho TCRT5000, TIL32/TIL78 e o array QTR-8RC da pololu.

Para este primeiro protótipo, o desempenho foi muito bom.

Vejam o vídeo para confirmação.







VÍDEOS E TESTES:

Dúvidas e sugestões para: arduinobymyself@gmail.com

Primeiro Protótipo:
screencast: http://www.screencast.com/t/mVXhRPWH
youtube: http://www.youtube.com/watch?v=YEzRKP34UGs&feature=youtu.be


Segundo protótipo:

screencast: http://www.screencast.com/t/6LN3XlDg3cJ
youtube: http://youtu.be/Z046AKObE34









Aguarde o próximo post, onde veremos um controle mais preciso do LINUSBot, utilizando controle PID (Proporcional Integral Derivativo).


E o próximo projeto de um Maze Solver (LINUSBot resolvendo labirintos...)

Até lá......... vai ser Show!