
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


MPL3115A2 так басым/бийиктик жана температура маалыматын берүү үчүн I2C интерфейси бар MEMS басым сенсорун колдонот. Сенсордун жыйынтыктары жогорку разряддуу 24-бит ADC менен санариптештирилет. Ички иштетүү MCU тутумунун компенсация милдеттерин жок кылат. Бул 0,05 кПадагы өзгөрүүнү аныктоого жөндөмдүү, бул бийиктиктин 0,3 м өзгөрүшүнө барабар. Бул жерде java кодун колдонуп, малина pi менен анын көрсөтмөсү.
1 -кадам: Сизге эмне керек..

1. Raspberry Pi
2. MPL3115A2
3. I²C кабели
4. Raspberry Pi үчүн I²C Shield
5. Ethernet кабели
2 -кадам: Байланыштар:




Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.
Андан кийин I2C кабелинин бир учун MPL3115A2 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.
Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.
Байланыштар жогорудагы сүрөттө көрсөтүлгөн.
3 -кадам: Код:

MPL3115A2 үчүн java кодун биздин github репозиторийибизден көчүрүп алсаңыз болот- DCUBE дүкөнү.
Мына ушуга шилтеме:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
Биз Java коду үчүн pi4j китепканасын колдондук, малина piге pi4j орнотуу кадамдары бул жерде сүрөттөлгөн:
pi4j.com/install.html
Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:
// Эркин лицензия менен таратылган.
// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.
// MPL3115A2
// Бул код MPL3115A2_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.
com.pi4j.io.i2c. I2CBus импорттоо;
com.pi4j.io.i2c. I2CDevice импорттоо;
com.pi4j.io.i2c. I2CFactory импорттоо;
java.io. IOException импорттоо;
коомдук класс MPL3115A2
{
public static void main (String args ) Exception ыргытат
{
// I2C шинасын түзүү
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C аппаратын алыңыз, MPL3115A2 I2C дареги 0x60 (96)
I2CDevice түзмөгү = Bus.getDevice (0x60);
// Башкаруу реестрин тандоо
// Активдүү режим, OSR = 128, бийиктик режими
device.write (0x26, (байт) 0xB9);
// Маалымат конфигурациясынын регистрин тандоо
// Бийиктикке, басымга, температурага иштетилген маалыматтар даяр окуя
device.write (0x13, (байт) 0x07);
// Башкаруу реестрин тандоо
// Активдүү режим, OSR = 128, бийиктик режими
device.write (0x26, (байт) 0xB9);
Thread.sleep (1000);
// 0x00 (00) дарегинен 6 байт маалыматтарды окуу
// статус, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
байт маалымат = жаңы байт [6];
device.read (0x00, data, 0, 6);
// Маалыматтарды 20 битке айландырыңыз
int tHeight = (((((маалымат [1] & 0xFF) * 65536) + ((маалымат [2] & 0xFF) * 256) + (маалымат [3] & 0xF0)) / 16);
int temp = ((маалыматтар [4] * 256) + (маалыматтар [5] & 0xF0)) / 16;
кош бийиктик = tHeight / 16.0;
кош cTemp = (temp / 16.0);
кош fTemp = cTemp * 1.8 + 32;
// Башкаруу реестрин тандоо
// Активдүү режим, OSR = 128, барометр режими
device.write (0x26, (байт) 0x39);
Thread.sleep (1000);
// 0x00 (00) дарегинен 4 байт маалыматтарды окуу
// статус, пресс msb1, пресс msb, pres lsb
device.read (0x00, data, 0, 4);
// Маалыматтарды 20 битке айландырыңыз
int pres = (((маалымат [1] & 0xFF) * 65536) + ((маалымат [2] & 0xFF) * 256) + (маалымат [3] & 0xF0)) / 16;
эки эсе басым = (pres / 4.0) / 1000.0;
// Экранга маалыматтарды чыгаруу
System.out.printf ("Басым: %.2f кПа %n", басым);
System.out.printf ("Бийиктик: %.2f m %n", бийиктик);
System.out.printf ("Цельсий боюнча температура: %.2f C %n", cTemp);
System.out.printf ("Фаренгейт температурасы: %.2f F %n", fTemp);
}
}
4 -кадам: Тиркемелер:
MPL3115A2дин ар кандай тиркемелери жогорку тактык алтиметриясын, смартфондорду/планшеттерди, персоналдык электроника алтиметриясын ж.б. камтыйт.
Сунушталууда:
Raspberry Pi - TMD26721 Инфракызыл санариптик жакындык детектору Java үйрөткүчү: 4 кадам

Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Java үйрөткүчү: TMD26721-бул инфрақызыл санариптик жакындык детектору, ал толугу менен жакындыкты аныктоо тутумун жана санариптик интерфейстин логикасын бир 8 пиндүү беттик монтаждоо модулунда камтыйт. тактык. А про
Raspberry Pi - TSL45315 Ambient Light Sensor Java үйрөткүчү: 4 кадам

Raspberry Pi - TSL45315 Ambient Light Sensor Java үйрөткүчү: TSL45315 - бул санариптик жарыктын сенсору. Бул жарыктын ар кандай шарттарында адамдын көзүнүн реакциясын болжолдойт. Түзмөктөрдүн үч тандалма интеграция убактысы бар жана I2C автобус интерфейси аркылуу 16-бит люкс түз чыгууну камсыз кылат. Түзмөк ко
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java үйрөткүчү: 4 кадам

Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java үйрөткүчү: A1332 - бул 360 ° контактсыз жогорку чечимдүү программалоочу магниттик бурчтун сенсору. Бул I2C интерфейсин колдонгон санарип системалар үчүн иштелип чыккан. Ал Circular Vertical Hall (CVH) технологиясына жана программалоочу микропроцессорго негизделген сигналга курулган
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java үйрөткүчү: 4 кадам

Raspberry Pi - BH1715 Digital чөйрө жарык сенсорунун Java үйрөткүчү: BH1715 - бул I²C автобус интерфейси бар санариптик жарык сенсору. BH1715, адатта, мобилдик түзмөктөр үчүн ЖК жана Баскычтоптун арткы жарык кубатын тууралоо үчүн айланадагы жарык маалыматтарды алуу үчүн колдонулат. Бул түзмөк 16-биттик чечимди жана жөндөөнү сунуштайт
Raspberry Pi - TMP007 Infrared Thermopile Sensor Java үйрөткүчү: 4 кадам

Raspberry Pi - TMP007 Infrared Thermopile Sensor Java үйрөткүчү: TMP007 - бул инфрақызыл термопил сенсор, ал объекттин температурасын аны менен байланышпастан өлчөйт. Сенсор талаасындагы объект тарабынан чыгарылган инфракызыл энергия сенсорго интеграцияланган термопил тарабынан сиңирилет. Термопил