Bom dia a todos! Neste artigo, gostaria de dizer como usar Arduino, um conjunto de LEDs e um sensor ultrassônico, você pode montar um dispositivo que determina a distância do observador ao objeto, ou seja, range finder. E então vamos lá!
Do que precisamos:
Plain caixa. É desejável ter um tamanho pequeno, pois conterá apenas um microcontrolador.
Usando transdutor ultrassônico HC-SR04 nós podemos determinar a distância.
Indicador de quatro dígitos precisamos gerar os valores obtidos.
Definir LEDs qualquer cor (usei verde, porque são mais brilhantes), resistores a 220 ohms fios ou jumpers também tábua de pão.
Para que os componentes do nosso dispositivo sejam presos com segurança, eu os soldarei.
Para isso, precisamos ferro de solda, fluxo, soldatambém tábua de pão para solda.
E claro, sem Arduino nós não podemos fazer! (Você pode escolher qualquer microcontrolador, eu preferi o Arduino Leonardo ou seu equivalente Iskra Neo)
Das ferramentas, precisamos de um ferro de soldar, como eu disse acima, faca e pinças.
Agora vamos começar a montar o dispositivo.
Etapa 1
Para começar, usando uma placa de ensaio, montaremos um protótipo de nosso futuro dispositivo. Será algo parecido com isto ..
Não se preocupe! Não há nada de terrível nessa confusão de fios!
O sensor HC-SR04 possui quatro contatos: mais, menos (que colamos nos 5V e GND do controlador), Trig e Echo (inserimos os pinos do arduino nos 12 e 11, respectivamente)
O indicador de quatro dígitos possui 3 fios: energia, terra e sinal. O último está conectado ao Arduino de 9 pinos.
Conectamos três LEDs a 6, 5 e 4 contatos do controlador em série com resistores. Não se esqueça da polaridade. A corrente flui de uma perna mais longa para uma mais curta.
Isso é tudo, quando montamos nosso dispositivo em uma placa de ensaio, carregamos o esboço (ele estará no final do artigo) e garantimos que tudo funcione, fique à vontade para começar a soldar.
Etapa número 2
Primeiro, solde o sensor ultrassônico à placa de ensaio. Usei uma pequena placa de ensaio em tamanho, pois o número de elementos não excede 7.
Depois disso, com a ajuda de pinças, morda as pernas (peço desculpas pela tautologia), deixando-as mais curtas para que não interfiram e pareçam mais bonitas!
Depois disso, solde os quatro fios contra os contatos do sensor.
Também não se esqueça das pinças!
Etapa 3
O sensor está no lugar, resta soldar os três LEDs juntamente com os resistores.
No verso, fica assim:
Etapa 4
Ao lado da caixa, faça um furo redondo para alimentos.
Na tampa, é necessário cortar uma cavidade no tamanho (ligeiramente menor em comprimento) da sua tábua de pão e também fazer furos para parafusos.
Agora, se parafusarmos uma tábua de pão vazia sem elementos nela (fiz isso apenas para demonstração ..), obtemos algo como o seguinte:
Etapa 5
Portanto, para torná-lo mais conveniente, proponho primeiro conectar os fios ao arduino e só depois enroscar a tábua de pão na tampa da caixa. Além disso, não se esqueça do nosso indicador, que eu coloquei acima do layout.
Tudo nesta montagem do dispositivo está concluído!
Resta apenas fazer o download da próxima esboço e aproveite o brinquedo!
#include
#include
Sonar NewPing (12.11, 400);
int a, j, b;
longo não assinado t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
configuração nula ()
{
for (int i = 4; i & lt; 7; i ++)
{
pinMode (i, SAÍDA);
}
displayClear (9);
for (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
loop vazio ()
{
j = 7;
para (int i = 0; i100) tom (2,70);
digitalWrite (j, masiv [i]);
while (milis () & lt; = t + b)
{
atraso (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
t = milis ();
se (j == 4) j = 7;
se (i == 8)
{
digitalWrite (4.1);
while (milis () & lt; = (t + b) + (b * 2))
{
atraso (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
digitalWrite (4.0);
t = milis ();
}
}
Algumas palavras código do programa. Graças a ele, nossos três LEDs piscarão alternadamente, um após o outro, e a velocidade do piscar dependerá da distância do objeto, calculada pelo sensor ultrassônico. Mas, para fazer os LEDs piscarem, não é totalmente lógico usar a função delay (), pois quando usada, o controlador congela e nenhum cálculo é realizado. Existem várias maneiras de resolver esse problema. Em particular, um deles é o uso da função millis (), que retorna um número em milissegundos a partir do momento em que o controlador trabalha. E como atrasamos 100 milissegundos condicionais? Para fazer isso, criei um ciclo essencialmente vazio, cuja saída ocorrerá somente após esses 100 milissegundos e o programa continuará ligando / desligando os LEDs.
Bem, isso é tudo! Obrigado por ler este artigo até o fim. Espero que você não apenas tenha gostado dela, mas também tenha inspirado um novo mar artesanato e invenções!