» Eletrônicos » Arduino »Telêmetro na plataforma Arduino!

O telêmetro na plataforma Arduino!


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!
6
5
5

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
7 comentários
O autor
Oi)
Talvez você ainda tenha um esboço funcionando? Nisso, verifica-se que mesmo o sinal "<" foi substituído por "& lt;")
Olá Quando carrego seu esboço, ele produz vários erros de sintaxe por algum motivo. É claro que não estou mexendo muito com a sintaxe, mas em alguns lugares não consigo descobrir o que precisa ser corrigido. Por exemplo, em uma peça:
para (int i = 0; i100) tom (2,70);
digitalWrite (j, masiv [i]);
, o que significa o i100 mesclado? por que não incrementar? Você precisa de chaves para que as duas próximas funções pertençam ao mesmo loop, ou estou errado? E assim o compilador jura por todo o código. Posso entrar em contato com você, esclarecer o código? Estou tentando fazer um projeto de curso com base no seu artigo.

Além disso, no código no local em que as bibliotecas estão conectadas, seus nomes não são indicados. Claro, você pode adivinhar, mas ainda assim este esboço não é adequado para testes instantâneos, você deve pensar sobre isso)
O autor
Sim, é possível)
Ou seja, a penúltima foto (na qual 77) é simplesmente malsucedida devido a alguma iluminação parasita dos segmentos superiores como resultado de operação incorreta da exibição dinâmica? Os seis também têm uma luz de fundo espúria, embora não seja tão óbvia.
O autor
Ivan, leituras de 6cm e 11cm é a distância do sensor à palma da mão)
Por favor, explique por que um testemunho tão estranho nas duas últimas fotografias.

Aconselhamos que você leia:

Entregue-o para o smartphone ...