Powered By Blogger
Mostrando postagens com marcador Botão. Mostrar todas as postagens
Mostrando postagens com marcador Botão. Mostrar todas as postagens

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!

segunda-feira, 19 de novembro de 2012

Sensor de Movimento - Pyroelectric Infra Red Sensor - PIR






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);




Sensor de Movimento - 
Pyroelectric "Passive" InfraRed Sensor - PIR 


Pyroelectric ("Passive") InfraRed sensors


Radiação Infra-vermelha:
A radiação infravermelha existe no espectro electromagnético a um comprimento de onda que é maior do que a luz visível. Ela não pode ser vista, mas pode ser detectada. Objetos que geram calor também geram radiação infra-vermelha e a estes objetos incluimos animais e corpo humano, cuja radiação é mais forte em um comprimento de onda de 9.4um. 
Nesta gama de infra-vermelhos a radiação não irá passar através de muitos tipos de materiais que passam a luz visível, tais como vidro de janela normal e plástico. No entanto, vai atravessar, com alguma atenuação material, que é opaca à luz visível, tais como germânio e silício. 
Uma pastilha de silício não transformado faz uma boa janela de IR em um gabinete a prova de intempéries para uso ao ar livre. Também proporciona filtragem adicional para a luz na gama do visível.
O 9.4um infravermelho também vai passar através de polietileno, que é normalmente utilizada para fazer as lentes de Fresnel para concentrar a radiação infra-vermelha sobre os elementos sensores.


PIR:
São componentes eletrônicos que permitem que possamos monitorar movimentos dentro de um ambiente. Muito usado para detectar presença de humanos ou animais se movimentando num determinado ambiente e assim poder gerar um alarme de presença ou intrusão.
Geralmente são dispositivos de baixo consumo e baixa tensão de alimentação usados em residências ou lugares de trabalho e comércio.

Sensores PIR são feitos comum Sensor Pyroelétrico (uma caneca de metal com uma abertura quadrada ou retangular, onde um disposito é capaz de detectar níveis de irradiação infra-vermelho ou o quão "quente" é o objeto ou ser.
Sensor PIR, componente



Dimensões do elemento sensor

Pinagem do elemento sensor

O sensor PIR tem um circuito eletrônico capaz de amplificar os sinais e assim poder modular um sinal de saída em nível digital. São circuitos formados com o componente BISS0001 que em sua saída geram um sinal "on" "off" para pode acionar ou desligar um circuito externo de alta potência.
Encapsulamento
Dispositivo e pinos

Circuito básico de uso do sensor

Para muitos projetos ou produtos básicos que necessitam detectar quando uma pessoa está em movimento, entra ou sai de um determinado ambiente,... sensores PIR são de baixo custo e alta eficiência, com uma ampla gama de lentes que podem ser usados com diversos fins e sensibilidades.
Sensor e Lentes de Fresnel

A lente do sensor é fixada para uma varredura com um certo alcance e ângulo, determinando uma distância em que o objeto pode se encontrar  do sensor.



Conceito de sensor de movimento


Lentes e visão geral
Configuração típica usada em projetos
Lentes de Fresnel:
Lentes de Fresnel, focalizam e concentram o sinal no elemento sensor

Características das Lentes de Fresnel, Frontal e Topo




Captação Termal a partir do topo da lente

Captação Termal a partir da lateral da lente


O módulo sensor PIR já vem com o circuito eletrônico necessário para detecção de movimento e acionamento de cargas, tais como: Alarmes, buzinas, lampadas, etc... bastando fazer um circuito extermo de driver de potência.

Abaixo um circuito eletrônico mais elaborado para uso do sensor.





Características básicas:

Sáida: Pulso digital (3V), quando acionado (detecção de movimento) digital baixo quando ocioso (sem detecção de movimento). Comprimentos de impulso são determinadas por resistências e condensadores no circuito impresso e diferem de sensor para sensor.
Alcance / Sensibilidade: (6 m​​), 110 ° x 70 °
Alimentação: 5V-9V

BISS00001 Datasheet: http://www.ladyada.net/media/sensors/BISS0001.pdf

RE200B Datasheet: 
http://www.ladyada.net/media/sensors/RE200B.pdf

NL11NH Lens Datasheet: 
http://www.ladyada.net/media/sensors/NL11NH.pdf


Informações detalhadas:

Recomendo muito, que para obter mais informações, leia os artigos dos sites abaixo:
http://www.ladyada.net/learn/sensors/pir.html ou http://www.glolab.com/pirparts/infrared.html 

Onde você terá mais informações e projetos sobre o assunto.



Projeto:
Alarme de presença.

Vamos agora ao nosso projeto; um alarme de presença ou movimento, usando o sensor PIR, com um aviso sonoro de movimento ou intrusão.
Neste projeto, podemos colocar o alarme no modo silencioso e assim não teremos o aviso sonoro mas um aviso luminoso através de um LED vermelho.

HARDWARE & COMPONENTES:
1 x Arduino UNO, MEGA, Duemilanove ou Teensy 2.0++
1 x BreadBoard
1 x Sensor PIR
1 x Resistor de 220Ω
1 x Resistor de 10KΩ
1 x LED vemelho
1 x Buzzer Piezzo-Elétrico
1 x Botão Tactil (Dactilar)
Fios e cabos para as conexões

LAYOUT & DIAGRAMAS:
Abaixo o esquema de ligação com Arduino. Lembre-se de modificar a pinagem no programa para:
Pino Sensor: Digital_8
Pino LED: Digital_7
Pino Botão: Digital_6
Pino Buzzer: Digital_5




Vista geral do projeto

Detalhe do sensor PIR

TeensyDuino 2.0++

Botão, *Buzzer e LED, detalhes da ligação
*Nota: foi ligado em serie com o buzzer, um resistor de 330Ω somente para reduzir um pouco o barulho durante os testes; no projeto final não deve existir este componente.


SOFTWARE & PROGRAMAÇÃO:

Obtenha o sketch para o Arduino diretamente do 4shared:



http://www.4shared.com/file/EVNCmME3/PIR_Sensor_5.html


Versão para o Teensy 2.0++ (facilmente modificável para o Arduino, sob mudança das pinagens apenas).

Explicação básica do programa:
O programa usa um pino para o LED (pino 12), um pino para o sensor PIR (pino 10), um pino para o buzzer/speaker (pino 14) e um pino para o botão de reset do alarme (pino 16).

Na função "setup()", é feito a declaração de cada pino como entrada ou saída e também é inicializado a comunicação serial.
Neste projeto, algumas mensagens são exibidas no monitor serial da IDE do Arduino/Teensy (também facilmente configurável para exteriorizar para um display LCD serial I2C).

Na função "loop()", é feito a leitura  da entrada do sensor  e verifica-se se o valor é "High" ou "Low.
Se "High" é porque foi detectado intrusão, acendendo o LED vermelho e tocando um alarme sonoro, que somente será desativado ao ser pressionado o botão.
Na serial é escrito uma mensagem, sempre que for detectado movimento e sempre que cessar a detecção de movimento.


VÍDEOS & TESTES:

Assista diretamente no Youtube e Screencast, links abaixo:

http://www.screencast.com/t/rnWOL0xnDveo

http://www.youtube.com/watch?v=xlUlZt8labE