Sisällysluettelo:
Video: Raspberry Pi - TMD26721 Infrapuna digitaalinen läheisyysilmaisin Java -opetusohjelma: 4 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
TMD26721 on digitaalinen infrapuna-läheisyysilmaisin, joka tarjoaa täydellisen läheisyyden havaitsemisjärjestelmän ja digitaalisen rajapintalogiikan yhdessä 8-nastaisessa pinta-asennusmoduulissa. Läheisyyspoikkeamarekisteri mahdollistaa kompensoinnin optisen järjestelmän ylikuulumisesta IR -LEDin ja anturin välillä. Tässä on sen esittely vadelma pi: llä java -koodilla.
Vaihe 1: Mitä tarvitset..
1. Vadelma Pi
2. TMD26721
3. I²C -kaapeli
4. I²C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Liitännät:
Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.
Liitä sitten I2C -kaapelin toinen pää TMD26721 -anturiin ja toinen pää I2C -suojaan.
Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi:
TMD26721: n Java-koodi voidaan ladata github-arkistostamme- Dcube Store Community.
Tässä on linkki
Olemme käyttäneet java -koodille pi4j -kirjastoa, vaiheet pi4j: n asentamiseksi vadelma pi: hen on kuvattu tässä:
pi4j.com/install.html
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
// Jaetaan vapaaehtoisella lisenssillä.
// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
// TMD26721
// Tämä koodi on suunniteltu toimimaan TMD26721_I2CS I2C Mini -moduulin kanssa, joka on saatavana osoitteesta
tuonti com.pi4j.io.i2c. I2CBus;
tuoda com.pi4j.io.i2c. I2CDevice;
tuonti com.pi4j.io.i2c. I2CFactory;
tuoda java.io. IOException;
julkinen luokka TMD26721
{
public staattinen void main (String args ) heittää Poikkeus
{
// Luo I2C -väylä
I2CBus -väylä = I2CFactory.getInstance (I2CBus. BUS_1);
// Hanki I2C -laite, TMD26721 I2C -osoite on 0x39 (57)
I2CDlaitelaite = väylä.getDevice (0x39);
// Valitse läheisyysaikarekisteri TAI komentorekisterillä
// Ptime = 2,73 ms
device.write (0x02 | 0x80, (tavu) 0xFF);
// Valitse odotusajan rekisteri TAI komentorekisterillä
// Wtime = 2,73 ms
device.write (0x03 | 0x80, (tavu) 0xFF);
// Valitse pulssilukurekisteri TAI komentorekisterillä
// Pulssimäärä = 32
device.write (0x0E | 0x80, (tavu) 0x20);
// Valitse ohjausrekisteri TAI komentorekisterillä
// 100 mA LED -vahvuus, proximtiy käyttää CH1 -diodia, 1x PGAIN, 1x AGAIN
device.write (0x0F | 0x80, (tavu) 0x20);
// Valitse Ota rekisteri TAI komentorekisterillä
// Ota virta käyttöön, läheisyys ja odotus käytössä
device.write (0x00 | 0x80, (tavu) 0x0D);
Kierteet.unet (800);
// Lue 2 tavua dataa osoitteesta 0x18 (24)
// proximity lsb, proximity msb
tavu data = uusi tavu [2];
device.read (0x18 | 0x80, data, 0, 2);
// Muunna tiedot
int proximity = (((data [1] & 0xFF) * 256)+ (data [0] & 0xFF));
// Tulosta tiedot näytölle
System.out.printf ("Laitteen läheisyys: %d %n", läheisyys);
}
}
Vaihe 4: Sovellukset:
TMD26721 on digitaalinen infrapuna -läheisyysanturi, joka voidaan sisällyttää matkapuhelimen kosketusnäytön ohjaukseen ja automaattiseen kaiutinpuhelimen käyttöön. Se voi myös tarjota mekaanisen kytkimen vaihdon sekä paperin kohdistuksen. Sen korkea hyötysuhde ja luotettavuus tekevät siitä sopivan erilaisiin läheisyysanturisovelluksiin.