Видео: Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 шага
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
TMD26721 - это инфракрасный цифровой датчик приближения, который обеспечивает полную систему обнаружения приближения и логику цифрового интерфейса в одном 8-контактном модуле для поверхностного монтажа. Обнаружение приближения включает улучшенное соотношение сигнал / шум и точность. Регистр смещения приближения позволяет компенсировать перекрестные помехи оптической системы между ИК-светодиодом и датчиком. Вот его демонстрация с Raspberry Pi с использованием Java-кода.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. TMD26721
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключения:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику TMD26721, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 3: Код:
Java-код для TMD26721 можно загрузить из нашего репозитория github - Сообщества Dcube Store.
Вот ссылка
Мы использовали библиотеку pi4j для java-кода, шаги по установке pi4j на raspberry pi описаны здесь:
pi4j.com/install.html
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// TMD26721
// Этот код предназначен для работы с мини-модулем TMD26721_I2CS I2C, доступным по адресу
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
открытый класс TMD26721
{
public static void main (String args ) выдает исключение
{
// Создаем шину I2C
Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Получение устройства I2C, адрес TMD26721 I2C - 0x39 (57)
Устройство I2CDevice = bus.getDevice (0x39);
// Выбираем регистр времени приближения ИЛИ с регистром команд
// Ptime = 2,73 мс
device.write (0x02 | 0x80, (байт) 0xFF);
// Выбираем регистр времени ожидания ИЛИ с регистром команд
// Wtime = 2,73 мс
device.write (0x03 | 0x80, (байт) 0xFF);
// Выбираем регистр счетчика импульсов ИЛИ с регистром команд
// Количество импульсов = 32
device.write (0x0E | 0x80, (байт) 0x20);
// Выбираем управляющий регистр ИЛИ с командным регистром
// Мощность светодиода 100 мА, в ближайшем будущем используется диод CH1, 1x PGAIN, 1x AGAIN
device.write (0x0F | 0x80, (байт) 0x20);
// Выбираем регистр включения ИЛИ с регистром команд
// Устанавливаем включение питания, приближение и ожидание.
device.write (0x00 | 0x80, (байт) 0x0D);
Thread.sleep (800);
// Считываем 2 байта данных с адреса 0x18 (24)
// близость lsb, близость msb
byte data = новый байт [2];
device.read (0x18 | 0x80, данные, 0, 2);
// Конвертируем данные
int близости = (((данные [1] & 0xFF) * 256) + (данные [0] & 0xFF));
// Выводим данные на экран
System.out.printf («Близость устройства:% d% n», близость);
}
}
Шаг 4: Приложения:
TMD26721 - это инфракрасный цифровой датчик приближения, который может быть встроен в управление сенсорным экраном мобильного телефона и автоматическое включение громкой связи. Он также может обеспечить замену механического переключателя, а также выравнивание бумаги. Его высокая эффективность и надежность делают его пригодным для различных применений, связанных с датчиком приближения.