Powered By Blogger

sexta-feira, 16 de novembro de 2012

Arduino - Sensor PING



-->


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 - Sensor PING - Sensor Ultra-sônico de Distância

A teoria por traz disto.

Na parte de programação, iremos calcular a distância de um objeto em frente ao sensor ultra-sônico. Este sensor pode enviar um  "ping" num dado momento e receber um retorno refletido nos objetos num outro dado momento.
Um Ping não nada mais que um som em tonalidade não audível (frequências muito altas) ao ouvido humano, por isso o sensor é chamado "Ultra-sônico".

O sensor envia um ping no tempo t1 e recebe um som refletido no tempo t2.
Conhecendo a velocidade do som num meio de transporte (no caso o ar), e a diferença Δt=t2-t1, podemos ter o calculo da distancia de um objeto.
Exemplo: se Δt = 500 us (micro-segundos), nos sabemos que 250 us são para o ping bater no objeto e outros 250 us são necessários para o seu retorno.
A velocidade aproximada do som no ar seco é dada pela fórmula:

c = 331,5+0,6*(temperatura do ar em graus Celsius) [m/s]

@20°C , teríamos:

c = 331,5+0,6*20 = 343,5 m/s

Se convertermos a velocidade em centímetros / micro-segundos, obtemos:

c = 343,5*100/1000000 = 0,03435 cm/us

A distancia é então: D=( Δt/2)*c,

ou

D = 250*0,03435 = 8,6 cm

Ao invés de usar a velocidade do som, podemos também usar o "Pace of Sound"
Pace of Sound = 1/Velocidade do Som = 1/0,03435 = 29,1 us/cm

No caso da nossa equação D = ( Δt/2)/Pace of Sound

Ou seja:

D = 250/29,1 = 8,6 cm




HARDWARE & MATERIAL:

1 x Arduino UNO, MEGA, Duemilanove ou Teensy 2.0++
1 x Bread-Board
1 x Sesnor Ultra-sônico tipo HC-SR04
Fios e cabos para as conexões



datasheet: http://iteadstudio.com/store/images/produce/Sensor/HCSR04/HC-SR04.pdf



Visualização Frente

Visualização Costas
Especificações:

Alimentação: 5 VDC
Corrente de trabalho: 2 mA
Ângulo eficaz: < 15°
Alcance de distância: 2,5 ~ 430 cm
Resolução: 0,3 cm

Dimensões e diagrama de ângulo de trabalho

Tipica configuração de pinos


Gráfico de sequência de operação


Veja, que para o funcionamento, é necessário ativar o TrigPin por 10 us e então internamente o sensor PING emite 8 pulsos de 40Khz. Em seguida ele ativa a saída ECO e mantém esta saída ativa até que seja detectado o retorno do sinal no sensor. O tempo que o EcoPin vai ficar ativo é de:
150us para distancia mínima de 2,5cm
25ms para distância máxima de 4,3m
38ms para fora de alcance

Num cálculo básico, usando a biblioteca Ultrasonic.h, basta dividir o sinal por 58 para obter a distância em cm ou por 148 para obter a distância em polegadas.




ESQUEMAS & LAYOUT:

Abaixo o esquema básico de montagem:
GND do sensor conectado ao GND do Arduino
VCC do sensor conectado ao 5V do Arduino
Trig do sensor conetado ao pino digital 9 do Arduino
Echo do sensor conectado ao pino digital 8 do Arduino





SOFTWARE & PROGRAMAÇÃO:

Serão apresentado dois softwares, um sem uso de biblioteca e um com uso de biblioteca "Ultrasonic"
Você pode fazer o download da biblioteca e obter mais informações sobre ela diretamente dos sites:

http://iteadstudio.com/store/images/produce/Sensor/HCSR04/Ultrasonic.rar


http://iteadstudio.com/application-note/arduino-library-for-ultrasonic-ranging-module-hc-sr04/


O programa para Arduino ou Teensy 2.0++ pode ser obtido diretamente no 4shared:


http://www.4shared.com/file/rRfB9sHe/PING_Sensor_1.html





VÍDEOS:

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

Assista diretamente no:
Screencast - http://www.screencast.com/t/v3G2FvGzNp






Até o próximo projeto!


domingo, 11 de novembro de 2012

PONTE H - Experimentos, Parte-2


-->









PONTE H, Controle de Motor de Passo


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


Este é um complemento aos posts anteriores, para mostrar o controle de um motor de passo utilizando a breakout de PONTE H-L298N.

Abaixo temos todo o esquema de ligação e os programas utilizados, além do vídeo explicativo.


HARDWARE & COMPONENTES:
1 x Arduino UNO, MEGA, Duemilanove ou Teensy 2.0++
1 x Ponte-H com L298N
1 x Motor de Passo tipo 17PM-M011 com 1.8 graus x 200 passos / 5V
1 x Potenciômetro 5K
1 x Regulador de Tensão 7805CT
Fios cabos e conectores para as ligações

Modelo 17PM-K021
O modelo de motor utilizado é unipolar, porém motores bipolares também podem ser usados.






Módulo Ponte H 2 Canais L298N
Este é um módulo de controle de motor DC com dois canais que  permite controlar velocidade e sentido de rotação de até dois motores.
Obs.: O pino +5V da placa PONTE-H é uma saída para alimentar o Arduino ou o Teensy 2.0++. Nunca utiliza como entrada (o %V enable deve permanecer configurado.



ESQUEMAS & DIAGRAMAS:

Foi usado o Tennsy 2.0++
mas o diagrama pode facilmente ser modificado para usar o Arduino (exemplo: usar as portas 8, 9 ,10 e 11 ao invés das 10, 11, 12 e 13; e também usar a porta analógica 0 ao invés da 38).








SOFTWARE & PROGRAMAÇÃO:

Baixe o software diretamente do 4shared:


http://www.4shared.com/file/bHxiWsUb/SteppMotor_SpeedControl_Knob.html





VÍDEO:

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

Assista diretamente no youtube, ou no Screencast:

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

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







Até o próximo projeto.










domingo, 4 de novembro de 2012

Arduino - BlueTooth


-->



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 - BLUETOOTH


O módulo Bluetooth serial, proporciona capacidade de controle remoto em até 50m de dispositivos LED, relés e cargas eletronicamente acionadas.

Os usos podem ser variados, podemos com tiristores, TRIACs e circuitos opto-acoplados, controlar cargas desde alguns mili-Ampéres até algumas dezenas de Ampéres.

Abaixo o circuito básico, controlando 3 LEDs nas cores Verde, Amarelo e Vermelho (sugestivo para simulação de semáforo). Vale sua criatividade em criar sequencias de acionamento.
Crie seu próprio projeto de automação residencial, controlando lampadas, eletrodomésticos, portões e outros dispositivos via celular/bluetooth.


HARDWARE & COMPONENTES:

1 x Arduino UNO, Duemilanove, MEGA ou TeensyDuino
1 x módulo bluetooth TX/RX
3 x resistores de 330Ω
3 x LEDs (cores: verde, amarela e vermelha)
1 x bread-board
1 x bateria + clip de alimentação
fios e cabos para conexões e comunicação

Módulo Bluetooth:



Módulo Bluetooth


DIAGRAMAS & ESQUEMAS:

Conexões com o módulo bluetooth

SOFTWARE & PROGRAMAÇÃO:


Para controle do Arduino via Bluetooth, utilizamos o software chamado: "S2 bluetooth terminal" encontrao gratuitamente no Marketing do Android, ou pelo link: http://www.androidzoom.com/android_applications/communication/s2-bluetooth-terminal-3_cgdny.html


O funcionamento é simples:
Ao digitar e enviar o número 1 no terminal bluetooth, acenderemos o LED verde, ao digitar e enviar a letra 'A' (considerando maiúsculas e minúsculas) apagará o LEd verde.
Assim acontecendo com o número 2 / letra 'B' e número 3 / letra 'C'.

Podemos enviar os comando separadamente ou enviar os comandos em sequência. O tempo entre um comando e outro dentro de uma sequencia é ajustado pelo parâmetro "tempo" no programa (teste a sua própria temporização), vamos ver abaixo:

Comandos individuais:
1 = liga o LED verde;
A = desliga o LED verde;
2 = liga o LED amarelo;
B = desliga o LED amarelo;
3 = liga o LED vermelho;
C = desliga o LED vermelho.

Sequencia de comandos (exemplos):
pisca-pisca - 1A1A1A1A1A1A1A1A (liga LEDvd espera 250ms desliga LEDvd...........)
pisca-pisca - 1111A1111A1111A1111A1111A (liga LEDvd 4 x 1000ms e desliga LEDvd..........)

sequencial vai e vem - 123CBA123CBA123CBA123CBA
pisca LEDs sequencias - 1A2B3C1A2B3C1A2B3C
semáforo (tempo mudado para 1000ms) - 111111A22B33333C111111A22B33333C111111A22B33333C111111A22B33333C (acende LEDvd por 5s, apaga LEDvd; acende LEDam por 2 s, apaga LEDam; acende LEDvm por 5s, apaga LEDvm)

Invente sua sequência de atuação....





Para o Arduino você pode baixar o scketch diretamente do 4shared, veja link abaixo:

http://www.4shared.com/file/O2fqPWlH/BlueTooth_1.html





VÍDEO:

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

Assista no screencast: http://www.screencast.com/t/YTfqRqDG








Espero que este projeto tenha ajudado a compreender como usar o módulo bluetooth com o Arduino.
Então, até o próximo projeto.


Não deixe de divulgar o blog para podermos divulgar o conhecimento a todos.

Obrigado.







domingo, 14 de outubro de 2012

BUGBot - Robot Seguidor de Luz - Parte-4



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




Vamos agora a construção da placa de circuito impresso, montagem e prova final do BUGBot.

Circuito Impresso:

Como já mostrado anteriormente, abaixo temos o layout da placa de circuito impresso.
Esta placa é responsável pela parte de driver de potência para os motores, sinalização do motor que está sendo acionoado, acondicionar os sensores de  luz (LDRs) e os Trim-Pots de ajuste de sensibilidade, conexão com o Arduino.  Referir-se a parte 2 para maiores detalhes.




Fotos reais do projeto:

Placa furada e componentes

Placa corroída e componentes

Componentes utilizados

Placa pronta - Lado dos componentes

Placa pronta - Lado cobreado/solda

À frente os sensores LDR

Posicionamento da placa no chassi



Motagem final:


Na montagem final, não é necessário apertar muitos os parafusos, devido a sensibilidade do acrílico. Pode ser utilizado arruelas de pressão para manter os parafusos sempre bem presos, sem necessidade de muito torque (aperto).
Como podem notar, houve uma rachadura na base do apoio da roda 360, devido a pressão exercida nos parafusos e o centro do conjunto da roda.


Arduino e bateria de 9V posicionados


Como os tubos espaçadores são de mangueira plastica, elas mesmas funcionam como uma borracha dando elasticidade ao material e pressão nos parafusos/porcas.


Detalhe do Pack de bateria de alimentação dos motores

Na parte de baixo do chassis, pode se perfeitamente comportar os pack de baterias.

Para fixar as placas, o pack de baterias e a bateria de 9V; aconselho o uso de velcro (pequenos quadrados de 1 x 1 fixados com cola ou fita dupla face.

Outros furos podem ser necessários no chassis superior para comportar mais componentes, tais como: sensores, servo-motores, outras placas.... Para isto podem ser feitos acessórios e ou extensões no chassi. Aqui vale sua criatividade no projeto.



TESTE FINAL, VÍDEO:

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

Durante os testes finais, tive um pequeno problema:

Devido a rotação do motor e da relação da caixa de redução 58:1, o conjunto motriz ficou com muita força, de tal forma que o BUGBot girava muito rápido e com muita força, dando guinadas para a esquerda e para direita.... perdendo um pouco da orientação de luz.

Para resolver este problema, foi necessário uma modificação no programa principal do Arduino.
Ao invés de utilizar saída digital (0V e 5V) para comandar o acionamento do motor, passei a utilizar saída PWM.
Assim foi possível controlar a velocidade de acionamento do motor, ajustando dessa forma o giro e portanto a força do conjunto motriz.

Abaixo o Link para o progrma do  BUGBot versão 2.


http://www.4shared.com/file/k7Z_bvYS/Bug_Bot_R2.html



Ficarei devendo um vídeo com uma fonte de luz melhor (foco e intensidade) para mostrar o perfeito funcionamento do BUGBot.
Abaixo um vídeo preliminar para demonstração.
Assista no youtube: http://www.youtube.com/watch?v=91X0y2dKauE
Assista no screencast.com: http://www.screencast.com/t/oslQ9TTFHlMc





Isto é tudo pessoal. Até o próximo projeto...





sábado, 6 de outubro de 2012

BUGBot - Robot Seguidor de Luz - Parte-3





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


O chassi do Robot, certamente é a parte mais difícil de fazer, quando se fala da confecção da estrutura mecânica do mesmo.

Projeto do Chassi:

Este é o projeto do Chassi com todas as dimensões.
Furação fica a seu critério, pois depende também do Kit motriz utilizado e da aparencia que você quer dar ao seu Robot.

Dimensões em milímetros (mm).

Chassi inferior


A altura entre o chassis inferior e o superior fica a critério do seu projeto e estética do robot.

Abaixo temos um passo para a construção de um chassi em acrílico (mais ou menos umas 4 horas de trabalho).

Material necessário:

Kit Motriz Tamiya (não vem montado);
2 x Rodas emborrachadas para Kit Tamiya;
Roda 360 pequena (como as de malas);
Chapa de acrílico de 300 x 300 x 3 mm (vai sobrar, mas é melhor ter sobra pra eventuais imprevistos);
4 x parafusos 5mm x 50mm + porca + arruela;
6 x parafusos 3mm x 15mm;
15cm de tubo transparente (5mm) para trabalhar como espaçador;

Ferramentas:

Serra Stanley;
Lima - meia cana, redonda, plana;
Riscador/estilete para corte de acrílico;
Caneta marcador;
Micro Retifica;
Chaves de fenda/philips e de boca;


Detalhes da construção:

Kit Motriz Tamiya montado
Seguir corretamente as instruções de montagem do Kit.

Acrílico fumê usado como base do chassi
Este acrílico foi retirado de uma prancheta de baixo custo (no máximo R$ 10,00).
Cada chapa tinha 21x25.

Roda 360 graus
Como as rodas de mala 360 graus -  R$ 5,00

Acrílico senso cortado

Base do chassi, segundo o projeto
Detalhe da parte de corte do acrílico no estilete

Chassi pronto para furação e centralização do conjunto motriz

Apoio da roda 360 em acrílico

Chassi já furado

Posicionamento do conjunto motriz

Conjunto motriz posicionado

Preparação dos espaçadores do chassi inferior e do superior

Espaçadores e conjunto de parafusos, porca e arruela preparados

posicionamento dos parafusos

Notar que na parte de baixo do chassi, foi feito um aprofundamento oval no chassi, para que a roda 360 possa girar livremente (isso não estava no projeto).

Colocação dos espaçadores

posicionamento do chassi superior (já montado a roda 360 no suporte)

Detalhe do espaçador + parafuso

Detalhe do conjunto da roda 360

Detalhe da montagem antes da colocação da roda 360

Foi notado a necessidade de fazer um recuo no chassi inferior para a roda 360

Detalhe do espçador de tubo transparente

Produto finalizado

Visto de cima
 É isso,..... depois de quase 4 horas de trabalho (o acrílico exige muito cuidado, use sempre a ferramenta certa para cada etapa) o produto final ficou muito bom, com aparência profissional.
Comprimento total = 210mm
Largura total = 110mm
Altura total = 48mm

Com as sobras de acrílico, é possível fazer alguns acessórios para colocar sensores no nosso chassi e assim podemos fazer diversos tipos de Robots com ele.


Até o próximo Post, onde será mostrado o funcionamento do Robot em ação.

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