Raspberry Pi - TMD26721 infraröd Digital närhet detektor Java Tutorial (3 / 4 steg)
Steg 3: kod:
Java-kod för TMD26721 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/TMD2...
Databladet för TMD26721 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt pi4j bibliotek för java-kod, stegen för att installera pi4j på raspberry pi som beskrivs här:
Du kan också kopiera koden från här, det ges enligt följande:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
TMD26721
Denna kod är utformad att fungera med TMD26721_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
https://www.controleverything.com/content/Proximi...
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
import java.io.IOException;
allmän klass TMD26721
{
public static void main (String args[]) kastar undantag
{
Skapa I2C bussen
I2CBus buss = I2CFactory.getInstance(I2CBus.BUS_1);
Får I2C enheten, TMD26721 I2C adress är 0x39(57)
I2CDevice device = bus.getDevice(0x39);
Markera närhet tid register eller med kommandot registrera
Ptime = 2,73 ms
Device.write (0x02 | 0x80, (byte) 0xFF);
Välj vänta tid register eller med kommandot registrera
Wtime = 2,73 ms
Device.write (0x03 | 0x80, (byte) 0xFF);
Välj puls räkningen register eller med kommandot registrera
Puls count = 32
Device.write (0x0E | 0x80, (byte) 0x20);
Välj avstämningsregister eller med kommandot registrera
100 mA LED styrka, proximtiy använder CH1 diod, 1 x PGAIN, 1 x igen
Device.write (0x0F | 0x80, (byte) 0x20);
Markera Aktivera register eller med kommandot registrera
Ställa in Power ON, närhet och vänta aktiverad
Device.write (0x00 | 0x80, (byte) 0x0D);
Thread.Sleep(800);
Läs 2 byte från adress 0x18(24)
närhet lsb, närhet msb
byte [] data = nya byte [2].
Device.Read (0x18 | 0x80, data, 0, 2);
Konvertera data
int närhet = (((data [1] & 0xFF) * 256) + (data [0] & 0xFF));
Utdata till skärm
System.out.printf ("närhet av enhet: %d %n", närhet);
}
}