Inhaltsverzeichnis:

Arduino Höhenmesser mit BMP und SPI oder I2C OLED - Gunook
Arduino Höhenmesser mit BMP und SPI oder I2C OLED - Gunook

Video: Arduino Höhenmesser mit BMP und SPI oder I2C OLED - Gunook

Video: Arduino Höhenmesser mit BMP und SPI oder I2C OLED - Gunook
Video: BMP280 temperature and pressure sensor on an Arduino 2024, November
Anonim
Arduino Höhenmesser mit BMP und SPI oder I2C OLED
Arduino Höhenmesser mit BMP und SPI oder I2C OLED

Ich habe lange nach Höhenmesser und Temperatur mit einem einzigen Sensor gesucht und ihn auf SPI-basierter OLED angezeigt. Da ich nichts genaues finden konnte, dachte ich, ich würde meine eigene mit der U8glib-Bibliothek erstellen. Es gibt ein Tutorial auf Youtube, aber ich hasse Video-Tutorials, ich bevorzuge Texte mit einfachen Anweisungen und ohne kommerzielle Links.

Schritt 1: Das Wichtigste zuerst

Bevor Sie dieses Projekt durchführen, empfehle ich Ihnen dringend, das SSD1306 / OLED-Tutorial für I2C oder SPI (je nachdem, was Sie verwenden möchten) abzuschließen. Dadurch wird sichergestellt, dass Sie wissen, wie Sie Ihr Display anschließen/verkabeln und dass Ihr Display funktioniert. Machen Sie das adafruit-Tutorial und/oder das Tutorial mit den u8glib-Beispielen. Wir werden hier u8glib verwenden, daher wird dies für fortgeschrittene Benutzer empfohlen.

Schritt 2: Notwendige Hardware

Notwendige Hardware
Notwendige Hardware

1. Arduino UNO oder Nano oder ähnliches.

2. BMP085 oder BMP180 Luftdrucksensor.

3. SSD1306 I2C oder SPI Bus (in Skizze konfigurierbar).

4. Überbrückungsdrähte und Steckbrett oder Vero-Platine für die Anschlüsse.

Schritt 3: Arduino IDE-Bibliotheken zum Kompilieren

1. Draht.h

2. Adafruit_BMP085.h (funktioniert auch für BMP180)

3. U8glib.h

Schritt 4: Verbindungen

Die Anschlüsse sind sowohl für das I2C- als auch für das SPI-OLED-Display gleich. Nur die Verbindung zum Display wird anders sein.

1. BMP zu Arduino:

VCC > 3,3 V

GND > Masse

SCL > A5/SCL

SDA > A4/SDA

SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

2. SPI-OLED zu Arduino

VDD > 5V

GND > Masse

SCK/D0 > D12 (Digital 12)

SDA/D1/Mosi > D11

CS/Chip-Auswahl > D10

A0/DC > D9

RES/Reset > D13

(Wenn Ihr SPI-OLED keinen Reset-Pin hat, entfernen Sie einfach den Reset- und Reset-Pin aus der Skizzenanzeige, wählen Sie Parameter)

3. I2C-OLED

Wie bei der BMP-Verkabelung verwenden sie die gleichen Ports und den gleichen Bustyp.

Schritt 5: Hochladen von Skizzen

Ziemlich einfach. Laden Sie einfach die Zip-Datei herunter und öffnen Sie sie in der Arduino IDE. Alles ist in der Skizze konfiguriert. SPI OLED-Benutzer können die Skizze einfach ohne Bearbeitung hochladen und es funktioniert. Für I2C-OLED-Benutzer entkommentieren Sie einfach Ihren Anzeigenamen / Ihre Anzeigeoption aus der Anzeigeauswahl-Option der Skizze und kommentieren und schließen Sie das SPI-Anzeigemodell / den SPI-Anzeigeparameter, um SPI OLED zu deaktivieren.

SPI-Anzeigeparameter:

//U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9, 13); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9, Reset = 13

I2C-Anzeigeparameter:

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Anzeige, die kein AC. sendet

Um einen Parameter zu aktivieren, entfernen Sie einfach das //-Zeichen am Anfang, um die Kommentierung aufzuheben. Stellen Sie sicher, dass nur eine Anzeige ausgewählt/nicht kommentiert ist.

Hinweise:

1. BMP-Sensoren reagieren empfindlich auf Wind, Hitze und Licht. Stellen Sie sicher, dass Sie es abdecken, die besten Ergebnisse werden durch Anbringen eines Schaums mit ausreichender Belüftung erzielt. Dinge wie Entenband funktionieren auch, sind aber nicht präzise.

2. BMP verwendet normalerweise 3,3 V, es sei denn, Ihr Hersteller sagt etwas anderes. OLED kann von 3,3 V-5,5 V (4-5 V empfohlen) arbeiten

3. Es wird dringend empfohlen, zuerst alles auf dem Steckbrett einzustellen.

4. Wenn Sie neu bei OLED sind, probieren Sie bitte zuerst einfache Dinge wie Text und Dummy-Puffer aus, um sicherzustellen, dass Ihr Display funktioniert und Ihre Verbindungen korrekt sind.

Empfohlen: