Video: Raspberry Pi - TMD26721 Infračervený digitálny bezdotykový detektor Java Výukový program: 4 kroky
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
TMD26721 je infračervený digitálny bezdotykový detektor, ktorý poskytuje kompletný systém detekcie priblíženia a logiku digitálneho rozhrania v jednom 8-kolíkovom module na povrchovú montáž. Detekcia priblíženia obsahuje vylepšený signál-šum a presnosť. Register ofsetového priblíženia umožňuje kompenzáciu presluchov optického systému medzi IR LED a snímačom. Tu je jeho ukážka s malinou pi pomocou kódu Java.
Krok 1: Čo potrebujete.. !
1. Raspberry Pi
2. TMD26721
3. Kábel I²C
4. I²C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 2: Pripojenia:
Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.
Potom pripojte jeden koniec kábla I2C k senzoru TMD26721 a druhý koniec k štítu I2C.
Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód:
Java kód pre TMD26721 si môžete stiahnuť z nášho úložiska github- komunity Dcube Store Community.
Tu je odkaz
Na kód java sme použili knižnicu pi4j, kroky na inštaláciu pi4j na malinový pi sú popísané tu:
pi4j.com/install.html
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
// Distribuované s licenciou slobodnej vôle.
// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.
// TMD26721
// Tento kód je navrhnutý tak, aby fungoval s mini modulom TMD26721_I2CS I2C, ktorý je k dispozícii od
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
verejná trieda TMD26721
{
public static void main (String args ) hodí výnimku
{
// Vytvorenie zbernice I2C
Zbernica I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Získať zariadenie I2C, adresa TMD26721 I2C je 0x39 (57)
I2CDevice zariadenie = bus.getDevice (0x39);
// Vyberte register času priblíženia ALEBO pomocou príkazového registra
// Ptime = 2,73 ms
device.write (0x02 | 0x80, (byte) 0xFF);
// Vyberte register času čakania ALEBO pomocou príkazového registra
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (byte) 0xFF);
// Vyberte register počtu impulzov ALEBO pomocou príkazového registra
// Počet impulzov = 32
device.write (0x0E | 0x80, (byte) 0x20);
// Vyberte riadiaci register ALEBO pomocou príkazového registra
// Sila LED 100 mA, v blízkosti sa používa dióda CH1, 1x PGAIN, 1x ZNOVU
device.write (0x0F | 0x80, (byte) 0x20);
// Vyberte povoliť register ALEBO pomocou príkazového registra
// Nastavte zapnutie, blízkosť a čakanie povolené
device.write (0x00 | 0x80, (byte) 0x0D);
Thread.sleep (800);
// Prečítajte 2 bajty údajov z adresy 0x18 (24)
// proximity lsb, proximity msb
bajt dáta = nový bajt [2];
device.read (0x18 | 0x80, data, 0, 2);
// Previesť údaje
int blízkosť = (((údaje [1] & 0xFF) * 256)+ (údaje [0] & 0xFF));
// Výstup údajov na obrazovku
System.out.printf ("Blízkosť zariadenia: %d %n", blízkosť);
}
}
Krok 4: Aplikácie:
TMD26721 je infračervený digitálny snímač priblíženia, ktorý je možné integrovať do dotykového ovládania mobilného telefónu a automatického zapnutia hlasitého telefónu. Môže tiež poskytnúť mechanickú výmenu spínača a zarovnanie papiera. Vďaka svojej vysokej účinnosti a spoľahlivosti je vhodný pre rôzne aplikácie snímania blízkosti.