Raspberry Pi - TMD26721 Tutorial Python do detector de proximidade digital infravermelho: 4 etapas
Raspberry Pi - TMD26721 Tutorial Python do detector de proximidade digital infravermelho: 4 etapas
Anonim
Image
Image

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 python.

Etapa 1: O que você precisa..

O que você precisa..!!
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:

Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
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:

Código
Código

O código python para TMD26721 pode ser baixado de nosso repositório github- ControlEverythingCommunity

Aqui está o link para o mesmo:

github.com/ControlEverythingCommunity/TMD2…

A folha de dados do TMD26721 pode ser encontrada aqui:

s3.amazonaws.com/controleverything.media/c…

Usamos a biblioteca SMBus para o código python. As etapas para instalar o SMBus no raspberry pi são descritas aqui:

pypi.python.org/pypi/smbus-cffi/0.5.1

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 da forma que quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

# TMD26721

# Este código foi desenvolvido para funcionar com o Mini Módulo TMD26721_I2CS I2C disponível em ControlEverything.com.

#

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

Endereço # TMD26721, 0x39 (57)

# Selecione habilitar registro de registro, 0x00 (0), com registro de comando 0x80 (128)

# 0x0D (14) Ligar, Esperar habilitado, Proximidade habilitada

bus.write_byte_data (0x39, 0x00 | 0x80, 0x0D)

Endereço # TMD26721, 0x39 (57)

# Selecione o registro de controle de tempo de proximidade, 0x02 (2), com o registro de comando 0x80 (128)

# 0xFF (255) Tempo = 2,73 ms

bus.write_byte_data (0x39, 0x02 | 0x80, 0xFF)

Endereço # TMD26721, 0x39 (57)

# Selecione o registro de tempo de espera 0x03 (03), com registro de comando, 0x80 (128) # 0xFF (255) Tempo - 2,73ms

bus.write_byte_data (0x39, 0x03 | 0x80, 0xFF)

# Endereço TMD26721, 0x39 (57 # Selecione o registro de contagem de pulso, 0x0E (14), com o registro de comando 0x80 (128)

# 0x20 (32) Contagem de pulso = 32

bus.write_byte_data (0x39, 0x0E | 0x80, 0x20)

Endereço # TMD26721, 0x39 (57)

# Selecione o registro de controle, 0x0F (15), com o registro de comando 0x80 (128)

# 0x20 (32) Proximidade usa diodo CH1

bus.write_byte_data (0x39, 0x0F | 0x80, 0x20)

tempo.sono (0,8)

Endereço # TMD26721, 0x39 (57)

# Leia os dados de 0x18 (57) com o registro de comando 0x80 (128), 2 bytes

# Proximity lsb, Proximity msb

data = bus.read_i2c_block_data (0x39, 0x18 | 0x80, 2)

# Converta os dados

proximidade = dados [1] * 256 + dados [0]

# Dados de saída para a tela

imprimir "Proximidade do dispositivo:% d"% 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.

Recomendado: