dk105 grove - radiuinoradiuino.cc/wp-content/uploads/2015/07/docsonar.pdf · utilizamos um sonar...
Post on 12-Dec-2018
212 Views
Preview:
TRANSCRIPT
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, podese 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 referese 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
Podese 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 eletromagné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 podese mudar o canal a ser usado, podendo selecionalo 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 podese 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. Devese 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 podese 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 podese 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
top related