Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
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
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.