Inhoudsopgave:
- Stap 1: Dwingende apparatuur die we nodig hebben
- Stap 2: Hardwareverbindingen om het circuit samen te stellen
- Stap 3: Raspberry Pi programmeren in Python
- Stap 4: De bruikbaarheid van de code (testen)
- Stap 5: Toepassingen en functies
- Stap 6: Conclusie
Video: Hoogte, druk en temperatuur Raspberry Pi gebruiken met MPL3115A2 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Klinkt interessant. Het is best mogelijk in deze tijd waarin we allemaal de IoT-generatie ingaan. Als elektronicafreak hebben we met de Raspberry Pi gespeeld en besloten om met deze kennis interessante projecten te maken. In dit project zullen we hoogte, luchtdruk en temperatuur meten met behulp van Raspberry Pi. Dus hier komt de documentatie (altijd gewijzigd en uitgebreid). We raden aan om te beginnen met het volgen van de instructies en de code te kopiëren. Je kunt later experimenteren. Dus laten we beginnen.
Stap 1: Dwingende apparatuur die we nodig hebben
1. Raspberry Pi
De eerste stap was het verkrijgen van een Raspberry Pi-bord. Wij hebben de onze gekocht en jij ook. We begonnen te leren van de tutorials, we begrepen de concepten voor scripts en verbindingen en leerden daarna. Dit kleine genie is gebruikelijk voor hobbyisten, leraren en bij het creëren van innovatieve omgevingen.
2. I²C-schild voor Raspberry Pi
De INPI2 (I2C-adapter) biedt de Raspberry Pi 2/3 een I²C-poort voor gebruik met meerdere I2C-apparaten. Het is beschikbaar in de Dcube Store
3. Hoogtemeter, druk- en temperatuursensor, MPL3115A2
De MPL3115A2 is een MEMS-druksensor met een I²C-interface om druk-/hoogte- en temperatuurgegevens te geven. Deze sensor maakt voor de communicatie gebruik van het I²C-protocol. We hebben deze sensor gekocht bij Dcube Store
4. Aansluitkabel
We hadden de I2C-verbindingskabel beschikbaar bij Dcube Store
5. Micro-USB-kabel
De micro-USB-kabel Voeding is een ideale keuze voor het voeden van de Raspberry Pi.
6. Verbetering van internettoegang - Ethernet-kabel/WiFi-adapter
In dit tijdperk heeft het verkrijgen van toegang tot alles een internetverbinding nodig (bijna omdat er ook offline leven is). Dus we gaan het advies van een LAN-kabel of een draadloze Nano USB-adapter (WiFi) opvolgen om de internetverbinding op te bouwen, zodat we onze Rasp Pi gemakkelijk en zonder enig probleem kunnen gebruiken.
7. HDMI-kabel (optioneel, uw keuze)
Het is een beetje lastig. U kunt de kracht hebben om een andere monitor aan te sluiten als u dat wilt, of het is zeer kosteneffectief voor uzelf door een headless Pi-verbinding met uw pc/laptop te maken.
Stap 2: Hardwareverbindingen om het circuit samen te stellen
Maak het circuit volgens het getoonde schema. Over het algemeen zijn de verbindingen heel eenvoudig. Volg de instructies en afbeeldingen en u zou geen problemen moeten hebben.
Tijdens de planning hebben we gekeken naar hardware en codering, evenals naar de basisprincipes van elektronica. Voor dit project wilden we een eenvoudig elektronicaschema ontwerpen. In het diagram ziet u de verschillende onderdelen, voedingscomponenten en I²C-sensor volgens I²C-communicatieprotocollen. Hopelijk illustreert dit hoe eenvoudig de elektronica voor dit project is.
Aansluiting van de Raspberry Pi en I2C Shield
Pak eerst de Raspberry Pi en plaats daar de I²C Shield op. Druk voorzichtig op het schild (zie de foto).
Aansluiting van de Sensor en Raspberry Pi
Pak de sensor en sluit de I²C-kabel ermee aan. Zorg ervoor dat de I²C-uitgang ALTIJD wordt aangesloten op de I²C-ingang. Hetzelfde zal worden gevolgd door de Raspberry Pi met het I²C-schild eroverheen. We hebben het I²C-schild en de I²C-verbindingskabels aan onze kant als een heel groot voordeel omdat we alleen de plug-and-play-optie hebben. Geen problemen meer met pinnen en bedrading en dus is verwarring verdwenen. Wat een opluchting als je je voorstelt in het web van draden en daarin terechtkomt. Gewoon het eenvoudige proces dat we hebben genoemd.
Opmerking: de bruine draad moet altijd de massaverbinding (GND) volgen tussen de uitgang van het ene apparaat en de ingang van een ander apparaat
Internetverbinding is van vitaal belang
Je hebt hier eigenlijk een keuze. U kunt Raspberry Pi aansluiten met de LAN-kabel of de draadloze Nano USB-adapter voor WiFi-connectiviteit. Hoe dan ook, het deed het belangrijkste doel om verbinding te maken met internet.
Voeding van het circuit
Steek de micro-USB-kabel in de stroomaansluiting van de Raspberry Pi. Steek het aan en we zijn klaar om te gaan.
Verbinding met scherm
We kunnen de HDMI-kabel op een nieuwe monitor aansluiten of we kunnen onze headless Pi maken, die creatief en kosteneffectief is met externe toegang zoals SSH/PuTTY. (Ik weet dat we niet worden gefinancierd als een geheime organisatie)
Stap 3: Raspberry Pi programmeren in Python
De Python-code voor de Raspberry Pi en MPL3115A2-sensor. Het is beschikbaar in onze Github-repository.
Voordat u verder gaat met de code, moet u ervoor zorgen dat u de instructies in het Readme-bestand leest en uw Raspberry Pi volgens de code instelt. Het duurt slechts een moment om dit te doen.
De hoogte wordt berekend uit de druk met behulp van de onderstaande vergelijking:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Registreerwaarde)
Waar p0 = druk op zeeniveau (101326 Pa) en h in meters. De MPL3115A2 gebruikt deze waarde omdat het offsetregister is gedefinieerd als 2 Pascal per LSB.
De code ligt duidelijk voor je en is in de eenvoudigste vorm die je je kunt voorstellen en je zou geen problemen moeten hebben.
U kunt hier ook de werkende Python-code voor deze sensor kopiëren.
# Gedistribueerd met een vrije licentie. # Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken. # MPL3115A2 # Deze code is ontworpen om te werken met de MPL3115A2_I2CS I2C Mini Module die verkrijgbaar is via ControlEverything.com. #
import smbus
import tijd
# Krijg I2C-bus
bus = smbus. SMBus(1)
# MPL3115A2 adres, 0x60(96)
# Selecteer besturingsregister, 0x26(38) # 0xB9(185) Actieve modus, OSR = 128, Hoogtemetermodus bus.write_byte_data(0x60, 0x26, 0xB9) # MPL3115A2-adres, 0x60(96) # Selecteer gegevensconfiguratieregister, 0x13(19) # 0x07(07) Data gereed-gebeurtenis ingeschakeld voor hoogte, druk, temperatuur bus.write_byte_data(0x60, 0x13, 0x07) # MPL3115A2-adres, 0x60(96) # Select control register, 0x26(38) # 0xB9(185) Actieve modus, OSR = 128, Hoogtemetermodus bus.write_byte_data (0x60, 0x26, 0xB9)
tijd.slaap(1)
# MPL3115A2 adres, 0x60(96)
# Lees data terug van 0x00(00), 6 bytes # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Converteer de gegevens naar 20-bits
tHeight = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 temp = ((data[4] * 256) + (data[5] & 0xF0)) / 16 hoogte = tHoogte / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 adres, 0x60(96)
# Selecteer controleregister, 0x26(38) # 0x39(57) Actieve modus, OSR = 128, Barometermodus bus.write_byte_data (0x60, 0x26, 0x39)
tijd.slaap(1)
# MPL3115A2 adres, 0x60(96)
# Lees data terug van 0x00(00), 4 bytes # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data(0x60, 0x00, 4)
# Converteer de gegevens naar 20-bits
druk = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 druk = (pres / 4,0) / 1000,0
# Gegevens uitvoeren naar scherm
print "Druk: %.2f kPa" %druk print "Hoogte: %.2f m" %hoogte print "Temperatuur in Celsius: %.2f C" %cTemp print "Temperatuur in Fahrenheit: %.2f F" %fTemp
Stap 4: De bruikbaarheid van de code (testen)
Download nu (of git pull) de code en open deze in de Raspberry Pi.
Voer de opdrachten uit om de code te compileren en te uploaden in de terminal en bekijk de uitvoer op Monitor. Na enkele seconden worden alle parameters weergegeven. Nadat je ervoor hebt gezorgd dat alles soepel werkt, kun je dit project in een groter project opnemen.
Stap 5: Toepassingen en functies
Het algemene gebruik van de MPL3115A2 Precision Altimeter I²C-sensor is in toepassingen zoals Kaart (Map Assist, Navigatie), Magnetisch Kompas of GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Hoge Nauwkeurigheid Altimetrie, Smartphones/Tablets, Personal Electronics Altimetry en satellieten (apparatuur voor weerstations/voorspellingen).
Voor bijv. een project voor het maken van Personal Electronics Altimeter die hoogte, luchtdruk en temperatuur meet met behulp van Raspberry Pi. De Personal Electronics Altimeter is in totaal een vrij snel project om te bouwen. Het duurt maar een paar minuten als je alle partijen hebt en niet improviseert (natuurlijk kan dat!). Een drukhoogtemeter is een hoogtemeter die in de meeste vliegtuigen wordt aangetroffen, en parachutisten gebruiken voor soortgelijke doeleinden op de pols gemonteerde versies. Wandelaars en bergbeklimmers gebruiken op de pols gemonteerde of in de hand gehouden hoogtemeters.
Stap 6: Conclusie
Ik hoop dat dit project inspireert tot verdere experimenten. Deze I²C-sensor is ongelooflijk veelzijdig, goedkoop en toegankelijk. Omdat het een extreem veranderlijk programma is, zijn er interessante manieren om dit project uit te breiden en nog beter te maken. De hoogtemeter is bijvoorbeeld een instrument dat optioneel is in terreinwagens om te helpen bij het navigeren. Sommige high-performance luxe auto's die nooit bedoeld waren om verharde wegen te verlaten, gebruiken deze technologie. Voor uw gemak hebben we een interessante video-tutorial op YouTube die u kan helpen bij uw verkenning. Ik hoop dat dit project inspireert tot verdere experimenten.
Aanbevolen:
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing: 6 stappen
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing. We komen verschillende projecten tegen die temperatuur-, druk- en vochtigheidsbewaking vereisen. We realiseren ons dus dat deze parameters eigenlijk een cruciale rol spelen bij het hebben van een schatting van de werkefficiëntie van een systeem bij verschillende atmosferische cond
De druk en hoogte bepalen met behulp van GY-68 BMP180 en Arduino: 6 stappen
Het bepalen van de druk en hoogte met behulp van GY-68 BMP180 en Arduino: Overzicht Bij veel projecten zoals vliegende robots, weerstations, het verbeteren van de routeprestaties, sport en etc. is het meten van druk en hoogte erg belangrijk. In deze zelfstudie leert u hoe u de BMP180-sensor gebruikt, een van de meest
Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen
Mac Terminal gebruiken en toetsfuncties gebruiken: We laten u zien hoe u de MAC Terminal opent. We zullen u ook enkele functies binnen de Terminal laten zien, zoals ifconfig, mappen wijzigen, toegang tot bestanden en arp. Met Ifconfig kunt u uw IP-adres en uw MAC-advertentie controleren
Druk meten met uw Micro:bit: 5 stappen (met afbeeldingen)
Druk meten met uw Micro:bit: De volgende instructie beschrijft een eenvoudig te bouwen en goedkoop apparaat om drukmetingen uit te voeren en de wet van Boyle te demonstreren, met behulp van de micro:bit in combinatie met de BMP280 druk-/temperatuursensor. Terwijl deze spuit/druk