Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Sensor de Proximidade Infravermelho de Baixo Custo para Raspberry Pi Usando Apenas Pinos Digitais

Placas Raspberry Pi rodam no processador Broadcom BCM2835, que oferece 26 pinos de entrada/saída de propósito geral (GPIO). Embora bibliotecas Python como RPi.GPIO tornem o controle desses pinos direto, uma limitação notável comparado ao Arduino é a ausência de entradas analógicas verdadeiras. Pinos GPIO são estritamente digitais: um pino configurado como saída só pode entregar 0 V (LOW) ou 3.3 V (HIGH). Quando configurado como entrada, qualquer tensão abaixo de 0.8 V é interpretada como LOW, e qualquer tensão acima de 1.3 V é tratada como HIGH.

Em muitas aplicações do mundo real – monitoramento de temperatura, medição de distância, detecção de intensidade de luz – o sinal subjacente é inerentemente contínuo. Confiar em uma saída binária "ligado/desligado" é frequentemente insuficiente. A solução típica é adicionar um conversor analógico-digital (ADC) externo como MCP3008, TLC549 ou MCP23017, que comunicam via SPI ou I²C. Esses chips são baratos individualmente, mas quando combinados com sensores comerciais, o custo total pode subir para $20–$30 e a montagem fica volumosa – um problema para projetos de robótica que requerem múltiplos sensores.

Felizmente, existe uma abordagem simples e eficaz que elimina a necessidade de um ADC externo. Convertendo a medição analógica em um sinal baseado em tempo, os pinos digitais do Raspberry Pi podem amostrar indiretamente dados contínuos. O tempo é uma quantidade naturalmente analógica, e a técnica baseia-se no princípio clássico de carregamento RC (resistor-capacitor).

Design do Sensor de Proximidade Infravermelho DIY

O circuito usa apenas componentes baratos: alguns LEDs infravermelhos, um fototransistor, um transistor NPN 2N3904, um capacitor cerâmico de 100 nF e resistores de baixa potência. Os números de peça exatos são intercambiáveis; a chave é manter as características elétricas corretas.

Nota importante do componente: O capacitor de 100 nF pode ser um cerâmico de baixo perfil ou capacitor cerâmico/filme classe 1 para estabilidade ótima.

Configuração de Hardware

  1. Alimentação: Conecte os fios +5 V e GND a uma fonte externa de 5 V. Una o GND ao terra do Raspberry Pi.
  2. Atribuição GPIO: Escolha um pino GPIO (ex: PIN_A) como saída de gatilho, e outro (ex: PIN_B) como entrada de medição.

Princípio de Medição

Quando PIN_A é levado a HIGH, os LEDs infravermelhos iluminam a superfície alvo. Luz refletida ativa o fototransistor, que produz uma corrente proporcional à intensidade refletida. Esta corrente carrega o capacitor via o transistor 2N3904. O tempo que leva para a tensão do capacitor cruzar o limiar digital do Raspberry Pi no PIN_B é inversamente relacionado à corrente do fototransistor, e portanto diretamente proporcional à distância do objeto refletor.

Fluxo de Controle Python

# 1. Garanta que o capacitor está totalmente descarregado
GPIO.setup(PIN_B, GPIO.OUT)
GPIO.output(PIN_B, 0)
time.sleep(0.01)  # 10 ms para exceder 200×RC (≈0.00005 s)

# 2. Mude PIN_B para modo de entrada
GPIO.setup(PIN_B, GPIO.IN)

# 3. Acione os LEDs IR
GPIO.setup(PIN_A, GPIO.OUT)
GPIO.output(PIN_A, 1)

# 4. Meça duração do nível baixo no PIN_B
counter = 0
start_time = time.time() * 1000  # milissegundos
while GPIO.input(PIN_B) == 0 and counter < 1e4:
    counter += 1
elapsed = time.time() * 1000 - start_time
# elapsed (em ms) ≈ k × distância

Com um resistor de 4.3 kΩ e capacitor de 100 nF, a constante de tempo RC é 0.43 ms. O 2N3904 amplifica a corrente do fototransistor em aproximadamente 150×, permitindo que os LEDs consumam cerca de 50 mA cada durante ativação. O atraso de tempo resultante, elapsed, escala linearmente com a distância, fornecendo uma conversão analógico-para-tempo simples sem qualquer hardware ADC dedicado.

Este método oferece uma alternativa compacta e de baixo custo a sensores de proximidade baseados em ADC convencionais, tornando-o ideal para robótica embarcada, projetos de hobbyistas e demonstrações educacionais.

Processo de manufatura

  1. Conecte Múltiplos Sensores DS18B20 1-Wire ao Raspberry Pi para Monitoramento Preciso de Temperatura
  2. Como Conectar Sensor de Temperatura DS1820 One‑Wire ao Raspberry Pi via GPIO
  3. Integração de Dados de Sensores no Raspberry Pi: Guia Prático
  4. Conectando Sensor Ultrassônico HC‑SR04 ao Raspberry Pi 3 – Guia Completo
  5. Sensor de Rastreamento de Linha com Raspberry Pi – Detector KY‑033 Simples para Porta/Linha
  6. Medindo Sensores Analógicos no Raspberry Pi com um Único Pino GPIO
  7. Construa um Sensor de Movimento Infravermelho DIY para Raspberry Pi – Guia Passo a Passo
  8. Meça Sensores Analógicos no Raspberry Pi sem ADC Nativo
  9. Como Conectar um Termômetro Digital DS18B20 One-Wire ao Raspberry Pi – Guia Passo a Passo
  10. Leitura de Sensor Hall Linear com Raspberry Pi: Guia Java e Insights ADC0832