Мазмуну:

Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам
Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам

Video: Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам

Video: Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам
Video: Lesson 29: Car-7 Controlling SunFounder Smart Car using Remote Controller | Robojax 2024, Ноябрь
Anonim

TMD26721-бул инфрақызыл санариптик жакындык детектору, ал толугу менен жакындыкты аныктоо тутумун жана санариптик интерфейстин логикасын бир 8-пиндүү беттин үстүнө орнотуу модулунда камсыз кылат. Жакындыктын офсеттик реестри IR LED менен сенсордун ортосундагы оптикалык системанын кесилишине компенсация берет. Бул жерде java кодун колдонуп, малина pi менен анын көрсөтмөсү.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. TMD26721

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун TMD26721 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

TMD26721 үчүн java кодун биздин github репозиторийинен жүктөп алсаңыз болот- Dcube Store Community.

Мына шилтеме

Биз Java коду үчүн pi4j китепканасын колдондук, малина piге pi4j орнотуу кадамдары бул жерде сүрөттөлгөн:

pi4j.com/install.html

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// TMD26721

// Бул код TMD26721_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан

com.pi4j.io.i2c. I2CBus импорттоо;

com.pi4j.io.i2c. I2CDevice импорттоо;

com.pi4j.io.i2c. I2CFactory импорттоо;

java.io. IOException импорттоо;

коомдук класс TMD26721

{

public static void main (String args ) Exception ыргытат

{

// I2C шинасын түзүү

I2CBus автобус = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C түзмөгүн алыңыз, TMD26721 I2C дареги 0x39 (57)

I2CDevice түзмөгү = bus.getDevice (0x39);

// Командалык регистр менен жакындык убактысынын регистрин ЖЕ тандаңыз

// Убакыт = 2.73 мс

device.write (0x02 | 0x80, (байт) 0xFF);

// Күтүү убактысынын регистрин ЖЕ командалык регистр менен тандаңыз

// Wtime = 2.73 мс

device.write (0x03 | 0x80, (байт) 0xFF);

// Импульстун регистрин ЖЕ командалык регистр менен тандаңыз

// Пульс саны = 32

device.write (0x0E | 0x80, (байт) 0x20);

// Башкаруу реестрин ЖЕ командалык регистр менен тандаңыз

// 100 мА LED күчү, proximtiy CH1 диодду колдонот, 1x PGAIN, 1x КАЙТА

device.write (0x0F | 0x80, (байт) 0x20);

// Регистрди иштетүүнү ЖЕ командалык регистр менен тандаңыз

// КҮЙҮКТҮ күйгүзүү, жакындык жана күтүү иштетилген

device.write (0x00 | 0x80, (байт) 0x0D);

Thread.sleep (800);

// 0x18 (24) дарегинен 2 байт маалыматтарды окуу

// жакындык lsb, жакындык msb

байт маалымат = жаңы байт [2];

device.read (0x18 | 0x80, маалыматтар, 0, 2);

// Маалыматты конвертациялоо

int proximity = (((маалыматтар [1] & 0xFF) * 256)+ (маалыматтар [0] & 0xFF));

// Экранга маалыматтарды чыгаруу

System.out.printf ("Түзмөктүн жакындыгы: %d %n", жакындык);

}

}

4 -кадам: Тиркемелер:

TMD26721 - бул инфракызыл санариптик жакындык сенсору, ал мобилдик телефондун сенсордук экранын көзөмөлдөөгө жана автоматтык спикерфонду иштетүүгө киргизилиши мүмкүн. Ал ошондой эле Механикалык которууну алмаштырууну, ошондой эле Кагазды тегиздөөнү камсыздай алат. Анын жогорку эффективдүүлүгү жана ишенимдүүлүгү ар кандай жакындыкты сезүү колдонмолору үчүн жарактуу кылат.

Сунушталууда: