Բովանդակություն:
Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Step
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
MPL3115A2- ն օգտագործում է MEMS ճնշման տվիչ ՝ I2C ինտերֆեյսով ՝ ճշգրիտ ճնշման/բարձրության և ջերմաստիճանի տվյալներ ապահովելու համար: Սենսորային ելքերը թվայնացվում են բարձր լուծման 24-բիթանոց ADC- ով: Ներքին մշակումը հեռացնում է փոխհատուցման առաջադրանքները ընդունող MCU համակարգից: Այն ունակ է հայտնաբերել միայն 0.05 կՊա -ի փոփոխություն, ինչը հավասար է 0.3 մ բարձրության փոփոխության: Ահա դրա ցուցադրումը ազնվամորի pi- ի միջոցով `օգտագործելով python ծածկագիրը:
Քայլ 1: Այն, ինչ ձեզ հարկավոր է..
1. Ազնվամորի Պի
2. MPL3115A2
3. I²C մալուխ
4. I²C Shield ազնվամորի Pi- ի համար
5. Ethernet մալուխ
Քայլ 2: Միացումներ
Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:
Այնուհետև I2C մալուխի մի ծայրը միացրեք MPL3115A2 սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:
Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:
Կապերը ցուցադրվում են վերևի նկարում:
Քայլ 3: Կոդ
MPL3115A2- ի Python կոդը կարելի է ներբեռնել մեր Github պահոցից ՝ DCUBE Store Community:
Ահա հղումը
Մենք օգտագործել ենք SMBus գրադարանը python կոդի համար, ազնվամորի pi- ի վրա SMBus տեղադրելու քայլերը նկարագրված են այստեղ.
pypi.python.org/pypi/smbus-cffi/0.5.1
Այստեղից կարող եք նաև պատճենել կոդը, այն տրվում է հետևյալ կերպ.
# Տարածված է ազատ կամքի լիցենզիայով:
# Օգտագործեք այն ինչպես ցանկանում եք, շահույթ կամ անվճար, պայմանով, որ այն տեղավորվում է դրա հետ կապված աշխատանքների լիցենզիաներում:
# MPL3115A2
# Այս կոդը նախատեսված է MPL3115A2_I2CS I2C մինի մոդուլի հետ աշխատելու համար
ներմուծել smbus
ներմուծման ժամանակը
# Ձեռք բերեք I2C ավտոբուս
ավտոբուս = smbus. SMBus (1)
# MPL3115A2 հասցե, 0x60 (96)
# Ընտրեք կառավարման ռեգիստր, 0x26 (38)
# 0xB9 (185) Ակտիվ ռեժիմ, OSR = 128, Բարձրաչափի ռեժիմ
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 հասցե, 0x60 (96)
# Ընտրեք տվյալների կազմաձևման գրանցամատյան, 0x13 (19)
# 0x07 (07) Տվյալների պատրաստ իրադարձությունը միացված է բարձրության, ճնշման, ջերմաստիճանի համար
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 հասցե, 0x60 (96)
# Ընտրեք կառավարման ռեգիստր, 0x26 (38)
# 0xB9 (185) Ակտիվ ռեժիմ, OSR = 128, Բարձրաչափի ռեժիմ
bus.write_byte_data (0x60, 0x26, 0xB9)
ժամանակ. քուն (1)
# MPL3115A2 հասցե, 0x60 (96)
# Կարդացեք տվյալները 0x00 (00) -ից, 6 բայթ
# կարգավիճակ, tHeight MSB1, tHeight MSB, tHeight LSB, ջերմաստիճան MSB, temp LSB
տվյալներ = bus.read_i2c_block_data (0x60, 0x00, 6)
# Փոխարկեք տվյալները 20 բիթ
tHeight = ((տվյալները [1] * 65536) + (տվյալները [2] * 256) + (տվյալները [3] և 0xF0)) / 16
temp = ((տվյալները [4] * 256) + (տվյալները [5] և 0xF0)) / 16
բարձրություն = t Բարձրություն / 16.0
cTemp = temp / 16.0
fTemp = cTemp * 1.8 + 32
# MPL3115A2 հասցե, 0x60 (96)
# Ընտրեք կառավարման ռեգիստր, 0x26 (38)
# 0x39 (57) Ակտիվ ռեժիմ, OSR = 128, Բարոմետր ռեժիմ
bus.write_byte_data (0x60, 0x26, 0x39)
ժամանակ. քուն (1)
# MPL3115A2 հասցե, 0x60 (96)
# Կարդացեք տվյալները 0x00 (00) -ից, 4 բայթ
# կարգավիճակ, pres MSB1, pres MSB, pres LSB
տվյալներ = bus.read_i2c_block_data (0x60, 0x00, 4)
# Փոխարկեք տվյալները 20 բիթ
pres = ((տվյալները [1] * 65536) + (տվյալները [2] * 256) + (տվյալները [3] և 0xF0)) / 16
ճնշում = (pres / 4.0) / 1000.0
# Ելքի տվյալները էկրանին
տպել "ureնշում. %.2f kPa" %ճնշում
տպել "Բարձրություն. %.2f մ" %բարձրություն
տպել "elsերմաստիճանը Celsius: %.2f C" %cTemp
տպել "ahերմաստիճանը Ֆարենհայտում. %.2f F" %fTemp
Քայլ 4: Դիմումներ
MPL3115A2- ի տարբեր ծրագրեր ներառում են բարձր ճշգրտության բարձրաչափություն, սմարթֆոններ/պլանշետներ, անհատական էլեկտրոնիկայի բարձրաչափություն և այլն: Այն կարող է ներառվել նաև GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, ինչպես նաև Եղանակային կայանի սարքավորումներում:
Խորհուրդ ենք տալիս:
Raspberry Pi - TMP007 Infrared Thermopile Sensor Python Tutorial: 4 Step
Raspberry Pi - TMP007 Ինֆրակարմիր ջերմաչափի սենսոր Python ձեռնարկ. TMP007 ինֆրակարմիր ջերմապաշտպան ցուցիչ է, որը չափում է օբյեկտի ջերմաստիճանը ՝ առանց դրա հետ շփման: Սենսորային դաշտում օբյեկտի կողմից արտանետվող ինֆրակարմիր էներգիան ներծծվում է սենսորի մեջ ինտեգրված ջերմափողով: Թերմոպիլը
Arduino- ի ավտոմատ ստվերային էկրանի ծրագրի համար Step Step Motor և Driver- ի ընտրություն. 12 քայլ (նկարներով)
Arduino- ի ավտոմատ ստվերային էկրանի նախագծի համար Step Motor և Driver- ի ընտրություն. Այս հրահանգում ես կանցնեմ այն քայլերի միջոցով, որոնք կատարել եմ Step Motor և Driver ընտրելու համար `Automated Shade Screen նախագծի նախատիպի համար: Ստվերային էկրանները հայտնի և էժան Coolaroo ձեռքերով սեղմված մոդելներն են, և ես ուզում էի փոխարինել
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java ձեռնարկ. 4 քայլ
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332- ը 360 ° առանց կոնտակտ բարձր լուծման ծրագրավորվող մագնիսական անկյան դիրքի սենսոր է: Այն նախատեսված է թվային համակարգերի համար `օգտագործելով I2C ինտերֆեյս: Այն կառուցված է Circular Vertical Hall (CVH) տեխնոլոգիայի և ծրագրավորվող միկրոպրոցեսորային ազդանշանի վրա
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Step
Raspberry Pi MMA8452Q 3 առանցքի 12-բիթ/8-բիթ թվային արագացուցիչ Javaավա ձեռնարկ. MMA8452Q- ը խելացի, ցածր էներգիայի, երեք առանցքի, տարողունակ, միկրոմեքենայական արագացուցիչ է ՝ 12 բիթ թույլատրությամբ: Օգտվողի կողմից ծրագրավորվող ճկուն տարբերակները տրամադրվում են արագացուցիչի մեջ ներկառուցված գործառույթների օգնությամբ, որոնք կարող են կարգավորվել երկու ընդհատման համար
Green Laser Subwoofer Tutorial: 6 Step
Կանաչ լազերային ենթավոֆերի ձեռնարկ