Sistema de radar Arduino usando o aplicativo Android de processamento e sensor ultrassônico

Tempo de leitura: 7 minutes
Este é um projeto interessante no qual exploramos o poder de um Arduino e Android para criar um dispositivo de vigilância que usa o Arduino e o Ultra Sonic Sensor para transmitir as informações para um aplicativo móvel (Android) usando Bluetooth.
Segurança e proteção tem sido nossa principal preocupação desde as idades. A instalação de uma câmera de segurança que possui o modo noturno com opção de inclinação e panorâmica queima um grande buraco em nossa bolsos. Por isso, vamos criar um dispositivo econômico que faça quase o mesmo, mas sem nenhum recurso de vídeo.
Este dispositivo detecta objetos com a ajuda do sensor ultrassônico e, portanto, pode funcionar mesmo durante a noite. Além disso, estamos montando o sensor Ultra Sonic) sobre um servo motor, que pode ser configurado para girar automaticamente para escanear a área ou ser girado manualmente usando nosso aplicativo móvel, para que possamos focar o sensor ultrassônico em nossa direção necessária e sentir os objetos presentes por lá. Todas as informações detectadas pelo sensor serão transmitidas para o nosso telefone inteligente usando o módulo Bluetooth (HC-05). Portanto, ele funcionará como um sonar ou um radar.
Interessante né? …. Vamos ver o que precisaríamos para fazer este projeto.

Requisitos:

Hardware:
  • Fonte de alimentação A + 5V (estou usando minha placa Arduino (outra) para fonte de alimentação)
  • Arduino Mega (você pode usar qualquer coisa, desde pro mini até Yun)
  • Servo Motor (qualquer classificação)
  • Bluetooth Module (HC-05)
  • Sensor Ultra Sonic (HC-SR04)
  • Proteboard (não obrigatório)
  • Fios de conexão
  • Celular Android
  • Computador para programação
Software:
  • Arduino Software
  • Android SDK
  • Processing Android (Para criar aplicativos móveis)
Arduino-Radar-system-using-processing-android-app
Quando estivermos prontos com nossos materiais, vamos começar a construir o hardware. Dividi este tutorial na parte do Arduino e na parte de processamento para facilitar o entendimento. As pessoas que são novas no processamento não precisam temer muito, porque o código completo é fornecido no final do tutorial, que pode ser usado como tal.

Baixando e instalando softwares:

IDE do Arduino pode ser instalado em aqui. Baixe o software de acordo com o seu sistema operacional e instale-o. O Arduino IDE exigirá um driver para se comunicar com o seu hardware Arduino. Esse driver deve ser instalado automaticamente assim que você conectar sua placa ao computador. Tente fazer o upload de um programa intermitente a partir de exemplos para garantir que o Arduino esteja em funcionamento.
IDE de Processing pode ser instalado em aqui. O Processing é um excelente aplicativo de código aberto que pode ser usado para muitas coisas, possui vários modos. No “Modo Java”, podemos criar aplicativos para computadores Windows (arquivos .EXE) e no “Modo Android”, podemos criar aplicativos móveis para Android (arquivos .APK), também possui outros modos, como “Modo Python”, onde você pode escrever programas em Python. Este tutorial não abordará os conceitos básicos de Processamento; portanto, se você quiser aprender a programação ou processamento de java, acesse este ótimo canal do YouTube aqui.

Peça de hardware do Arduino e diagrama de circuitos:

Este projeto envolve muitos componentes como o Servo Motor, módulo Bluetooth, sensor Ultrasonic etc.
Todos os componentes não são alimentados pelo próprio Arduino porque, o servo motor, o módulo Bluetooth e o sensor consomem muita corrente que o Arduino não poderá fornecer. Portanto, é estritamente aconselhável usar qualquer fonte externa de +5V. Se você não tiver uma fonte externa de + 5V ao seu alcance, poderá compartilhar os componentes entre duas placas Arduino, como eu fiz. Conectei os trilhos de alimentação do Servos a outra placa do Arduino (cor vermelha) e o módulo Bluetooth HC-05 e o sensor ultrassônico HC-SR04 ao mega do Arduino. CUIDADO:

A energização de todos esses módulos usando uma placa Arduino irá fritar o regulador de tensão do Arduino.

O diagrama de conexão deste Projeto de sonar baseado em Arduino é fornecido abaixo:
Arduino-Radar-system-using-processing-android-app-circuit-diagram
Depois que as conexões forem feitas, monte o sensor no seu Servo motor, como mostrado abaixo:
Arduino-Radar-system-mounting-Ultrasonic-sensor-over-servo
Usei um pequeno pedaço de plástico que estava no meu lixo e uma fita dupla face para montar o sensor. Você pode ter sua própria idéia de fazer o mesmo. Também existem no mercado servidores que podem ser utilizados para o mesmo fim.
Depois que o Servo estiver montado e as Conexões fornecidas, ele deverá se parecer com isso.
Arduino-Radar-system-using-processing-and-bluetooth-hc-05
Siga os esquemas na parte superior se houver alguma conexão incorreta. Agora, vamos começar a programar o Arduino Mega usando o Arduino IDE.

Parte do Software Arduino:

Temos que escrever nosso código para que possamos calcular a distância entre um objeto e o sensor Ultra Sonic e enviá-lo para o nosso aplicativo móvel. Também precisamos escrever um código para o nosso servo motor varrer e também ser controlado a partir dos dados recebidos pelo módulo Bluetooth. Mas não se preocupe, o programa é muito mais simples do que você pode imaginar, graças ao Arduino e suas bibliotecas. O código completo é fornecido abaixo na seção de código.
A função abaixo é usada para fazer o servomotor varrer automaticamente da esquerda para a direita (170 a 10) e novamente da direita para a esquerda (10 a170). Os dois loops para são usados ​​para obter o mesmo. A função us () é chamada dentro de ambas as funções para calcular a distância entre o sensor e o objeto e transmiti-lo ao Bluetooth. Um atraso de 50 ms é dado para fazer o servo girar lentamente. Quanto mais lento o motor gira, mais precisas são as suas leituras.
//**Função de varredura do servo**//
void servofun()
{
  Serial.println("Varredura"); //para depuração
  for(posc = 10;posc <= 170;posc++)   // Usar 10 a 170 graus é seguro que 0 a 180, porque alguns servos podem não estar operacionais em anjos extremos 
  {                                
    servo.write(posc); //definir a posição do servo motor
    delay(50);  
 us();    //medir a distância dos objetos contar o sensor
  } 
  
  for(posc = 170;posc >= 10;posc--)   
  {                                
    servo.write(posc);
    delay(50); 
    us();    //medir a distância dos objetos contar o sensor             
  } 
  Serial.println ("Digitalização concluída"); //para debug
  flag=0;
}
//**Função de fim de varredura servo**//
Como dito anteriormente, o servo motor também pode ser controlado manualmente a partir do telefone inteligente. Você simplesmente desliza para a direita para fazer o motor se mover para a direita e desliza para a esquerda para fazer o motor se mover para a esquerda. A função acima é usada para obter o mesmo. O anjo do servo motor será recebido diretamente pelo módulo Bluetooth e armazenado na variável BluetoothData, então o servo estará na posição nesse anjo em particular usando a linha servo.write (BluetoothData ).
//**Função para controlar Servo manualmente**//
void manualservo()
{  
 us();

//Obtenha valor do usuário e controle o servo
   if (Blueboy.available())
   {
  BluetoothData=Blueboy.read();
  Serial.println(BluetoothData);
  servo.write(BluetoothData);
     Serial.println("Written");
     if (BluetoothData == 'p')
     {
  flag=0;
  }
   }
}
//__Fim da função de controle manual__//
A distância presente antes do objeto será calculada pela função abaixo. Ele funciona com uma fórmula simples que Velocidade = Distância/tempo. Como sabemos a velocidade da onda e o tempo gasto, a distância pode ser calculada usando as fórmulas acima.
//**Função para medir a distância**//
void us()
{
  int duration, distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1; //Calcula a distância do sensor
  if (distance<200 && distance >0)
  Blueboy.write(distance);       
  }
//__Função de medição de fim de distância__//
Se você tiver alguma dúvida no programa, sinta-se à vontade para usar a seção de comentários para suas perguntas. Assim, quando estivermos prontos com nosso código, podemos despejar imediatamente o código em nosso hardware. Mas o dispositivo de vigilância não começará a funcionar até estar conectado ao aplicativo Android.

Aplicativo móvel Android para radar Ultrasonic:

Se você não deseja criar seu próprio aplicativo e, em vez disso, apenas deseja instalar o mesmo aplicativo usado neste tutorial, siga as etapas abaixo.
1. Você pode baixar diretamente o arquivo APK a partir do link abaixo. Este arquivo APK foi criado para a versão Android 4.4.2 e superior (Kitkat e acima). Extraia o arquivo APK do arquivo zip. (Aplicativo para Android para Radar Ultrasonic)
2. Transfira o arquivo .Apk do seu computador para o seu celular.
3. Ative a instalação do aplicativo de fontes desconhecidas nas configurações do seu Android.
4. Instale o aplicativo.
Se instalado com sucesso, você encontrará o aplicativo chamado “Zelobt” instalado no seu telefone, como mostrado abaixo:
Android-app-for-Radar-system-using-arduino-and-ultrasonic
Se você instalou este APK, pode pular a parte abaixo e pular para a próxima seção.

Programando seu próprio aplicativo usando o Processing:
Você pode usar o arquivo .APK fornecido acima ou criar seu próprio aplicativo usando o Processing, conforme explicado aqui. Com pouco conhecimento em programação, também é muito fácil escrever seu próprio código para o seu aplicativo Android. No entanto, se você está apenas começando, não é aconselhável começar com esse código, pois é um pouco alto que o nível iniciante.
Este programa utiliza duas bibliotecas, a “Biblioteca Ketai” e a “Biblioteca ControlP5”. A biblioteca ketai é usada para controlar todo o hardware presente em nosso telefone móvel. Coisas como o telefone, bateria, valores do sensor de proximidade, valores do sensor do acelerômetro, opções de controle Bluetooth etc. podem ser facilmente acessados ​​por esta biblioteca. Neste programa, usamos esta biblioteca para estabelecer uma comunicação entre os telefones Bluetooth e o Arduino Bluetooth (HC-05). A “Biblioteca ControlP5” é usada para plotar gráficos para o nosso sistema de radar.
programa android completo está anexado, você pode baixá-lo aqui

CUIDADO:
 Não esqueça de instalar as bibliotecas mencionadas acima e não copie e cole somente a parte do código, porque o código importa imagens da pasta de dados que é fornecida no anexo acima. Portanto, faça o download e use apenas isso.
Depois de concluir a parte de codificação e compilá-la com sucesso, você pode conectar diretamente o seu telefone celular ao computador através do cabo de dados e clicar no botão play para alterar o aplicativo para o seu telefone móvel.
Visits: 0 Visits: 772182