Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Python -kode til accelerationsmåling:
- Trin 4: Ansøgninger:
Video: Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
H3LIS331DL, er et laveffekt højtydende 3-akset lineært accelerometer, der tilhører "nano" -familien, med digitalt I²C serielt interface. H3LIS331DL har bruger -valgbare fulde skalaer på ± 100g/± 200g/± 400g, og den er i stand til at måle accelerationer med outputdatahastigheder fra 0,5 Hz til 1 kHz. H3LIS331DL fungerer garanteret over et udvidet temperaturområde fra -40 ° C til +85 ° C.
I denne vejledning vil vi demonstrere grænsefladen mellem H3LIS331DL og Raspberry Pi ved hjælp af python som programmeringssprog.
Trin 1: Påkrævet hardware:
De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:
1. H3LIS331DL
2. Hindbær Pi
3. I2C -kabel
4. I2C Skjold til hindbær pi
5. Ethernet -kabel
Trin 2: Hardware -tilslutning:
Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:
H3LIS331DL fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.
Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!
Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.
Disse forbindelser er vist på billederne ovenfor.
Trin 3: Python -kode til accelerationsmåling:
fordelen ved at bruge hindbær pi er, det vil sige giver dig fleksibiliteten i det programmeringssprog, hvor du vil programmere tavlen for at interface sensoren med den. Ved at udnytte denne fordel ved dette board demonstrerer vi her sin programmering i python. Python er et af de letteste programmeringssprog med den letteste syntaks. Python -koden til H3LIS331DL kan downloades fra vores github -fællesskab, der er DCUBE Store.
Ud over brugernes brugervenlighed forklarer vi også koden her:
Som det første trin i kodningen skal du downloade SMBus -biblioteket i tilfælde af python, fordi dette bibliotek understøtter de funktioner, der bruges i koden. Så for at downloade biblioteket kan du besøge følgende link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere arbejdskoden herfra:
import smbus
importtid
# Få I2C busbus = smbus. SMBus (1)
# H3LIS331DL adresse, 0x18 (24)
# Vælg kontrolregister 1, 0x20 (32)
# 0x27 (39) Power ON-tilstand, Dataudgangshastighed = 50 Hz# X, Y, Z-akse aktiveret
bus.write_byte_data (0x18, 0x20, 0x27)
# H3LIS331DL -adresse, 0x18 (24)# Vælg kontrolregister 4, 0x23 (35)
# 0x00 (00) Kontinuerlig opdatering, Valg i fuld skala = +/- 100g
bus.write_byte_data (0x18, 0x23, 0x00)
time.sleep (0,5)
# H3LIS331DL adresse, 0x18 (24)
# Læs data tilbage fra 0x28 (40), 2 bytes
# X-Axis LSB, X-Axis MSB
data0 = bus.read_byte_data (0x18, 0x28)
data1 = bus.read_byte_data (0x18, 0x29)
# Konverter dataxAccl = data1 * 256 + data0
hvis xAccl> 32767:
xAccl -= 65536
# H3LIS331DL adresse, 0x18 (24)
# Læs data tilbage fra 0x2A (42), 2 bytes
# Y-akse LSB, Y-akse MSB
data0 = bus.read_byte_data (0x18, 0x2A)
data1 = bus.read_byte_data (0x18, 0x2B)
# Konverter dataene
yAccl = data1 * 256 + data0
hvis yAccl> 32767:
yAccl -= 65536
# H3LIS331DL adresse, 0x18 (24)
# Læs data tilbage fra 0x2C (44), 2 bytes
# Z-Axis LSB, Z-Axis MSB
data0 = bus.read_byte_data (0x18, 0x2C)
data1 = bus.read_byte_data (0x18, 0x2D)
# Konverter dataene
zAccl = data1 * 256 + data0
hvis zAccl> 32767:
zAccl -= 65536
# Output data til skærmen
print "Acceleration i X-akse: %d" %xAccl
print "Acceleration i Y-akse: %d" %yAccl
print "Acceleration i Z-akse: %d" %zAccl
Koden udføres ved hjælp af følgende kommando:
$> python H3LIS331DL.py gt; python H3LIS331DL.py
Sensorens output vises på billedet ovenfor til brugerens reference.
Trin 4: Ansøgninger:
Accelerometre som H3LIS331DL finder for det meste sin anvendelse i spil og skifter profilprofil. Dette sensormodul bruges også i det avancerede strømstyringssystem til mobile applikationer. H3LIS331DL er en triaksial digital accelerationssensor, som er integreret med en intelligent on-chip bevægelsesudløst afbrydelsescontroller.
Anbefalede:
Måling af acceleration ved hjælp af ADXL345 og Particle Photon: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Particle Photon: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Måling af acceleration ved hjælp af H3LIS331DL og Arduino Nano: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Arduino Nano: H3LIS331DL, er et laveffekt højtydende 3-akset lineært accelerometer, der tilhører "nano" -familien, med digitalt I²C serielt interface. H3LIS331DL har bruger -valgbare fulde skalaer på ± 100g/± 200g/± 400g, og den er i stand til at måle accelerationer m
Måling af acceleration ved hjælp af H3LIS331DL og partikelfoton: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Particle Photon: H3LIS331DL, er et laveffekt højtydende 3-akset lineært accelerometer, der tilhører "nano" -familien, med digitalt I²C serielt interface. H3LIS331DL har bruger -valgbare fulde skalaer på ± 100g/± 200g/± 400g, og den er i stand til at måle accelerationer m
Måling af acceleration ved hjælp af ADXL345 og Raspberry Pi: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Raspberry Pi: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Måling af acceleration ved hjælp af ADXL345 og Arduino Nano: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Arduino Nano: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler