Índice:
- Etapa 1: História
- Etapa 2: Teoria e Metodologia
- Etapa 3: configuração do hardware
- Etapa 4: configuração do software
- Etapa 5: Solução de problemas
- Etapa 6: Código Arduino
Vídeo: Sistema de radar simples do Magicbit: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Este tutorial mostra como fazer um sistema de radar simples usando o sensor HC-SR04 e a placa de desenvolvimento Microbit com processamento e IDE do Arduino.
Suprimentos:
- SG90 Micro-servo motor
- Fios de ligação (genérico)
- Breadboard (genérico)
- Magicbit
- Cabo USB-A para Micro-USB
- Sensor Ultrassônico - HC-SR04 (Genérico)
Etapa 1: História
Neste tutorial, aprenderemos como fazer um sistema de radar simples usando a placa de desenvolvimento principal do Magicbit. Para isso utilizamos o sensor ultrassônico HC-SR04 e para a exibição dos dados utilizamos o ambiente de processamento. Vamos começar.
Etapa 2: Teoria e Metodologia
Primeiro, vamos discutir como isso funciona. O princípio é muito fácil. Primeiro, giramos nosso sensor em torno do eixo vertical em uma faixa de 180 graus continuamente. Durante esse movimento, pegamos os dados sobre a distância até o objeto mais próximo do sensor ultrassônico em todos os ângulos. Para este processo, usamos a placa principal Magicbit. Depois, temos que estabelecer a conexão com o ambiente de processamento para mostrar nossos dados. Para isso, usamos protocolo de comunicação serial com taxa de transmissão adequada. Em seguida, projetamos a interface do nosso sistema de radar usando o IDE de processamento. Nesse IDE configuramos nossa comunicação serial para obter dados em tempo real via serial. Portanto, fazemos comunicação em tempo real com o Magicbit e mostramos os dados que são enviados do Magicbit para o IDE de processamento.
Etapa 3: configuração do hardware
Para este projeto, usamos principalmente três componentes de hardware. Eles são Magicbit, servo motor e sensor ultrassônico. A conexão entre todas essas partes é mostrada na Figura acima.
Sensor ultrassônico usado 3,3 V para ligar. Por isso, usamos a porta inferior direita da placa Magicbit para conectar o sensor ultrassônico ao Magicbit. Mas o servo motor é usado 5V para o funcionamento adequado, por isso usamos a porta inferior esquerda para conectar o servo motor com Magicbit. Neste caso, usamos o módulo conector servo Magic bit. Mas se você não tiver esse módulo, você pode usar três fios de jumper para conectar 5V a 5V, Gnd a Gnd e pino de sinal a 26 pinos no magicbit.
Depois de construir o circuito, temos que construir uma pequena parte mecânica. defina o conector do servo de lado único para o servo motor usando uma porca pequena. Em seguida, fixe o sensor nesse conector usando algum suporte em forma de L ou da maneira adequada. Depois de todo o sistema, fixamos o breadboard. Mas você pode usar outra superfície para montar servo e Magicbit.
Etapa 4: configuração do software
O lado do software é um pouco complexo. Para um entendimento adequado, você pode consultar os links a seguir antes de prosseguir para a próxima parte.
magicbit-arduino.readthedocs.io/en/latest/
hello.processing.org/editor/
Vejamos o código do Arduino IDE e como esse código funciona.
Para dirigir o servo, usamos a biblioteca de servo ESP32. Esta biblioteca quase inclui o gerenciador de placa de bits mágicos no IDE do Arduino. Para lidar com o sensor ultrassônico, usamos a biblioteca newPing. Isso pode ser baixado do seguinte link.
bitbucket.org/teckel12/arduino-new-ping/do…
Baixe o arquivo zip e vá em ferramentas> incluir biblioteca> adicionar biblioteca Zip no Arduino. agora selecione o arquivo zip baixado da nova biblioteca de pinos. Para comunicação com processamento, usamos comunicação serial com taxa de transmissão de 115200 baud. Esta é a frequência mais adequada para ESP32. Em todos os ângulos, enviamos nossos dados para o computador usando este protocolo. A distância até o objeto frontal mais próximo do sensor, a direção de rotação e o ângulo de rotação estão incluídos nestes dados. Usando dois loops for, giramos nosso servo em duas direções. Enquanto um grau de rotação, enviamos dados seriais em 4 vezes. A razão para isso você pode entender no processamento da explicação da parte.
Agora é hora de examinar o ambiente de processamento. Este é um software de programação baseado em java. Podemos escrever um esboço de nosso programa neste esboço no processamento de IDE. Também podemos gerar saída visual ao executar nosso programa. Além disso, você pode obter a saída como objetos 2D e 3D. Não só isso, ele pode ser usado para processamento de imagem e muito mais.
No esboço de processamento, primeiro projetamos nossa interface de exibição de dados usando funções gráficas simples. No início do código, estabelecemos nossa comunicação serial incluindo bibliotecas seriais. Na função de configuração, você deve fazer algumas alterações de acordo com a porta USB usada para conectar o Magicbit ao computador. você pode verificar sua porta usando o Arduino IDE ao configurar o Arduino IDE para fazer o upload do código. Em seguida, altere o nome da porta de comunicação na parte de configuração no esboço de processamento. quando os dados seriais estão disponíveis, a função Serialevent é acionada automaticamente. Portanto, a lógica principal do código é a inclusão em evento serial para evitar a perda de ângulos e dados. quando novos dados estão disponíveis, desenhamos uma linha na tela de acordo com nosso ângulo. Nesse momento, se não houver detecção de objeto, a linha inteira será verde. Do contrário, alguma parte da linha ficará vermelha de acordo com a distância do sensor ao objeto. Além disso, na direção de rotação correspondente, desenhamos outras 200 linhas próximas a essa linha com nível decrescente de cor verde. entre cada principal, temos uma diferença de 0,25 graus. Portanto, obtemos 4 leituras por vez do Magicbit em cada rotação de grau. Por causa disso, podemos criar belas mãos de busca na tela.
Depois de fazer o upload do código com sucesso para o Magic e definir a parte do hardware com sucesso, abra o IDE de processamento e execute o código clicando no botão Executar. Agora você tem um sistema de radar muito simples.
Você pode personalizar os códigos conforme desejar o que deseja exibir.
Etapa 5: Solução de problemas
O esboço de processamento não está em execução.
- Espere um pouco. Por causa do tempo de inicialização depende do desempenho do seu PC e GPU.
- Verifique se o número da porta serial está correto no processamento do esboço.
- Verifique se a conexão USB está fixada corretamente.
- Verifique a conexão entre o sensor ultrassônico e o Magicbit.
- Abra o monitor serial e verifique se os dados estão vindo do Arduino. Se não, o problema é o código do Arduino ou a conexão USB.
O servo não está funcionando.
- Verifique se a conexão USB está fixada corretamente.
- Verifique a fiação.
- Verifique se o servo está em boas condições.
Etapa 6: Código Arduino
#incluir
#define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // inclui a distância interna da biblioteca servo; Servo RadarServo; void setup () {Serial.begin (115200); RadarServo.attach (26); // Define em qual pino está o servo motor conectado delay (3000); } void loop () {// gira o servo motor de 15 a 165 graus para (int i = 0; i <= 180; i ++) {RadarServo.write (i); atraso (50); distance = sonar.ping_cm (); // Chama uma função para calcular a distância medida pelo sensor ultrassônico para cada grau para (int j = 0; j0) {break; } Serial.print (i); // Envia o grau atual para a porta serial Serial.print (","); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação Serial.print (j); // Envia o grau atual para a Porta Serial Serial.print ("*"); Serial.print (1); // Envia o valor da distância para a porta serial Serial.print ("/"); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação Serial.print (distance); // Envia o valor da distância para a porta serial Serial.print ("."); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação}} // Repete as linhas anteriores de 165 a 15 graus para (int i = 180; i> = 0; i -) {RadarServo.write (i); atraso (50); distância = sonar.ping_cm (); para (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {continue; } Serial.print (i); // Envia o grau atual para a porta serial Serial.print (","); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação Serial.print (j); // Envia o grau atual para a porta serial Serial.print ("*"); Serial.print (-1); // Envia o valor da distância para a porta serial Serial.print ("/"); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação Serial.print (distance); // Envia o valor da distância para a porta serial Serial.print ("."); // Envia o caractere de adição próximo ao valor anterior necessário posteriormente no IDE de processamento para indexação}}
}
Recomendado:
Sensor de cor DIY simples da Magicbit: 5 etapas
Sensor de cor DIY simples da Magicbit: neste tutorial, aprenderemos como fazer um sensor de cor simples usando Magicbit com Arduino
Status simples do Kicker e sistema de reservas com integração Slack: 12 etapas (com imagens)
Sistema de Reserva e Status Simples de Kicker com Integração Slack: Em uma empresa onde trabalho há uma mesa de kicker. A empresa ocupa muitos pisos e para alguns dos colaboradores demora até 3 minutos a chegar à mesa e … a perceber que a mesa já está ocupada. Surgiu então a ideia de construir um ki
Sistema simples de classificação de produtos com Raspberry Pi e Arduino: 5 etapas
Sistema Simples de Classificação de Produtos com Raspberry Pi e Arduino: Sou um FÃ de engenharia, adoro programar e fazer projetos eletrônicos relacionados no meu tempo livre. Neste projeto, gostaria de compartilhar com vocês um Sistema Simples de Classificação de Produtos que fiz recentemente. este sistema, por favor, prepare os componentes a
Sistema de login de arquivo em lote simples com barra de carregamento: 5 etapas
Sistema de login de arquivo em lote simples com barra de carregamento: Aqui estamos compartilhando arquivo de lote para sistema de login com barra de carregamento. Mostraremos o código e também como usá-lo. Você também pode visitar nosso blog para obter mais códigos de arquivo em lote. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html Rar
Um monitor de turbidez simples e sistema de controle para microalgas: 4 etapas
Um monitor de turbidez simples e sistema de controle para microalgas: Digamos que você esteja entediado com a amostragem de água para medir a turbidez, um termo grosseiro que indica qualquer partícula pequena suspensa na água, que reduz a intensidade da luz com um caminho de luz crescente ou uma partícula mais alta concentração ou ambos