Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
TMD26721 és un detector de proximitat digital d’infraroig que proporciona un sistema complet de detecció de proximitat i una lògica d’interfície digital en un mòdul de muntatge superficial de 8 pins. La detecció de proximitat inclou una precisió i un senyal-soroll millorats. Un registre de desplaçament de proximitat permet compensar la interconnexió del sistema òptic entre el LED IR i el sensor. Aquí teniu la demostració amb raspberry pi mitjançant codi Java.
Pas 1: el que necessiteu..
1. Raspberry Pi
2. TMD26721
3. Cable I²C
4. Escut I²C per a Raspberry Pi
5. Cable Ethernet
Pas 2: connexions:
Agafeu un escut I2C per a raspberry pi i passeu-lo suaument per sobre dels pins gpio de raspberry pi.
A continuació, connecteu un extrem del cable I2C al sensor TMD26721 i l’altre extrem a la pantalla I2C.
Connecteu també el cable Ethernet al pi o podeu utilitzar un mòdul WiFi.
Les connexions es mostren a la imatge superior.
Pas 3: Codi:
El codi java de TMD26721 es pot descarregar des del nostre repositori de github - Dcube Store Community.
Aquí teniu l’enllaç
Hem utilitzat la biblioteca pi4j per al codi Java; aquí es descriuen els passos per instal·lar pi4j al raspberry pi:
pi4j.com/install.html
També podeu copiar el codi des d’aquí, es dóna de la següent manera:
// Distribuïda amb llicència de lliure voluntat.
// Utilitzeu-lo de la manera que vulgueu, sense ànim de lucre o de franc, sempre que encaixi en les llicències de les obres associades.
// TMD26721
// Aquest codi està dissenyat per funcionar amb el mini mòdul TMD26721_I2CS I2C disponible a
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
importació java.io. IOException;
classe pública TMD26721
{
public static void main (String args ) llança Excepció
{
// Crea un bus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obteniu un dispositiu I2C, l'adreça I2C de TMD26721 és 0x39 (57)
I2CDevice device = bus.getDevice (0x39);
// Seleccioneu registre de temps de proximitat O amb registre de comandes
// Temps de temps = 2,73 ms
device.write (0x02 | 0x80, (byte) 0xFF);
// Seleccioneu registre de temps d'espera O amb registre d'ordres
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (byte) 0xFF);
// Seleccioneu registre de recompte d’impulsos O amb registre d’ordres
// Recompte de pols = 32
device.write (0x0E | 0x80, (byte) 0x20);
// Seleccioneu registre de control O amb registre de comandes
// Potència LED de 100 mA, utilitza de manera immediata un díode CH1, 1x PGAIN, 1x DE nou
device.write (0x0F | 0x80, (byte) 0x20);
// Seleccioneu habilitar registre O amb registre d'ordres
// Activa l’activació de l’encesa, la proximitat i l’espera
device.write (0x00 | 0x80, (byte) 0x0D);
Thread.sleep (800);
// Llegir 2 bytes de dades de l'adreça 0x18 (24)
// proximitat lsb, proximitat msb
byte dades = byte nou [2];
device.read (0x18 | 0x80, dades, 0, 2);
// Converteix les dades
int proximitat = (((dades [1] i 0xFF) * 256) + (dades [0] i 0xFF));
// Sortiu les dades a la pantalla
System.out.printf ("Proximitat del dispositiu:% d% n", proximitat);
}
}
Pas 4: aplicacions:
TMD26721 és un sensor de proximitat digital d’infrarojos que es pot incorporar al control de pantalla tàctil de l’auricular mòbil i a l’activació automàtica dels altaveus. També pot proporcionar la substitució dels interruptors mecànics i l'alineació del paper. La seva alta eficiència i fiabilitat el fan adequat per a diverses aplicacions de detecció de proximitat.