Inhaltsverzeichnis:
- Schritt 1: Unverzichtbare Ausrüstung, die wir brauchen
- Schritt 2: Hardwareverbindungen zum Zusammenbau der Schaltung
- Schritt 3: Raspberry Pi-Programmierung in Java
- Schritt 4: Die Praktikabilität des Codes (Arbeiten)
- Schritt 5: Anwendungen und Funktionen
- Schritt 6: Fazit
Video: Mit Raspberry Pi Höhe, Druck und Temperatur mit MPL3115A2 messen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Wissen Sie, was Sie besitzen, und wissen Sie, warum Sie es besitzen
Es ist faszinierend. Wir leben im Zeitalter der Internet-Automatisierung, die in eine Vielzahl neuer Anwendungen eintaucht. Als Computer- und Elektronik-Enthusiasten haben wir viel mit dem Raspberry Pi gelernt und beschlossen, unsere Interessen zu vereinen. Dieses Projekt dauert etwa eine Stunde, wenn Sie noch nicht mit I²C-Verbindungen und Software-Setup vertraut sind, und es ist eine großartige Möglichkeit, die Fähigkeiten von MPL3115A2 mit Raspberry Pi in Java zu erweitern.
Schritt 1: Unverzichtbare Ausrüstung, die wir brauchen
1. Himbeer-Pi
Der erste Schritt war die Beschaffung einer Raspberry Pi-Platine. Dieses kleine Genie wird von Bastlern, Lehrern und bei der Schaffung innovativer Umgebungen verwendet.
2. I2C-Schild 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 Bereitstellung von Druck-, Höhen- und Temperaturdaten. Dieser Sensor verwendet das I²2-Protokoll zur Kommunikation. Wir haben diesen Sensor im Dcube Store gekauft.
4. Anschlusskabel
Wir haben das im Dcube Store erhältliche I²C-Verbindungskabel verwendet.
5. Micro-USB-Kabel
Der Raspberry Pi wird über eine Micro-USB-Versorgung mit Strom versorgt.
6. Verbesserung des Internetzugangs – Ethernet-Kabel/WiFi-Modul
Eines der ersten Dinge, die Sie tun sollten, ist, Ihren Raspberry Pi mit dem Internet zu verbinden. Sie können eine Verbindung über ein Ethernet-Kabel oder einen Wireless USB Nano WiFi-Adapter herstellen.
7. HDMI-Kabel (optional, Ihre Wahl)
Sie können Raspberry Pi über ein HDMI-Kabel an einen Monitor anschließen. Außerdem können Sie mit SSH/PuTTY remote auf Ihren Raspberry Pi zugreifen.
Schritt 2: Hardwareverbindungen zum Zusammenbau der Schaltung
Stellen Sie die Schaltung gemäß dem gezeigten Schaltplan her. Im Allgemeinen sind die Verbindungen recht einfach. Befolgen Sie die Anweisungen und Bilder oben, 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
Dazu Raspberry Pi und darauf das I²C Shield platzieren. 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. So einfach ist das!
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 entscheidend
Damit unser Projekt ein Erfolg wird, benötigen wir einen Internetzugang für unseren Raspberry Pi. Dabei haben Sie Optionen wie das Anschließen eines Ethernet(LAN)-Kabels. Auch als alternative, aber beeindruckende Möglichkeit, einen WLAN-Adapter zu verwenden.
Stromversorgung der Schaltung
Stecken Sie das Micro-USB-Kabel in die Strombuchse des Raspberry Pi. Einschalten und voila, wir können loslegen!
Verbindung zum Bildschirm
Wir können entweder das HDMI-Kabel an einen Monitor anschließen oder ein wenig innovativ sein, um unseren kopflosen Pi (mit -SSH / PuTTY) herzustellen, was hilft, die zusätzlichen Kosten zu senken, da wir irgendwie Bastler sind.
Wenn eine Gewohnheit Geld kostet, nennt man das Hobby
Schritt 3: Raspberry Pi-Programmierung in Java
Der Java-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. Dies dauert nur einen Moment. 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.
Von hier aus können Sie auch den funktionierenden Java-Code für diesen Sensor kopieren.
// Verbreitung mit freier Lizenz.// Verwenden Sie es, wie Sie wollen, profitabel oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt. // MPL3115A2 // Dieser Code wurde entwickelt, um mit dem MPL3115A2_I2CS I2C Mini-Modul zu arbeiten, das von ControlEverything.com erhältlich ist. //
com.pi4j.io.i2c. I2CBus importieren;
com.pi4j.io.i2c. I2CDevice importieren; com.pi4j.io.i2c. I2CFactory importieren; import java.io. IOException;
öffentliche Klasse MPL3115A2
{ public static void main(String args) wirft Ausnahme {// I2C-Bus erstellen I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // I2C-Gerät abrufen, MPL3115A2 I2C-Adresse ist 0x60 (96) I2CDevice-Gerät = Bus.getDevice (0x60); // Steuerregister auswählen // Aktiver Modus, OSR = 128, Höhenmessermodus device.write (0x26, (byte)0xB9); // Datenkonfigurationsregister auswählen // Datenbereit-Ereignis für Höhe, Druck, Temperatur aktiviert device.write (0x13, (byte)0x07); // Steuerregister auswählen // Aktiver Modus, OSR = 128, Höhenmessermodus device.write (0x26, (byte)0xB9); Thread.sleep(1000);
// 6 Byte Daten von Adresse 0x00(00) lesen
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte[6]; device.read (0x00, Daten, 0, 6);
// Konvertieren Sie die Daten in 20-Bit
int tHeight = ((((Daten[1] & 0xFF) * 65536) + ((Daten[2] & 0xFF) * 256) + (Daten[3] & 0xF0)) / 16); int temp = ((Daten[4] * 256) + (Daten[5] & 0xF0)) / 16; doppelte Höhe = tHeight / 16,0; doppelter cTemp = (temp / 16,0); doppeltes fTemp = cTemp * 1,8 + 32;
// Steuerregister auswählen
// Aktiver Modus, OSR = 128, Barometermodus device.write (0x26, (Byte) 0x39); Thread.sleep(1000); // 4 Byte Daten von Adresse 0x00 (00) lesen // Status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);
// Konvertieren Sie die Daten in 20-Bit
int pres = (((Daten[1] & 0xFF) * 65536) + ((Daten[2] & 0xFF) * 256) + (Daten[3] & 0xF0)) / 16; doppelter Druck = (pres / 4,0) / 1000,0; // Daten auf Bildschirm ausgeben System.out.printf("Druck: %.2f kPa %n", Druck); System.out.printf("Höhe: %.2f m %n", Höhe); System.out.printf("Temperatur in Celsius: %.2f C %n", cTemp); System.out.printf("Temperatur in Fahrenheit: %.2f F %n", fTemp); } }
Schritt 4: Die Praktikabilität des Codes (Arbeiten)
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 auf dem 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 Präzisions-Höhenmesser-Sensor MPL3115A2 wird häufig in Anwendungen wie Karten (Map Assist, Navigation), Magnetkompass oder GPS (GPS-Dead Reckoning, GPS-Verbesserung für Rettungsdienste), hochgenaue Höhenmessung, Smartphones/Tablets, persönliche elektronische Höhenmessung und Satelliten (Wetterstationsausrüstung/-vorhersage).
Für z. B. Mit diesem Sensor und dem RasPi können Sie einen digitalen visuellen Höhenmesser bauen, den wichtigsten Teil der Fallschirmspringerausrüstung, der Höhe, Luftdruck und Temperatur messen kann. Sie können Windgaze und andere Sensoren hinzufügen, um einen interessanteren zu machen.
Schritt 6: Fazit
Da das Programm erstaunlich anpassbar ist, gibt es viele interessante Möglichkeiten, dieses Projekt zu erweitern und noch besser zu machen. Ein Höhenmesser/Interferometer würde beispielsweise mehrere an Masten montierte Höhenmesser umfassen, die gleichzeitig Messungen erfassen würden, wodurch eine kontinuierliche Einzel- oder Multi-Höhenmesser-Breitbereichsabdeckung bereitgestellt wird. Wir haben ein interessantes Video-Tutorial auf YouTube, das Ihnen beim besseren Verständnis dieses Projekts helfen kann.
Empfohlen:
3D-Druck eines Roboters – wikiHow
Wie man einen Roboter in 3D druckt: Heute zeige ich Ihnen, wie Sie von einer in wenigen Minuten erstellten Skizze zu einem gut aussehenden professionellen Roboter gelangen, der druckfertig ist
M5STACK So zeigen Sie Temperatur, Feuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 6 Schritte
M5STACK So zeigen Sie Temperatur, Luftfeuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um Temperatur, Luftfeuchtigkeit und Druck mit dem ENV-Sensor (DHT12, BMP280, BMM150)
Bodenfeuchtigkeit mit Raspberry Pi messen 4: 4 Schritte
Bodenfeuchte messen mit Raspberry Pi 4: Wissen Sie, wie oft Pflanzen gegossen werden müssen? Oder Pflanzen ausgegossen und verloren. Um dies zu lösen, dachte ich, es wäre umständlicher, wenn wir den Wert des Wassergehalts im Boden ermitteln können, um eine Entscheidung für die richtige Bewässerung der Pflanzen zu treffen
Wie man einen CubeSat herstellt, der die Temperatur messen kann – wikiHow
Wie man einen CubeSat herstellt, der die Temperatur messen kann: Kommen Sie mit und Sie werden einen 11x11x11x11-Würfel der reinen Fantasie sehen, nehmen Sie meine Hand und Sie werden die Temperatur des Mars sehen! (zur Melodie von Willy Wonkas „Imagination“) Heute zeige ich dir, dass du deinen ganz eigenen CubeSat bauen musst! Ich und meine Partner Alyssa und
Nitratkonzentration in Wasser mit EOS messen 1: 13 Schritte
Nitratkonzentration in Wasser messen mit EOS 1: Dies ist eine kurze Schritt-für-Schritt-Anleitung zur Verwendung der EOS1 zur Messung der Nitratkonzentration in Wasser. Ähnliche Schritte können für die Messung von Phosphat verwendet werden (ein anderes Testkind ist erforderlich)