Мазмуну:
- 1 -кадам: Бизге керектүү жабдуулар
- 2 -кадам: Аппараттык туташуулар схеманы бириктирет
- 3 -кадам: Javaдагы Raspberry Pi программалоосу
- 4 -кадам: Кодекстин практикалуулугу (Жумушчу)
- 5 -кадам: Тиркемелер жана өзгөчөлүктөр
- 6 -кадам: Жыйынтык
Video: Raspberry Pi колдонуу, MPL3115A2 менен бийиктикти, басымды жана температураны өлчөө: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Эмнеге таандык экениңизди жана эмне үчүн ага ээлик кылганыңызды билиңиз
Бул кызык. Биз Интернетти автоматташтыруу доорунда жашап жатабыз, анткени ал көптөгөн жаңы тиркемелерге кирет. Компьютер жана электроника ышкыбоздору катары биз Raspberry Pi менен көп нерсени үйрөнүп, кызыкчылыктарыбызды аралаштырууну чечтик. Эгерде сиз I²C туташууларын жана Программалык камсыздоону жаңыдан үйрөнүп жатсаңыз, бул долбоор болжол менен бир саатка созулат жана бул MPL3115A2нин Javaдагы Raspberry Pi менен мүмкүнчүлүктөрүн кеңейтүүнүн эң сонун жолу.
1 -кадам: Бизге керектүү жабдуулар
1. Raspberry Pi
Биринчи кадам Raspberry Pi тактасын алуу болду. Бул кичинекей гений хоббисттер, мугалимдер жана инновациялык чөйрөнү түзүүдө колдонулат.
2. Raspberry Pi үчүн I2C Shield
INPI2 (I2C адаптери) Raspberry Pi 2/3 жана I²C портун бир нече I2C түзмөктөрү менен камсыз кылат. Бул Dcube дүкөнүндө жеткиликтүү.
3. Альтиметр, басым жана температура сенсору, MPL3115A2
MPL3115A2 IEMC интерфейси бар MEMS басым сенсору, басым, бийиктик жана температура маалыматтарын берет. Бул сенсор байланыш үчүн I²2 протоколун колдонот. Биз бул сенсорду Dcube дүкөнүнөн сатып алдык.
4. Кабелди туташтыруу
Биз Dcube Storeдо бар I²C туташтыруу кабелин колдондук.
5. Микро USB кабели
Raspberry Pi микро USB менен камсыздалат.
6. Интернетке кирүүнү жакшыртуу - Ethernet Cable/WiFi Module
Сиз кыла турган эң биринчи нерселердин бири - Raspberry Piңизди Интернетке туташтыруу. Сиз Ethernet кабелин же Wireless USB Nano WiFi адаптери менен туташа аласыз.
7. HDMI Cable (Милдеттүү эмес, Сиздин тандооңуз)
Сиз HDMI кабели аркылуу мониторго Raspberry Pi туташтыра аласыз. Ошондой эле, Raspberry Pi'ге SSH/PuTTY аркылуу алыстан кире аласыз.
2 -кадам: Аппараттык туташуулар схеманы бириктирет
Схеманы көрсөтүлгөн схемага ылайык жасаңыз. Жалпысынан алганда, байланыштар абдан жөнөкөй. Жогорудагы көрсөтмөлөрдү жана сүрөттөрдү ээрчиңиз, жана сизде эч кандай көйгөй жаралбашы керек. Пландаштырып жатып, биз аппараттык жана коддоону, ошондой эле электрониканын негиздерин карадык. Биз бул долбоор үчүн жөнөкөй электроника схемасын иштеп чыккыбыз келди. Диаграммада I²C байланыш протоколдоруна ылайык ар кандай бөлүктөрдү, күч компоненттерин жана I²C сенсорун байкаса болот. Бул долбоордун электроникасы канчалык жөнөкөй экенин көрсөтөт деп үмүттөнөбүз.
Raspberry Pi жана I2C Shieldдин туташуусу
Бул үчүн, Raspberry Pi жана ага I²C Shield коюңуз. Калканды акырын басыңыз (Сүрөттү караңыз).
Сенсор менен Raspberry Pi байланышы
Сенсорду алып, аны менен I²C кабелин туташтырыңыз. I²C Output ар дайым I²C киришине туташып турганын текшериңиз. Анын артында I²C экраны орнотулган Raspberry Pi турат, бизде I²C Shield жана I²C туташтыруучу кабелдер абдан чоң артыкчылык болуп саналат, анткени бизде сайгыч жана ойноо опциясы гана калды. Мындан ары казыктар жана зым көйгөйлөрү жок, ошондуктан башаламандык жок болду. Өзүңүздү зымдардын торунда элестетип, ага кирүү кандай жеңилдик. Ушул сыяктуу жөнөкөй!
Эскертүү: күрөң зым дайыма бир түзмөктүн чыгышы менен башка түзмөктүн киришинин ортосундагы Ground (GND) байланышын ээрчиши керек
Интернетке туташуу өтө маанилүү
Биздин долбоор ийгиликтүү болушу үчүн, биздин Raspberry Pi үчүн интернетке кирүү керек. Бул жерде сизде Ethernet (LAN) кабелин туташтыруу сыяктуу параметрлер бар. Ошондой эле, WiFi адаптерин колдонуунун альтернатива, бирок таасирдүү жолу катары.
Райондун кубаттуулугу
Micro USB кабелин Raspberry Pi'дин кубат уячасына сайыңыз. Аны күйгүзүңүз жана voila, биз барганыбыз жакшы!
Экранга туташуу
Биз HDMI кабелин мониторго туташтырып койсок болот же башыбыз жок Пи (-SSH/PuTTY колдонуп) жасоо үчүн бир аз инновациялуу боло алабыз, бул кошумча чыгымдарды кыскартууга жардам берет, анткени биз кандайдыр бир деңгээлде хоббистпиз.
Адат акчага чыга баштаганда, бул хобби деп аталат
3 -кадам: Javaдагы Raspberry Pi программалоосу
Raspberry Pi жана MPL3115A2 сенсорунун Java коду. Бул биздин Github репозиторийибизде жеткиликтүү.
Кодго өтүүдөн мурун, Readme файлында берилген көрсөтмөлөрдү окуп чыкканыңызга жана ага ылайык Raspberry Pi орнотконуңузду текшериңиз. Бул үчүн бир аз убакыт кетет, бийиктик төмөнкү теңдеме аркылуу басымдын эсебинен эсептелет:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Каттоо мааниси)
мында p0 = деңиз деңгээлинин басымы (101326 Па) жана h метр менен. MPL3115A2 бул маанини колдонот, анткени офсеттик реестр LSBге 2 Паскаль деп аныкталат. Код так сиздин алдыңызда жана сиз элестете турган эң жөнөкөй формада жана сизде эч кандай көйгөй болбошу керек.
Бул сенсордун Java кодун бул жерден көчүрүп алсаңыз болот.
// Эркин лицензия менен бөлүштүрүлгөн. // MPL3115A2 // Бул код ControlEverything.com жеткиликтүү 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, altimeter mode device.write (0x26, (байт) 0xB9); // Маалымат конфигурациясынын регистрин тандоо // Бийиктикке, басымга, температурага түзмөккө жазуу үчүн даяр болгон окуя.write (0x13, (байт) 0x07); // Башкаруу реестрин тандоо // Активдүү режим, OSR = 128, altimeter mode 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, barometer mode device.write (0x26, (байт) 0x39); Thread.sleep (1000); // 0x00 (00) адресинен 4 байт маалыматтарды окуңуз // статус, пресс msb1, pres msb, pres lsb device.read (0x00, маалыматтар, 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 -кадам: Кодекстин практикалуулугу (Жумушчу)
Эми кодду жүктөп алыңыз (же git pull) жана аны Raspberry Piден ачыңыз. Терминалга кодду компиляциялоо жана жүктөө үчүн буйруктарды аткарыңыз жана монитордогу чыгууну көрүңүз. Бир нече секунддан кийин, ал бардык параметрлерди көрсөтөт. Баары бир калыпта иштээрине ынангандан кийин, бул долбоорду чоңураак долбоорго кабыл алсаңыз болот.
5 -кадам: Тиркемелер жана өзгөчөлүктөр
MPL3115A2 Precision Altimeter сенсорунун кеңири колдонулушу Карта (Map Assist, Navigation), Magnetic Compass, or GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), Жогорку Тактык Альтиметриясы, Смартфондор/Планшеттер, Жеке Электроника Альтиметриясы жана Спутниктер (Аба ырайы станциясынын жабдуулары/Прогноз).
Мисалы, Бул сенсорду жана Rasp Pi менен сиз бийиктикти, абанын басымын жана температураны өлчөй ала турган Digital Visual Altimeter, парашют менен секирүү жабдууларын кура аласыз. Сиз шамал марли жана башка сенсорлорду кошо аласыз, андыктан кызыктуусун жасаңыз.
6 -кадам: Жыйынтык
Программа таң калыштуу түрдө ыңгайлаштырылгандыктан, бул долбоорду узартуунун жана андан да жакшырткан көптөгөн кызыктуу жолдор бар. Мисалы, альтиметр/интерферометр бир эле убакта өлчөөлөргө ээ боло турган, тактайларга орнотулган бир нече альтиметрди камтыйт, ошону менен кеңири аймакты үзгүлтүксүз, бир же көп альтиметр менен камтууну камсыз кылат. Бизде бул долбоорду жакшыраак түшүнүүгө жардам бере турган YouTubeда кызыктуу видео үйрөткүч бар.
Сунушталууда:
HTS221 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Raspberry Pi аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: 4 кадам
HDC1000 жана Raspberry Pi менен температураны жана нымдуулукту өлчөө: HDC1000 - бул өтө аз кубаттуулукта мыкты өлчөө тактыгын камсыз кылган интегралдык температура сенсоруна ээ болгон санарип нымдуулук сенсору. Аппарат нымдуулукту жаңы сыйымдуу сенсордун негизинде өлчөйт. Нымдуулук жана температура сенсорлору бетке
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт
Esp32 жана Thingsio.ai платформасын колдонуу менен температураны өлчөө: 6 кадам
Esp32 жана Thingsio.ai платформасын колдонуу менен температураны өлчөө: Бул окуу куралында мен esp32 өнүктүрүү тактасында камтылган температура сенсорун колдонуу менен айланадагы температураны өлчөө жөнүндө айтып берейин. esp32де көптөгөн сенсорлор бар, алар жакындык сенсору катары колдонулган зал сенсору сыяктуу