Mundarija:

Raspberry Pi - TMD26721 infraqizil raqamli yaqinlik detektori Java darsligi: 4 qadam
Raspberry Pi - TMD26721 infraqizil raqamli yaqinlik detektori Java darsligi: 4 qadam

Video: Raspberry Pi - TMD26721 infraqizil raqamli yaqinlik detektori Java darsligi: 4 qadam

Video: Raspberry Pi - TMD26721 infraqizil raqamli yaqinlik detektori Java darsligi: 4 qadam
Video: Raspberry Pi TMD26721 Infrared Digital Proximity Detector Java Tutorial 2024, Sentyabr
Anonim

TMD26721-infraqizil raqamli yaqinlik detektori bo'lib, u to'liq 8-pinli sirtni o'rnatish modulida to'liq yaqinlikni aniqlash tizimi va raqamli interfeys mantig'ini ta'minlaydi. Yaqin atrofdagi ofset registri IQ LED va sensor o'rtasida optik tizimning kesishishi uchun kompensatsiyani beradi. Bu erda java kodi yordamida malina pi bilan namoyish.

1 -qadam: Sizga nima kerak.. !

Sizga nima kerak.. !!
Sizga nima kerak.. !!
Sizga nima kerak.. !!
Sizga nima kerak.. !!

1. Raspberry Pi

2. TMD26721

3. I²C kabeli

4. Raspberry Pi uchun I²C qalqoni

5. Ethernet kabeli

2 -qadam: Ulanishlar:

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.

Keyin I2C kabelining bir uchini TMD26721 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.

Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin.

Ulanishlar yuqoridagi rasmda ko'rsatilgan.

3 -qadam: Kod:

Kod
Kod

TMD26721 uchun java kodini bizning github omboridan- Dcube Store hamjamiyatidan yuklab olish mumkin.

Mana havola

Biz Java kodi uchun pi4j kutubxonasidan foydalandik, malina pi ga pi4j o'rnatish bosqichlari bu erda tasvirlangan:

pi4j.com/install.html

Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:

// Ixtiyoriy litsenziya bilan tarqatilgan.

// Agar xohlasangiz, foyda yoki tekin ishlating, agar u tegishli asarlar litsenziyalariga mos kelsa.

// TMD26721

// Bu kod TMD26721_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan

com.pi4j.io.i2c. I2CBus -ni import qilish;

com.pi4j.io.i2c. I2CDevice -ni import qilish;

com.pi4j.io.i2c. I2CFactory -ni import qilish;

java.io. IOException ni import qilish;

umumiy sinf TMD26721

{

public static void main (String args ) istisno qiladi

{

// I2C avtobusini yarating

I2CBus avtobus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C qurilmasini oling, TMD26721 I2C manzili 0x39 (57)

I2CDevice qurilmasi = bus.getDevice (0x39);

// Yaqinlik vaqt registrini yoki buyruqlar registri bilan tanlang

// Vaqt = 2,73 milodiy

device.write (0x02 | 0x80, (bayt) 0xFF);

// Kutish vaqtini ro'yxatdan o'tkazishni yoki buyruqlar registri bilan tanlang

// Vaqt = 2,73 milodiy

device.write (0x03 | 0x80, (bayt) 0xFF);

// Pulslar ro'yxatga olish registrini yoki buyruqlar registri bilan tanlang

// Pulslar soni = 32

device.write (0x0E | 0x80, (bayt) 0x20);

// Boshqaruv registrini yoki buyruqlar registri bilan tanlang

// 100 mA LED quvvati, yaqinlik CH1 diodidan, 1x PGAIN, 1XA QAYTA

device.write (0x0F | 0x80, (bayt) 0x20);

// Ro'yxatdan o'tishni yoqishni yoki buyruqlar registri bilan tanlang

// Quvvatni yoqish, yaqinlik va kutish yoqilgan

device.write (0x00 | 0x80, (bayt) 0x0D);

Thread.sleep (800);

// 0x18 (24) manzilidan 2 bayt ma'lumotni o'qing

// yaqinlik lsb, yaqinlik msb

bayt ma'lumotlar = yangi bayt [2];

device.read (0x18 | 0x80, ma'lumotlar, 0, 2);

// Ma'lumotni aylantirish

int yaqinlik = (((ma'lumotlar [1] & 0xFF) * 256)+ (ma'lumotlar [0] & 0xFF));

// Ma'lumotni ekranga chiqarish

System.out.printf ("Qurilmaning yaqinligi: %d %n", yaqinlik);

}

}

4 -qadam: Ilovalar:

TMD26721 - bu infraqizil raqamli yaqinlik sensori, u mobil telefonlar sensorli ekranini boshqarish va karnayni avtomatik yoqish tizimiga qo'shilishi mumkin. Shuningdek, u mexanik kalitni almashtirishni va qog'ozni tekislashni ta'minlay oladi. Uning yuqori mahsuldorligi va ishonchliligi uni yaqinlikni aniqlashning turli xil ilovalariga mos keladi.

Tavsiya: