Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sensor de Proximidad Infrarrojo de Bajo Coste para Raspberry Pi Usando Solo Pines Digitales

Las placas Raspberry Pi funcionan con el procesador Broadcom BCM2835, que ofrece 26 pines de entrada/salida de propósito general (GPIO). Aunque bibliotecas Python como RPi.GPIO facilitan el control de estos pines, una limitación notable comparado con Arduino es la ausencia de entradas analógicas verdaderas. Los pines GPIO son estrictamente digitales: un pin configurado como salida solo puede entregar 0 V (LOW) o 3.3 V (HIGH). Cuando se configura como entrada, cualquier voltaje por debajo de 0.8 V se interpreta como LOW, y cualquier voltaje por encima de 1.3 V se trata como HIGH.

En muchas aplicaciones del mundo real –monitorización de temperatura, medición de distancia, detección de intensidad lumínica– la señal subyacente es inherentemente continua. Confiar en una salida binaria "encendido/apagado" es a menudo insuficiente. La solución típica es añadir un conversor analógico‑digital (ADC) externo como el MCP3008, TLC549 o MCP23017, que comunican vía SPI o I²C. Estos chips son baratos individualmente, pero al combinarse con sensores comerciales, el coste total puede subir a $20–$30 y el montaje se vuelve voluminoso –un problema para proyectos de robótica que requieren múltiples sensores.

Afortunadamente, existe un enfoque simple pero efectivo que elimina la necesidad de un ADC externo. Convirtiendo la medición analógica en una señal basada en tiempo, los pines digitales de la Raspberry Pi pueden muestrear indirectamente datos continuos. El tiempo es una magnitud naturalmente analógica, y la técnica se basa en el principio clásico de carga RC (resistor‑capacitor).

Diseño de Sensor de Proximidad Infrarrojo DIY

El circuito usa solo componentes económicos: unos cuantos LEDs infrarrojos, un fototransistor, un transistor NPN 2N3904, un capacitor cerámico de 100 nF y resistencias de baja potencia. Los números de parte exactos son intercambiables; la clave es mantener las características eléctricas correctas.

Nota clave de componente: El capacitor de 100 nF puede ser un cerámico de bajo perfil o un capacitor cerámico/clase‑1 de película para estabilidad óptima.

Configuración de Hardware

  1. Alimentación: Conecte los cables +5 V y GND a una fuente externa de 5 V. Una el GND a la tierra de la Raspberry Pi.
  2. Asignación GPIO: Elija un pin GPIO (ej. PIN_A) como salida de disparo, y otro (ej. PIN_B) como entrada de medición.

Principio de Medición

Cuando PIN_A se pone en HIGH, los LEDs IR iluminan la superficie objetivo. La luz reflejada activa el fototransistor, que produce una corriente proporcional a la intensidad reflejada. Esta corriente carga el capacitor vía el transistor 2N3904. El tiempo que tarda el voltaje del capacitor en cruzar el umbral digital de la Raspberry Pi en PIN_B es inversamente proporcional a la corriente del fototransistor, y por tanto directamente proporcional a la distancia al objeto reflectante.

Flujo de Control en Python

# 1. Asegure que el capacitor está completamente descargado
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. Cambie PIN_B a modo entrada
GPIO.setup(PIN_B, GPIO.IN)

# 3. Active los LEDs IR
GPIO.setup(PIN_A, GPIO.OUT)
GPIO.output(PIN_A, 1)

# 4. Mida la duración en LOW en PIN_B
counter = 0
start_time = time.time() * 1000  # milisegundos
while GPIO.input(PIN_B) == 0 and counter < 1e4:
    counter += 1
elapsed = time.time() * 1000 - start_time
# elapsed (en ms) ≈ k × distancia

Con una resistencia de 4.3 kΩ y un capacitor de 100 nF, la constante de tiempo RC es 0.43 ms. El 2N3904 amplifica la corriente del fototransistor aproximadamente 150×, permitiendo que los LEDs consuman unos 50 mA cada uno durante la activación. El retardo resultante, elapsed, escala linealmente con la distancia, proporcionando una conversión analógico‑a‑tiempo simple sin hardware ADC dedicado.

Este método ofrece una alternativa compacta y de bajo coste a los sensores de proximidad basados en ADC convencionales, ideal para robótica embebida, proyectos de aficionados y demostraciones educativas.

Proceso de manufactura

  1. Conectar múltiples sensores DS18B20 1‑Wire a Raspberry Pi para monitorización precisa de temperatura
  2. Cómo conectar un sensor de temperatura DS1820 One‑Wire a Raspberry Pi usando GPIO
  3. Integración de datos de sensores en Raspberry Pi: Guía práctica
  4. Conexión del sensor ultrasónico HC‑SR04 a Raspberry Pi 3 – Guía completa
  5. Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
  6. Medición de Sensores Analógicos en Raspberry Pi con un Solo Pin GPIO
  7. Construya un Sensor de Movimiento Infrarrojo DIY para Raspberry Pi – Guía Paso a Paso
  8. Mida Sensores Analógicos en Raspberry Pi sin ADC Nativo
  9. Cómo Conectar un Termómetro Digital DS18B20 One‑Wire a Raspberry Pi – Guía Paso a Paso
  10. Lectura de Sensor Hall Lineal con Raspberry Pi: Guía Java y Análisis del ADC0832
  11. Construya un Contador Geiger con Raspberry Pi – Tutorial de Sensor de Radiación Open‑Hardware