Tabla de contenido:
Video: Raspberry Pi - Tutorial Java del detector de proximidad digital infrarrojo TMD26721: 4 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
TMD26721 es un detector de proximidad digital por infrarrojos que proporciona un sistema completo de detección de proximidad y lógica de interfaz digital en un solo módulo de montaje en superficie de 8 pines. La detección de proximidad incluye una mejor relación señal-ruido y precisión. Un registro de desplazamiento de proximidad permite la compensación de la diafonía del sistema óptico entre el LED de infrarrojos y el sensor. Aquí está su demostración con raspberry pi usando código java.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. TMD26721
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: Conexiones:
Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.
Luego, conecte un extremo del cable I2C al sensor TMD26721 y el otro extremo al blindaje I2C.
También conecte el cable Ethernet al pi o puede usar un módulo WiFi.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código java para TMD26721 se puede descargar desde nuestro repositorio de github - Comunidad de tiendas Dcube.
Aqui esta el link
Hemos utilizado la biblioteca pi4j para el código java, los pasos para instalar pi4j en la raspberry pi se describen aquí:
pi4j.com/install.html
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
// Distribuido con licencia de libre albedrío.
// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
// TMD26721
// Este código está diseñado para funcionar con el Mini Módulo TMD26721_I2CS I2C disponible en
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
clase pública TMD26721
{
public static void main (String args ) arroja una excepción
{
// Crear bus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obtener dispositivo I2C, la dirección TMD26721 I2C es 0x39 (57)
I2CDevice device = bus.getDevice (0x39);
// Seleccionar registro de tiempo de proximidad O con registro de comando
// Ptime = 2,73 ms
device.write (0x02 | 0x80, (byte) 0xFF);
// Seleccionar registro de tiempo de espera O con registro de comando
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (byte) 0xFF);
// Seleccionar registro de conteo de pulsos O con registro de comando
// Recuento de pulsos = 32
device.write (0x0E | 0x80, (byte) 0x20);
// Seleccionar registro de control O con registro de comando
// 100 mA de intensidad del LED, proximidad utiliza diodo CH1, 1x PGAIN, 1x OTRA VEZ
device.write (0x0F | 0x80, (byte) 0x20);
// Seleccione habilitar registro O con registro de comando
// Establecer encendido, proximidad y espera habilitados
device.write (0x00 | 0x80, (byte) 0x0D);
Thread.sleep (800);
// Leer 2 bytes de datos de la dirección 0x18 (24)
// proximidad lsb, proximidad msb
byte datos = nuevo byte [2];
device.read (0x18 | 0x80, datos, 0, 2);
// Convertir los datos
int proximidad = (((datos [1] y 0xFF) * 256) + (datos [0] y 0xFF));
// Salida de datos a la pantalla
System.out.printf ("Proximidad del dispositivo:% d% n", proximidad);
}
}
Paso 4: Aplicaciones:
TMD26721 es un sensor de proximidad digital por infrarrojos que se puede incorporar en el control de pantalla táctil del teléfono móvil y la activación automática del altavoz. También puede proporcionar reemplazo de interruptor mecánico, así como alineación de papel. Su alta eficiencia y confiabilidad lo hace adecuado para diversas aplicaciones de detección de proximidad.