Índice:
- Suprimentos
- Etapa 1: Sensor ultrassônico VS infravermelho
- Etapa 2: Esquemático
- Etapa 3: característica do sensor
- Etapa 4: comunicação serial
- Etapa 5: Aplicativo Qt
- Etapa 6: Código-fonte do Arduino
Vídeo: Radar infravermelho com Arduino: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Neste pequeno projeto, gostaria de mostrar como você pode criar um radar simples em casa com o Arduino. Existem muitos projetos semelhantes na internet, mas todos eles usam um sensor ultrassônico para medir a distância. Neste projeto utilizo um sensor infravermelho para medição de distâncias.
Meu objetivo é criar um sistema LIDAR muito simples e barato com ele e implementar um dispositivo de mapeamento.
Suprimentos
- Arduino (usei um Maple Mini)
- Sensor de distância Sharp (usei Sharp GP2Y0A02YK0F)
- Micro Servo (9g)
- Placa de ensaio, fios
- Opcional: Resistor de 4,7k, Capacitor 100nF
Etapa 1: Sensor ultrassônico VS infravermelho
A principal diferença entre os sensores de distância ultrassônicos e infravermelhos é que o sensor ultrassônico mede a distância em uma faixa mais ampla. Portanto, não é capaz de localizar com precisão a posição de um obstáculo. Isso significa que ele mede a distância do objeto mais próximo que está localizado dentro de um intervalo de ângulo de ~ + -30 °.
Claro, isso não significa que o sensor Sharp seja melhor. Às vezes, essa propriedade pode ser muito útil (por exemplo, usada por drones para medir a altura do solo). A escolha certa depende totalmente dos requisitos do seu projeto.
Etapa 2: Esquemático
É muito simples fazer a conexão entre as partes. Selecione uma saída PWM e uma entrada analógica em sua placa Arduino e conecte os sensores de distância Servo e Sharp a esses pinos. Usei os seguintes pinos para este propósito:
- PA0: entrada analógica para sensor de distância Sharp
- PA9: Saída PWM para Servo
Às vezes, o Sharp IR Sensor pode ter uma saída ruidosa, portanto, você deve colocar um filtro passa-baixas simples nele. Usei um resistor de 4,7k e um capacitor de 100nF para reduzir o ruído no pino analógico. Além disso, também filtrei o valor medido no código, lendo-o várias vezes e calculando a média.
Etapa 3: característica do sensor
Infelizmente, o sensor de distância infravermelho usado tem característica não linear. Isso significa que, para obter a distância, não é suficiente multiplicar o valor medido do ADC por um valor constante e adicionar outro valor constante a ele.
Embora o datasheet do sensor forneça a característica, prefiro medi-la sozinho no projeto específico (pode depender da tensão utilizada). Para isso, fiz pares a partir do valor medido do ADC e da distância a cada 10 cm. (Meu sensor foi capaz de medir a distância correta de 12 cm).
Usei esses pares no código para obter a distância correta com a interpolação linear.
Você encontrará um código Arduino simples no final do documento, para medir o valor ADC durante a medição de característica.
Etapa 4: comunicação serial
Usei a comunicação serial para enviar os valores medidos de ângulo-distância para o PC. Como tenho que enviar vários bytes e diferentes tipos de mensagens, desenvolvi um protocolo de comunicação simples.
Este procotol permite definir diferentes tipos de mensagens de uma forma genérica. Neste projeto, usei 2 tipos de mensagem:
- Parâmetros: usado para enviar parâmetros para o aplicativo de PC, definidos no Arduino como distância máxima e número de obstáculos em uma rodada.
- Obstáculo: usado para enviar um obstáculo detectado. É identificado pelo ângulo do servo e distância medida. A posição x-y será calculada pelo aplicativo do PC.
Etapa 5: Aplicativo Qt
Para me comunicar com o Arduino e desenhar os pontos medidos como um radar, fiz um aplicativo para PC em Qt (C ++). Ele recebe alguns parâmetros (definidos no Arduino) e os pontos de distância medidos.
Você pode baixar o aplicativo e seu código-fonte também.
Etapa 6: Código-fonte do Arduino
Você pode personalizar alguns parâmetros no topo do código com macros.
Observe que se você alterar a característica do sensor de distância Sharp, terá que modificar os valores do array distAdcMap !
- InfraRadar.c: Código de radar. Copie e cole em seu projeto Arduino.
- InfraRadarMeasurement.c: Código para medição de característica. Copie e cole em seu projeto Arduino. Use o console serial para verificar os valores ADC.
Recomendado:
Usando sensor infravermelho com Arduino: 8 etapas (com imagens)
Usando sensor infravermelho com Arduino: o que é um sensor infravermelho (também conhecido como IR)? Um sensor IR é um instrumento eletrônico que verifica os sinais IR em faixas de frequência específicas definidas por padrões e os converte em sinais elétricos em seu pino de saída (normalmente chamado de pino de sinal) . O sinal IR
Termômetro infravermelho a laser Arduino: 7 etapas (com imagens)
Termômetro infravermelho a laser Arduino: Neste projeto, vou mostrar como construir um termômetro infravermelho a laser digital com um invólucro impresso em 3D personalizado
Sensor de obstáculo infravermelho sem usar Arduino ou qualquer microcontrolador: 6 etapas
Sensor de obstáculo IR sem usar Arduino ou qualquer microcontrolador: Neste projeto, vamos fazer um sensor de obstáculo simples sem usar nenhum microcontrolador
Termômetro infravermelho sem contato baseado em Arduino - Termômetro baseado em IR usando Arduino: 4 etapas
Termômetro infravermelho sem contato baseado em Arduino | Termômetro baseado em IR usando Arduino: Olá pessoal, neste instructables faremos um termômetro sem contato usando arduino. Já que às vezes a temperatura do líquido / sólido é muito alta ou muito baixa e então é difícil fazer contato com ele e ler sua temperatura então naquele cenário
Adafruit SI1145 UV / Luz Visível / Sensor infravermelho - Arduino e LCD: 4 etapas
Sensor Adafruit SI1145 UV / Luz Visível / Infravermelho - Arduino e LCD: Este projeto usa um sensor Adafruit SI1145 UV / Luz Visível / Infravermelho para calcular a classificação UV atual. Os raios ultravioleta não são detectados diretamente. Em vez disso, é calculado como uma função das leituras de luz visível e infravermelho. Quando eu testei fora, ele