Inhaltsverzeichnis:

Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2 - Gunook
Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2 - Gunook

Video: Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2 - Gunook

Video: Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2 - Gunook
Video: Raspberry Pi GPIO Elektronik Einstieg: Komponenten, Kits, Breadboard Erklärung, GPIO Grundlagen 2024, Juli
Anonim
Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2
Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2
Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2
Höhe, Druck und Temperatur mit Raspberry Pi mit MPL3115A2

Hört sich interessant an. Dies ist in dieser Zeit, in der wir alle in die IoT-Generation einsteigen, durchaus möglich. Als Elektronik-Freak haben wir mit dem Raspberry Pi gespielt und beschlossen, mit diesem Wissen interessante Projekte zu machen. In diesem Projekt werden wir Höhe, Luftdruck und Temperatur mit Raspberry Pi messen. Hier geht es also zur Dokumentation (die ständig modifiziert und erweitert wird). Wir empfehlen, damit zu beginnen, den Anweisungen zu folgen und den Code zu kopieren. Sie können später experimentieren. Also lasst uns anfangen.

Schritt 1: Unerlässliche Ausrüstung, die wir brauchen

Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen
Unerlässliche Ausrüstung, die wir brauchen

1. Himbeer-Pi

Der erste Schritt war die Beschaffung einer Raspberry Pi-Platine. Wir haben unsere gekauft und Sie auch. Wir begannen, aus den Tutorials zu lernen, verstanden die Skript- und Verbindungskonzepte und lernten danach. Dieses kleine Genie ist bei Bastlern, Lehrern und bei der Schaffung innovativer Umgebungen üblich.

2. I²C-Shield für Raspberry Pi

Der INPI2 (I2C-Adapter) bietet dem Raspberry Pi 2/3 einen I²C-Port zur Verwendung mit mehreren I2C-Geräten. Es ist im Dcube Store erhältlich

3. Höhenmesser, Druck- und Temperatursensor, MPL3115A2

Der MPL3115A2 ist ein MEMS-Drucksensor mit einer I²C-Schnittstelle zur Ausgabe von Druck-/Höhen- und Temperaturdaten. Dieser Sensor verwendet das I²C-Protokoll zur Kommunikation. Wir haben diesen Sensor im Dcube Store gekauft

4. Anschlusskabel

Wir hatten das I2C-Verbindungskabel im Dcube Store erhältlich

5. Micro-USB-Kabel

Das Micro-USB-Kabel Netzteil ist eine ideale Wahl für die Stromversorgung des Raspberry Pi.

6. Verbesserung des Internetzugangs – Ethernet-Kabel/WiFi-Adapter

In dieser Ära braucht man für den Zugriff auf alles eine Internetverbindung (fast so wie es auch ein Offline-Leben gibt). Also befolgen wir den Rat eines LAN-Kabels oder eines Wireless Nano USB Adapters (WiFi), um die Internetverbindung aufzubauen, damit wir unseren RasPi problemlos und problemlos verwenden können.

7. HDMI-Kabel (optional, Ihre Wahl)

Es ist ein bisschen schwierig. Sie können einen weiteren Monitor anschließen, wenn Sie möchten, oder es ist sehr kostengünstig, indem Sie eine Headless-Pi-Verbindung mit Ihrem PC/Laptop herstellen.

Schritt 2: Hardwareverbindungen zum Zusammenbau der Schaltung

Hardwareverbindungen zum Zusammenbau der Schaltung
Hardwareverbindungen zum Zusammenbau der Schaltung
Hardwareverbindungen zum Zusammenbau der Schaltung
Hardwareverbindungen zum Zusammenbau der Schaltung

Stellen Sie die Schaltung gemäß dem gezeigten Schaltplan her. Im Allgemeinen sind die Verbindungen sehr einfach. Befolgen Sie die Anweisungen und Bilder, und Sie sollten keine Probleme haben.

Bei der Planung haben wir uns mit Hardware und Codierung sowie Elektronik-Grundlagen befasst. Wir wollten für dieses Projekt einen einfachen Elektronikschaltplan entwerfen. Im Diagramm können Sie die verschiedenen Teile, Leistungskomponenten und I²C-Sensoren erkennen, die den I²C-Kommunikationsprotokollen folgen. Hoffentlich veranschaulicht dies, wie einfach die Elektronik für dieses Projekt ist.

Anschluss von Raspberry Pi und I2C Shield

Nehmen Sie als erstes den Raspberry Pi und platzieren Sie das I²C Shield darauf. Drücken Sie vorsichtig auf das Schild (siehe Bild).

Anschluss von Sensor und Raspberry Pi

Nehmen Sie den Sensor und verbinden Sie das I²C-Kabel damit. Stellen Sie sicher, dass der I²C-Ausgang IMMER mit dem I²C-Eingang verbunden ist. Das gleiche soll der Raspberry Pi mit dem darüber montierten I²C-Shield folgen. Als ganz großen Vorteil haben wir das I²C-Shield und die I²C-Verbindungskabel auf unserer Seite, da uns nur noch die Plug-and-Play-Option bleibt. Kein Pin- und Verdrahtungsproblem mehr und somit ist die Verwirrung verschwunden. Was für eine Erleichterung, wenn Sie sich nur im Drahtgeflecht vorstellen und darin einsteigen. Nur der einfache Prozess, den wir erwähnt haben.

Hinweis: Das braune Kabel sollte immer der Masseverbindung (GND) zwischen dem Ausgang eines Geräts und dem Eingang eines anderen Geräts folgen

Internet-Konnektivität ist wichtig

Sie haben hier tatsächlich die Wahl. Sie können Raspberry Pi mit dem LAN-Kabel oder dem drahtlosen Nano-USB-Adapter für WiFi-Konnektivität verbinden. Wie auch immer, es war das Hauptziel, eine Verbindung zum Internet herzustellen.

Stromversorgung der Schaltung

Stecken Sie das Micro-USB-Kabel in die Strombuchse des Raspberry Pi. Anzünden und los geht's.

Verbindung zum Bildschirm

Wir können entweder das HDMI-Kabel an einen neuen Monitor anschließen oder unseren kopflosen Pi herstellen, der mit Fernzugriff wie SSH/PuTTY kreativ und kostengünstig ist. (Ich weiß, dass wir nicht wie eine Geheimorganisation finanziert werden)

Schritt 3: Raspberry Pi-Programmierung in Python

Raspberry Pi-Programmierung in Python
Raspberry Pi-Programmierung in Python

Der Python-Code für den Raspberry Pi und den MPL3115A2-Sensor. Es ist in unserem Github-Repository verfügbar.

Bevor Sie mit dem Code fortfahren, lesen Sie die Anweisungen in der Readme-Datei und richten Sie Ihren Raspberry Pi entsprechend ein. Es dauert nur einen Moment, dies zu tun.

Die Höhe wird aus dem Druck mit der folgenden Gleichung berechnet:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Registerwert)

Wobei p0 = Meeresspiegeldruck (101326 Pa) und h in Metern ist. Der MPL3115A2 verwendet diesen Wert, da das Offset-Register mit 2 Pascal pro LSB definiert ist.

Der Code liegt klar vor Ihnen und ist in der einfachsten Form, die Sie sich vorstellen können, und Sie sollten keine Probleme haben.

Sie können den funktionierenden Python-Code für diesen Sensor auch von hier kopieren.

# Wird mit einer frei wählbaren Lizenz vertrieben. # Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, vorausgesetzt, es passt zu den Lizenzen der zugehörigen Werke. # MPL3115A2 # Dieser Code wurde entwickelt, um mit dem MPL3115A2_I2CS I2C Mini-Modul zu arbeiten, das von ControlEverything.com erhältlich ist. #

smbus importieren

Importzeit

# Holen Sie sich den I2C-Bus

bus = smbus. SMBus(1)

# MPL3115A2 Adresse, 0x60(96)

# Steuerregister auswählen, 0x26(38) # 0xB9(185) Aktiver Modus, OSR = 128, Höhenmessermodus bus.write_byte_data(0x60, 0x26, 0xB9) # MPL3115A2 Adresse, 0x60(96) # Datenkonfigurationsregister auswählen, 0x13(19.)) # 0x07(07) Datenbereit-Ereignis für Höhe, Druck, Temperatur aktiviert bus.write_byte_data(0x60, 0x13, 0x07) # MPL3115A2 Adresse, 0x60(96) # Steuerregister auswählen, 0x26(38) # 0xB9(185) Aktiver Modus, OSR = 128, Höhenmesser-Modus bus.write_byte_data(0x60, 0x26, 0xB9)

Zeit. Schlaf(1)

# MPL3115A2 Adresse, 0x60(96)

# Daten von 0x00(00), 6 Bytes zurücklesen # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data(0x60, 0x00, 6)

# Konvertieren Sie die Daten in 20-Bit

tHeight = ((Daten[1] * 65536) + (Daten[2] * 256) + (Daten[3] & 0xF0)) / 16 temp = ((Daten[4] * 256) + (Daten[5] & 0xF0)) / 16 Höhe = tHeight / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32

# MPL3115A2 Adresse, 0x60(96)

# Steuerregister auswählen, 0x26(38) # 0x39(57) Aktiver Modus, OSR = 128, Barometermodus bus.write_byte_data(0x60, 0x26, 0x39)

Zeit. Schlaf(1)

# MPL3115A2 Adresse, 0x60(96)

# Daten aus 0x00(00) zurücklesen, 4 Byte # Status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data(0x60, 0x00, 4)

# Konvertieren Sie die Daten in 20-Bit

pres = ((data[1] * 65536) + (data[2] * 256) + (data[3] & 0xF0)) / 16 Druck = (pres / 4.0) / 1000.0

# Daten auf den Bildschirm ausgeben

print "Druck: %.2f kPa" %pressure print "Höhe: %.2f m" %altitude print "Temperatur in Celsius: %.2f C" %cTemp print "Temperatur in Fahrenheit: %.2f F" %fTemp

Schritt 4: Die Praktikabilität des Codes (Testen)

Die Praktikabilität des Codes (Testen)
Die Praktikabilität des Codes (Testen)

Laden Sie nun den Code herunter (oder git pull) und öffnen Sie ihn auf dem Raspberry Pi.

Führen Sie die Befehle zum Kompilieren und Hochladen des Codes im Terminal aus und sehen Sie sich die Ausgabe auf Monitor an. Nach einigen Sekunden werden alle Parameter angezeigt. Nachdem Sie sichergestellt haben, dass alles reibungslos funktioniert, können Sie dieses Projekt in ein größeres Projekt aufnehmen.

Schritt 5: Anwendungen und Funktionen

Der MPL3115A2 Präzisions-Höhenmesser I²C-Sensor wird häufig in Anwendungen wie Karten (Map Assist, Navigation), Magnetkompass oder GPS (GPS Koppelnavigation, GPS-Verbesserung für Rettungsdienste), hochgenaue Höhenmessung, Smartphones/Tablets, persönliche elektronische Höhenmessung verwendet und Satelliten (Wetterstationsausrüstung/-vorhersage).

Für z. B. ein Projekt zur Herstellung eines persönlichen elektronischen Höhenmessers, der Höhe, Luftdruck und Temperatur mit Raspberry Pi misst. Der Höhenmesser von Personal Electronics ist insgesamt ein ziemlich schnell zu bauendes Projekt. Es dauert nur wenige Augenblicke, wenn Sie alle Teile haben und nicht improvisieren (natürlich können Sie das!). Ein Druckhöhenmesser ist ein Höhenmesser, der in den meisten Flugzeugen zu finden ist, und Fallschirmspringer verwenden für ähnliche Zwecke am Handgelenk befestigte Versionen. Wanderer und Bergsteiger verwenden am Handgelenk oder in der Hand gehaltene Höhenmesser.

Schritt 6: Fazit

Ich hoffe, dieses Projekt inspiriert zu weiteren Experimenten. Dieser I²C-Sensor ist unglaublich vielseitig, günstig und zugänglich. Da es sich um ein extrem wandelbares Programm handelt, gibt es interessante Möglichkeiten, dieses Projekt zu erweitern und noch besser zu machen. Der Höhenmesser ist beispielsweise ein optionales Instrument in Geländefahrzeugen, um die Navigation zu unterstützen. Einige Hochleistungs-Luxusautos, die nie dazu gedacht waren, befestigte Straßen zu verlassen, verwenden diese Technologie. Zu Ihrer Bequemlichkeit haben wir ein interessantes Video-Tutorial auf YouTube, das Ihnen bei Ihrer Erkundung helfen könnte. Ich hoffe, dieses Projekt inspiriert zu weiteren Experimenten.

Empfohlen: