Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Para mi trabajo con las habilidades de Alexa, necesitaba un dispositivo de retroalimentación simple (no agregue más complejidad); visual y audible.
Además, mi CPU está en mi "armario de cableado" y necesitaba que la salida estuviera en un lugar destacado, pero por lo demás discreto.
Me decidí por un control remoto de RF que activa las entrañas de una tarjeta de felicitación musical. Coloqué esto en una pequeña caja acrílica que tenía por ahí y agregué el transmisor en la carcasa de mi RPi3B +.
Los comandos simples de encendido / apagado en el RPI3B + inician las luces y los sonidos con un retraso de transmisión apenas perceptible.
Paso 1: Pinouts
Estas imágenes son de la página de Amazon del vendedor (enlace arriba). Solo una copia práctica para referencia.
Nota: la imagen original está etiquetada incorrectamente; Agrego actualizaciones (en verde). (Esto se verifica en la sección de comentarios de la página de Amazon)
Paso 2: prototipo
Usando cada mitad de la placa para separar el transmisor y el receptor. Alimentado por baterías de 3.7v (cargadas a 4.25v).
Dado que esto es solo una implementación de los pines, no creé un diagrama esquemático.
Incluí un LED en serie con una resistencia de 3.3K para probar.
Para probar, simplemente conecte el pin de control (aquí el cable blanco) a tierra. Los LED de activación (rojos) se encienden tanto en el transmisor como en el receptor, y mi LED de "carga" se apaga. (en la foto)
Paso 3: Interludio
A veces, el transmisor y el receptor no están emparejados correctamente o es posible que desee cambiar el comportamiento predeterminado.
Incluyo aquí las instrucciones del proveedor para estos dispositivos:
************************************************************************
Instrucción de pines
Receptor
- GND: tierra o polo negativo
- + V: entrada DC3.3 ~ 5V
- D0-3: Salida de datos
- VT: Salida (esta línea baja si / cuando cualquier línea de datos baja)
Cómo hacer coincidir el transmisor y el receptor
- Eliminar datos existentes: presione el botón de aprendizaje (en el receptor) 8 veces. Respuesta: el LED parpadea 7 veces.
- Aprendizaje del código remoto: presione el botón de aprendizaje (en el receptor) una, dos o tres veces (ver más abajo). El LED se enciende: el modo de aprendizaje está activo.
- Presione cualquier botón del control remoto. El indicador LED parpadea tres veces: aprendizaje completado con éxito.
- Prueba: después de la operación anterior, la placa del receptor se puede controlar con el control remoto.
Se pueden aprender y almacenar más transmisores con diferentes ID, comenzando con el paso 2. Es posible una combinación de diferentes modos.
Uso del botón (establece el modo e inicia el proceso de emparejamiento):
- Presione una vez: modo de avance lento (modo momentáneo)
- Presione dos veces: modo de autobloqueo (modo de alternancia de los 4 canales)
- Presione tres veces: modo enclavado (el canal seleccionado se activa y se borra, si otro canal se activa) - también conocido como botones de radio
Paso 4: instalación
Después de soldar las piezas como se habían conectado en la placa de pruebas y cubrirlas con termorretráctil para evitar cortocircuitos, instalé el transmisor en el RPi3B + (nota: incluí cables adicionales para las salidas que aún no uso)
Usé energía de 3v ya que ese es el voltaje nativo de la Raspberry (nota: usé colores de cable no estándar porque era conveniente usar el cable plano existente)
wrclr: cable colorpi-pin: pin en el RPi3B + trnspin: pin en el transmisor
wrclr pi-pin trnspin -------- ----------- -------------- gris 01 potencia V + violeta 06 tierra GND marrón 11 BCM17 Datos 1 rojo 13 BCM27 Datos 0
El control remoto / receptor se alimenta con un antiguo transformador micro-USB. Usé una toma USB para poder usar cualquier banco de energía si algún día lo quisiera inalámbrico.
Paso 5: Código
El código más simple para la validación: (fuente)
importar RPi. GPIO como GPIOimportar tiempo GPIO.setmode (GPIO. BCM) GPIO.setwarnings (Falso) GPIO.setup (27, GPIO. OUT) imprimir "LED encendido" GPIO.output (27, GPIO. HIGH) time.sleep (1) imprima "LED apagado" GPIO.output (27, GPIO. LOW)
para ejecutar: python pintst.py