2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Модуль I2C MINI с высокоточным маломощным цифровым датчиком температуры TMP100. TMP100 идеально подходит для расширенного измерения температуры. Это устройство обеспечивает точность ± 1 ° C без необходимости калибровки или преобразования сигнала внешних компонентов. Вот демонстрация кода Java с использованием Raspberry Pi.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. TMP100
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключение:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику TMP100, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код Java для TMP100 можно загрузить из нашего репозитория GitHub - Dcube Store.
Вот ссылка на то же самое:
github.com/DcubeTechVentures/TMP100…
Мы использовали библиотеку pi4j для java-кода, шаги по установке pi4j на raspberry pi описаны здесь:
pi4j.com/install.html
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// TMP100
// Этот код предназначен для работы с мини-модулем TMP100_I2CS I2C, доступным в Dcube Store.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
публичный класс TMP100
{
public static void main (String args ) выдает исключение
{
// Создаем шину I2C
Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Получение устройства I2C, адрес I2C TMP100 0x4F (79)
Устройство I2CDevice = Bus.getDevice (0x4F);
// Выбираем регистр конфигурации
// Непрерывное преобразование, режим компаратора, разрешение 12 бит
device.write (0x01, (байт) 0x60);
Thread.sleep (500);
// Считываем 2 байта данных
// temp msb, temp lsb
byte data = новый байт [2];
device.read (0x00, данные, 0, 2);
// Преобразуем данные в 12-битные
int temp = ((данные [0] & 0xFF) * 256 + (данные [1] & 0xF0)) / 16;
если (температура> 2047)
{
темп - = 4096;
}
двойной cTemp = temp * 0,0625;
двойной fTemp = cTemp * 1.8 + 32;
// Выводим данные на экран
System.out.printf ("Температура в градусах Цельсия:%.2f C% n", cTemp);
System.out.printf ("Температура в градусах Фаренгейта:%.2f F% n", fTemp);
}
}
Шаг 4: Приложения:
Различные приложения, включающие маломощный высокоточный цифровой датчик температуры TMP100, включают мониторинг температуры источника питания, периферийную тепловую защиту компьютера, управление батареями, а также офисную технику.