Vídeo: Raspberry Pi - TMD26721 Tutorial Java do detector de proximidade digital infravermelho: 4 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
TMD26721 é um detector de proximidade digital infravermelho que fornece um sistema de detecção de proximidade completo e lógica de interface digital em um único módulo de montagem de superfície de 8 pinos. A detecção de proximidade inclui melhor sinal-ruído e precisão. Um registro de deslocamento de proximidade permite a compensação de diafonia do sistema óptico entre o LED IV e o sensor. Aqui está sua demonstração com raspberry pi usando código java.
Etapa 1: O que você precisa..
1. Raspberry Pi
2. TMD26721
3. Cabo I²C
4. Escudo I²C para Raspberry Pi
5. Cabo Ethernet
Etapa 2: Conexões:
Pegue um escudo I2C para raspberry pi e empurre-o suavemente sobre os pinos gpio de raspberry pi.
Em seguida, conecte uma extremidade do cabo I2C ao sensor TMD26721 e a outra extremidade à blindagem I2C.
Também conecte o cabo Ethernet ao pi ou você pode usar um módulo WiFi.
As conexões são mostradas na imagem acima.
Etapa 3: Código:
O código java para TMD26721 pode ser baixado de nosso repositório github- Dcube Store Community.
Aqui está o link
Usamos a biblioteca pi4j para o código java, as etapas para instalar o pi4j no raspberry pi são descritas aqui:
pi4j.com/install.html
Você também pode copiar o código daqui, ele é fornecido da seguinte forma:
// Distribuído com uma licença de livre arbítrio.
// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.
// TMD26721
// Este código é projetado para funcionar com o Mini Módulo TMD26721_I2CS I2C disponível em
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
classe pública TMD26721
{
public static void main (String args ) lança exceção
{
// Criar barramento I2C
Barramento I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obter dispositivo I2C, endereço TMD26721 I2C é 0x39 (57)
Dispositivo I2CDevice = bus.getDevice (0x39);
// Selecione o registro de tempo de proximidade OU com registro de comando
// Ptime = 2,73 ms
device.write (0x02 | 0x80, (byte) 0xFF);
// Selecione o registro do tempo de espera OU com o registro do comando
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (byte) 0xFF);
// Selecione o registro de contagem de pulso OU com registro de comando
// Contagem de pulso = 32
device.write (0x0E | 0x80, (byte) 0x20);
// Selecione o registro de controle OU com registro de comando
// Força do LED de 100 mA, proximidade usa diodo CH1, 1x PGAIN, 1x NOVAMENTE
device.write (0x0F | 0x80, (byte) 0x20);
// Selecione habilitar registro OU com registro de comando
// Defina Power ON, proximidade e espera habilitados
device.write (0x00 | 0x80, (byte) 0x0D);
Thread.sleep (800);
// Lê 2 bytes de dados do endereço 0x18 (24)
// proximidade lsb, proximidade msb
byte dados = novo byte [2];
device.read (0x18 | 0x80, data, 0, 2);
// Converta os dados
proximidade interna = (((dados [1] e 0xFF) * 256) + (dados [0] e 0xFF));
// Dados de saída para a tela
System.out.printf ("Proximidade do dispositivo:% d% n", proximidade);
}
}
Etapa 4: Aplicativos:
TMD26721 é um sensor de proximidade digital infravermelho que pode ser incorporado no controle de tela de toque do telefone móvel e habilitação automática do viva-voz. Ele também pode fornecer substituição de chave mecânica, bem como alinhamento de papel. Sua alta eficiência e confiabilidade o torna adequado para várias aplicações de detecção de proximidade.