Inhaltsverzeichnis:

Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix - Gunook
Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix - Gunook

Video: Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix - Gunook

Video: Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix - Gunook
Video: Arduino Zeichenprogramm auf 8x8 LED Matrix Display MAX7219 2024, Juli
Anonim
Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix
Zweistelliges Display mit einer einzelnen 8x8 LED-Matrix

Hier würde ich gerne eine Temperatur- und Feuchtigkeitsanzeige für mein Zimmer bauen. Ich habe eine einzelne 8x8 LED-Matrix zum Anzeigen von zweistelligen Zahlen verwendet, und ich denke, dass ein Teil des Projekts nützlicher wurde. Ich habe das fertig gebaute mit einem Pappkarton verpackt, der wie Holz bemalt ist.

Lieferungen

  1. Arduino Nano x1
  2. DHT11 Temperatur- und Feuchtigkeitssensor x1
  3. 8x8 LED-Matrix mit MAX7219 x1
  4. 10K Widerstand x1
  5. Kopfdrähte
  6. 5V Netzteil x1
  7. Karton (4x8x13 cm)

Schritt 1: Schaltplan

Schaltplan
Schaltplan

Der digitale Temperatur- und Feuchtigkeitssensor DHT11 liefert Temperaturen zwischen 0 - 50°C und eine Luftfeuchtigkeit zwischen 20% und 90%. Die Temperaturgenauigkeit beträgt ±2 °C (maximal) und die Feuchtigkeitsgenauigkeit beträgt ±5 %.

DHT11 liefert auch Taupunktwerte. Der Taupunkt ist die Temperatur, auf die Luft abgekühlt werden muss, um mit Wasserdampf gesättigt zu werden. Bei weiterer Abkühlung kondensiert der Wasserdampf in der Luft zu flüssigem Wasser.

Schritt 2: Verkabelung & Boxen

Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen
Verkabelung & Boxen

Zuerst habe ich den Karton mit Acrylfarbe bemalt und nach 1 Tag Trocknen mit einem Haarspray fertig. Ich habe ein quadratisches Fenster für die LED-Anzeige auf der Frontabdeckung gemacht. Außerdem habe ich ein kleines rechteckiges Loch für das Arduino Nano-Netzteil geöffnet und mehrere Löcher in der Nähe des DHT11-Sensors platziert.

Ich habe den Arduino in der Ecke der Hauptbox mit einer kleinen Box und heißem Silikon befestigt.

Die LED-Matrix habe ich mit transparenten Klebestreifen im Fenster platziert. Hier ist es wichtig, ihn mit einer Drehung um 90° gegen den Uhrzeigersinn zu platzieren, da der Code die oberen 4 Reihen für Zehnerstellen und die unteren 4 Reihen für Einerstellen verwendet. Für das von mir verwendete Modul sollte die Seite mit MAX7219 auf der Basisseite liegen.

Da ich Arduino und Sensor an der Schließseite der Box platziert habe, konnte ich sie nicht vollständig schließen. Wählen Sie besser die andere Seite aus:).

Schritt 3: Code

Code
Code
Code
Code
Code
Code

Laden Sie zuerst die Bibliothek für DHT11 (https://github.com/adidax/dht11) und LED-Matrix (https://github.com/wayoda/LedControl) hoch, falls Sie dies noch nicht getan haben.

Der Code verwendet die ersten 4 Reihen der LED-Matrix als Zehner und die letzten 4 Reihen als Einheiten. Wenn Sie also beispielsweise den Code auf "eins" überprüfen, sehen Sie "11" um 90° im Uhrzeigersinn gedreht. Wenn Sie diese Codes ändern möchten, achten Sie bitte auf dieses Detail.

Byte eins = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Die Codes zum Abrufen der Ziffern aus dem Sensormesswert sind:

Einheiten = feucht % 10; Zehner = (feucht/10) % 10;

Für Zehnerstellen läuft die for-Schleife wie folgt:

if (Zehner == 1) { for (int c=0;c<4;c++) {lc.setRow(0, c, one[c]); }

Bei Einerstelle läuft die for-Schleife wie folgt ab:

if (Einheiten == 1) { for (int c=4;c<8;c++) {lc.setRow(0, c, one[c]); }

Die Anzeigereihenfolge ist in der Schleife wie folgt:

"°C" -> Temperatur -> "hum" -> Feuchtigkeit -> "dp" -> Taupunkt -> Bedeutung des Taupunktes (unten erklärt)

Ich habe einige Informationen darüber, wie die Leute das Wetter gemäß dem Taupunkt empfinden, und füge diese Informationen wie folgt in den Code ein:

dp < 10: trocken

9 < dp < 15: gut (g..d)

14 < dp < 18: schwül (sw)

17 < dp < 24: Sweltry plus (sw +)

dp > 23: nass

Die Anzeige für diese Wörter ist nicht gut, aber für ein einzelnes 8x8-Display immer noch verständlich

Empfohlen: