dk105 grove - radiuinoradiuino.cc/wp-content/uploads/2015/07/docsonar.pdf · utilizamos um sonar...

18
DK105 GROVE Sonar Radiuino

Upload: tranhanh

Post on 12-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

DK105 GROVE Sonar

Radiuino

 

 

O presente projeto visa mostrar uma básica aplicação com o Kit DK 105 ­ Grove. Utilizamos um sonar                                   ultrassônico Grove juntamente ao nó sensor para medir distância de obstáculos. O valor desta medida                             (distância) será apresentado em centímetros no serial print do computador conectado ao nó base. 

Apresentaremos então o Kit a ser usado na figura 1. 

 

Figura 1 - Kit DK 105 juntamente com um sonar

Este Kit possui dois nós, um nó sensor/atuador que realiza as medidas, e outro nó base que recebe os dados                                       enviados pelo nó sensor. 

 

 

 

 

 

radiuino.cc 1

 

● Nó sensor  

O primeiro a ser configurado será o nó sensor. Primeiramente é necessário ligar o nó sensor como mostra a                                     figura 2.  

 

Figura 2 - Ligação do nó sensor

A figura 3 apresenta como deve ser a conexão do programador UartSBee na placa Grove para que seja                                   possível a gravação do firmware. Juntamente ao programador foi conectado o cabo USB para realizar a                               comunicação serial.  

Não podendo esquecer que a placa somente irá funcionar se estiver conectada a fonte de tensão, desta                                 forma, pode­se afirmar que o firmware só será gravado quando a placa estiver alimentada. 

 

radiuino.cc 2

 

Figura 3 - Conexão do UartSBee na placa DK 105

Outro fator importante para alimentação da placa é conectar os pinos POWER USB e VDC, com uma pequena chave interligar os pinos 2 e 3. Para facilitar a compreensão a figura 4 apresenta esta conexão. 

Figura 4 - Chave de ligação para alimentação

Em seguida conectamos o Grove do sensor (sonar) no bloco D7 da placa DK 105, este bloco refere­se aos                                     pinos VCC, GND, porta de saída 7 e porta de entrada 8. A figura 5 apresenta como deve ser conectado o                                         Grove sensor na placa. 

radiuino.cc 3

 

Figura 5 - Conectando o sensor (sonar) na placa DK 105

 

O fio preto corresponde ao GND, o fio vermelho corresponde ao VCC, o fio branco corresponde ao Echo                                   (porta de entrada 8 no BE900) e o fio amarelo corresponde ao Trig (porta de saída 7 no BE900). 

Em sequência é feita a gravação do firmware. Para isto é necessário abrir a área do Arduíno de programação                                     como mostra a figura 6. 

Ressaltando que é necessário que seja a versão Arduíno ­ 1.0.6 ­ radiuino ­ 2.2, desta forma contém as                                     bibliotecas necessárias para habilitar o rádio BE900. 

Figura 6 - Área de programação do Arduíno

radiuino.cc 4

Em seguida é necessário abrir um exemplo de radiuino _ sensor, a figura 7 apresenta como selecionar este                                   exemplo. 

 

Figura 7 - Selecionando exemplo radiuino -sensor

Após abrir o exemplo, é necessário fazer algumas modificações no código. Para isto, primeiramente                           mudaremos alguns parâmetros na primeira ala do radiuino_ sensor. A figura 8 apresenta esta mudança no                               código, do lado esquerdo da figura é apresentado o exemplo radiuino_ sensor e do lado direito da figura é                                     apresentado a mudança feita para o código funcionar com o sonar. 

 

 

Figura 8 - Primeira mudança no código  

 

Pode­se observar que foi definido uma variável cm = 0, ou seja, foi declarado uma variável universal                                 cm (podendo esta ser utilizada nas demais camadas) e zerou a variável para que ela não inicie com qualquer                                     outro valor. 

radiuino.cc 5

Em seguida é necessário definir a taxa de comunicação serial, neste projeto estaremos utilizando                           uma taxa de 9600. Também foi preciso declarar as portas de entrada e saída, sendo a porta 7 (do BE900) de                                         saída e a porta 8 (do BE900) de entrada. A figura 9 apresenta esta mudança. 

 

Figura 9 - Segunda mudança no código

 

A última mudança nesta ala ocorre dentro do Void Loop, é a principal parte do código para que o sonar funcione.                                         Foi criada uma variável chamada duração e dentro desta é armazenado o valor da contagem obtida pelo pino 8.                                     Basicamente funciona da seguinte forma, o pino 7 envia pulsos a cada determinado tempo, conforme envia um pulso o                                     pino 8 inicia a contagem até que receba nível alto (eco ­ onda eletro­magnética bate no obstáculo e retorna para o sonar),                                           o valor desta contagem deve ser divido por um fator igual a 29, em seguida o resultado desta divisão deve ser divido                                           novamente por 2, desta forma obtém a distância em centímetros. 

A figura 10 apresenta esta etapa do código. 

radiuino.cc 6

 

Figura 10 - Mudança do código dentro do void loop

Abriremos agora a ala da camada física (_1_Phy). Nesta seção é necessário mudar a freq_offset e o                                 número do canal, lembrando que a freq._ offset é o valor que está presente em cada rádio. A figura 11                                       apresenta o valor aqui utilizado para o rádio sensor.

 

Figura 11 - BE900 com número de freq. offset (Sensor)

A figura 12 apresenta esta mudança no código realizada na camada física (_1_Phy), lembrando que também pode­se mudar o canal a ser usado, podendo seleciona­lo entre 0 e 65. Neste projeto estaremos utilizando o canal 1. 

radiuino.cc 7

Figura 12 - Selecionando canal e freq. _ offset do Sensor

Após realizar estas alterações na camada 1, é necessário fazer algumas mudanças no código dentro                             da camada aplicação (_5_App).  

A figura 13 apresenta o que foi mudado em relação ao exemplo radiuino _ sensor, é possível                                 observar que o bloco de portas definidas como portas de saídas foi deletado. 

radiuino.cc 8

Figura 13 - Primeira mudança do código na camada 5

Mais adiante, através da figura 14, é possível observar que foi necessário incluir o AD0 (com AD0[1]                                 correspondente a parte do valor inteiro e AD0[2] correspondente ao restante do valor) para que seja possível                                 o envio do pacote com as informações desejadas. Lembrando que o AD0 foi configurado para obter o valor                                   de cm. No qual cm foi configurado anteriormente como variável para armazenar o valor da distância obtido                                 pelo sensor. O restante do código é deletado terminando em APP app = APP. 

Figura 14 - Segunda mudança do código na camada 5

radiuino.cc 9

Após realizar estas mudanças é necessário selecionar a placa e a porta (COM) para a gravação do                                 firmware. A figura 15 apresenta este passo a ser feito. 

 

Figura 15 - Selecionando a COM e a Placa do nó Sensor

 

Em sequência pode­se gravar o firmware como mostra a figura 16. 

Figura 16 - Gravando firmware do Sensor

radiuino.cc10

● Nó base  

A figura 17 apresenta como deve ser ligado o nó base. Após gravar o firmware do nó sensor, é                                     necessário utilizar o mesmo programador UartSBee para gravar o firmware do nó base. Deve­se                           conectar o cabo USB para que seja possível a comunicação serial. 

 

 Figura 17 -Nó base 

 

Para o nó base não é necessário realizar muitas mudanças no código a ser utilizado, apenas com                                 o exemplo radiuino _base é possível realizar a comunicação com nó sensor. 

Desta forma, a figura 18 apresenta como selecionar o exemplo radiuino _base a ser gravado no                                 rádio BE900 base.  

radiuino.cc11

Figura 18 - Selecionando exemplo radiuino _ base

Após o exemplo ser aberto, é necessário mudar a freq._ offset e o número do canal, lembrando que a                                     freq_offset é o valor que está presente em cada rádio. A figura 19 apresenta o valor aqui utilizado para o                                       rádio base. 

Figura 19 - BE900 com número de freq. _ offset (Base) 

A figura 20 apresenta esta mudança no código realizada na camada física (_1_Phy), lembrando que o canal a ser usado deve ser o mesmo canal usada para o nó sensor. 

radiuino.cc12

Figura 20 - Selecionando canal e freq. _ offset da Base

Após realizar estas mudanças é necessário selecionar a placa e a porta (COM) para a gravação do                                 firmware. A figura 21 apresenta este passo a ser feito. 

Figura 21 - Selecionando a placa e a COM da Base

 

radiuino.cc13

Em sequência pode­se gravar o firmware como mostra a figura 22. 

Figura 22 - Gravando firmware de Base

radiuino.cc14

● Realizando testes com Python  

Primeiramente é necessário ter o Python já instalado no computador, para esta etapa é                           necessário entrar no site www.radiuino.cc na sessão Download e seguir as etapas a serem                           realizadas.  

Já com o Python instalado é possível criar um novo código a ser usado ou baixar um                                 exemplo já pronto disponível no site www.radiuino.cc na sessão Aplicações ­ DK 105 sonar. Através                             deste pode­se realizar os testes.  

Após baixar o código para abrir é necessário clicar com o botão direito em cima do código e                                   seleciona a opção IDLE como mostra a figura 23.

Figura 23 - Abrindo o Python

Em seguida, é necessário clicar na sessão Run e seleciona a opção Run Module como mostra a                                 figura 24. 

 

Figura 24 - Atualizando Python

radiuino.cc15

Em sequência abrirá uma nova janela solicitando o número da porta serial (COM) que está sendo                               utilizada pela base, neste projeto por exemplo, estamos utilizando a COM 9. 

Em seguida o programa solicitará a opção desejada, selecionaremos a opção 1 para realizar                           medidas. 

Em sequência o código também irá solicitar a quantidade de medidas que deseja realizar, a figura 25                                 apresenta estes passos utilizando o número de medidas igual a 100. Lembrando que o número de medidas                                 pode ser qualquer valor.  

 

Figura 25 - Selecionando opções no Python

Após inserir o número de medidas, o programa apresentara as medidas realizadas com a distância                             em centímetros. A figura 26 apresenta um teste realizado. 

radiuino.cc16

Figura 26 - Teste realizado _ distância em cm

radiuino.cc17