Innehållsförteckning:
Video: Raspberry Pi - TMD26721 Infraröd digital närhetsdetektor Java Handledning: 4 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
TMD26721 är en infraröd digital närhetsdetektor som tillhandahåller ett komplett närhetsdetekteringssystem och digital gränssnittslogik i en enda 8-polig ytmonteringsmodul. Närhetsdetekteringen inkluderar förbättrad signal-till-brus och noggrannhet. Ett närhetsförskjutningsregister tillåter kompensation för optisk systemöverhörning mellan IR -lysdioden och sensorn. Här är dess demonstration med hallon pi med Java -kod.
Steg 1: Vad du behöver.. !
1. Hallon Pi
2. TMD26721
3. I²C -kabel
4. I²C -sköld för Raspberry Pi
5. Ethernet -kabel
Steg 2: Anslutningar:
Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.
Anslut sedan den ena änden av I2C -kabeln till TMD26721 -sensorn och den andra änden till I2C -skärmen.
Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.
Anslutningar visas på bilden ovan.
Steg 3: Kod:
Java-koden för TMD26721 kan laddas ner från vårt github-arkiv- Dcube Store Community.
Här är länken
Vi har använt pi4j -biblioteket för java -kod, stegen för att installera pi4j på hallon pi beskrivs här:
pi4j.com/install.html
Du kan också kopiera koden härifrån, den ges enligt följande:
// Distribueras med en fri vilja licens.
// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.
// TMD26721
// Denna kod är utformad för att fungera med TMD26721_I2CS I2C Mini Module tillgänglig från
importera com.pi4j.io.i2c. I2CBus;
importera com.pi4j.io.i2c. I2CDenhet;
importera com.pi4j.io.i2c. I2CFactory;
importera java.io. IOException;
offentlig klass TMD26721
{
public static void main (String args ) kastar undantag
{
// Skapa I2C -buss
I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);
// Skaffa I2C -enhet, TMD26721 I2C -adress är 0x39 (57)
I2CDevice -enhet = bus.getDevice (0x39);
// Välj närhetsregister ELLER med kommandoregister
// Ptime = 2,73 ms
device.write (0x02 | 0x80, (byte) 0xFF);
// Välj väntetidsregister ELLER med kommandoregister
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (byte) 0xFF);
// Välj pulsantalsregister ELLER med kommandoregister
// Pulsantal = 32
device.write (0x0E | 0x80, (byte) 0x20);
// Välj kontrollregister ELLER med kommandoregister
// 100 mA LED -styrka, proximtiy använder CH1 -diod, 1x PGAIN, 1x IGEN
device.write (0x0F | 0x80, (byte) 0x20);
// Välj aktivera register ELLER med kommandoregister
// Slå på strömmen, närhet och väntan aktiverad
device.write (0x00 | 0x80, (byte) 0x0D);
Tråd. Sover (800);
// Läs 2 byte data från adressen 0x18 (24)
// närhet lsb, närhet msb
byte data = ny byte [2];
device.read (0x18 | 0x80, data, 0, 2);
// Konvertera data
int närhet = (((data [1] & 0xFF) * 256)+ (data [0] & 0xFF));
// Mata ut data till skärmen
System.out.printf ("Enhetens närhet: %d %n", närhet);
}
}
Steg 4: Ansökningar:
TMD26721 är en infraröd digital närhetssensor som kan integreras i pekskärmskontrollen för mobil handenhet och automatisk högtalartelefonaktivering. Det kan också erbjuda mekanisk omkopplare och pappersinriktning. Dess höga effektivitet och tillförlitlighet gör den lämplig för olika närhetsavkännande applikationer.