FECHAR
....

Sua contribuição compartilhando este site é muito importante para mim!
Fabiones Web Site
Fabiones Web Site










Controlando um Ultrassom com arduino
Entenda o funcionamento do sensor ultrasônico


sensor ultrassom

O Arduino possui muitos sensores. Aqui vamos ver como controlar o sensor de Ultrassom. Primeiro vamos entender o funcionamento dos sensores ultrassônicos. Este sensor ultrassom emite um sinal na faixa de frequência (por volta de 30kHz). Este sinal se propaga pelo ar até encontrar um obstáculo. Ao colidir com o obstáculo uma parte do sinal é refletida e captada pelo sensor. Portanto, um único sensor de ultrassom, possui um receptor e um emissor.

Obeserve o codigo abaixo:

codigo do sensor ultrasônico
Como temos um receptor e um emissor, precisaremos de dois pinos um para cada (existe ultrassons que possuem um pino para os dois, porém os mais comuns utilizam dois). Portanto declaramos dois pinos, um como saída (que emite o sinal) e outro como entrada (que recebe o sinal). O pino que envia o pulso é chamado de trigger e o que recebe echo

Observe que começamos com o trigger desligado, e logo após 2 microssegundos o trigger emite o sinal. Após 10 microssegundos o trigger volta a ser desligado. Na variável duration fica armazenando o tempo entre a emissão do sinal até o echo entrar em HIGH. Assim, a distância é calculada utilizando a formula de velocidade V = S/t. Como o tempo é de ida e volta, devemos dividir o mesmo por 2. A velocidade do som no ar é de aproximadamente 340 m/s. Após algumas conversões de unidades temos que para que o resultado saia em centímetros, temos que dividir o tempo (duration) por 29. Por fim o resultado é impresso no serial monitor. Para ligarmos o sensor precisaremos de auxílio de um
protoboard. Observe que no sensor vem especificado, trigger, echo, vcc e gnd. Agora é só ligar cada pino em seu correspondente e testar o seu programa.

Utiliazando a interrupção

Uma interrupção de entrada e saída (IO) é uma função que é executada quando existe uma mudança estado no pino correspondente, independente do ponto em que se encontra a execução do programa. O Arduino UNO possui dois pinos que podem ser ligados como interrupção, os pinos 2 e 3 (no Arduino mega temos 6 interrupções).

A função attachInterrupt (interrupcao,funcao,modo) permite configurar uma função para ser executada caso haja uma mudança no pino de IO correspondente. Os parâmetros da função são utilizados da seguinte forma:

1 – interrupção: um inteiro que informa o número da interrupção, sabendo que a interrupção 0 está associada ao pino 2 e a interrupção 1 está associada ao pino 3.

2 – função: É a função a ser chamada caso ocorra a interrupção. Essa função não deve ter parâmetros e nem retornar nada. É conhecida como rotina de serviço de interrupção.

2 – função: É a função a ser chamada caso ocorra a interrupção. Essa função não deve ter parâmetros e nem retornar nada. É conhecida como rotina de serviço de interrupção.

3 – modo: Define quando a interrupção deve ser acionada. Quatro constantes são pré-definidas como valores válidos: LOW para acionar a interrupção sempre que o pino for baixo, CHANGE para chamar uma interrupção sempre que o pino sofrer alguma alteração de valor, RISING para acionar quando o pino vai LOW para HIGH e por fim FALLING para acionar quando o pino vai de HIGH para LOW.

Segue o exemplo abaixo em que um Led é acendido ou apagado quando ocorre alguma alteração no pino 13:

exemplo codigo de interrupção

Para praticar tente adicionar uma interrupção com um Sensor ultrassom





Se você quer aprender a fazer robôs autônomos que desviam de obstáculos, braços robóticos e carrinhos controlados por celular smartphone, nós o ensinamos ! além de aprender a desenvolver sistema de automação para deixar sua casa inteligente com lâmpadas acionadas por bluethot entre outros eletrodomesticos, comandados por sua voz. E não precisa entender de programação ou de eletrônica. Pois neste Curso de Automação e Robótica você vai aprender !