• Start-Seite 
  • Uhren

    Clocks

    • Digi-Clock
    • Große Wort-Uhr
    • Mini Wort-Uhr
    • Vertikale Wort-Uhr
    • Voltmeter-Uhr
    • Linear-Uhr
    • Digitale Sanduhr

    • Marble-Clock

  • Treppen-Fader
  • Energie-

    Verbrauch

  • Laundrino
  • LED-Cube
  • Müllduino
  • Snowduino
  • Bewegungs-

    melder

  • ioBroker-DHT22

  • ioBroker-

    Laufschrift

  • ioBroker LED-

    Thermometer

  • ioBroker-OLED

  • ioBroker

    Multi-OLEDs

  • ioBroker

    Mini-Mülltonne

  • Ball on Plate

  • .
  • Sonstige

    Basteleien

    • LED-Handlauf
    • Beleuchtete Urlaubskarte
    • Solar-Tracer
    • Mendocino Motor
    • 12V Solarlampe
ioBroker Multi-OLEDs    03.01.2022
ioBroker Multi-OLEDs
(Ansteuerung via MQTT, hier speziell für ioBroker-Anwender)      17.01.2022

Beispiel:

Anzeige-Tafel für Solarthermie-Anlage mit mehreren 0.91" OLEDs:
( autark zur bereits vorhandenen ioBroker VIS-Anzeige )




Einleitung:

Hier möchte ich zeigen, wie man an einen WEMOS D1 mini (oder NodeMCU) mehrere I²C-Komponenten anschließen kann .
Ich habe dazu mehrere OLEDs ( 0.91", 128x32, SSD1306 )verwendet.

An sich ist der Anschluß mehrerer I²C-Komponenten ( z.B. OLEDS, Temp-Sensoren, etc. ) an den I²C--Bus unproblematisch, allerdings gibt es Probleme,
wenn diese Komponenten die gleiche I²C-Adresse verwenden.
Bei den meisten OLEDs kann man zwischen 2 Adressen ( i.d.R. 0x3C, 0x3D ) wählen, die per Jumper, oder Lötbrücke einstellbar sind.

Meine 0.91"-OLEDs verwenden jedoch alle die gleiche I²C-Adresse ( 0x3C) und diese ist auch nicht änderbar.
Abhilfe schafft hier ein sog. I²C-Multiplexer, der nacheinander die OLEDs ansteuert.
Mit anderen Worten: Die OLEDs haben zwar alle die gleiche Adresse, da diese aber nacheinander angesteuert werden, ist immer nur jeweils 1 OLED aktiv.

Bei dem Multiplexer handelt es sich um den TCA 9548A, der seinerseits die Adresse 0x70 am I²C-Bus besitzt.
An den Ausgängen dieses Multiplexers kann man insgesamt 8 I²C-Komponeten anschließen.

An die Ausgänge könnte man auch wiederum weitere Multiplexer anschließen, d.h. die Multiplexer kaskadieren.
Das habe ich aber nicht getestet.

Schaltplan und Testaufbau:

Hier also mein Schaltplan und ein erster Testaufbau:
Schaltplan - Anklicken zum Vergrößern   Testaufbau - Anklicken zum Vergrößern
Schaltplan (Anklicken zum Vergrößern)  Testaufbau (Anklicken zum Vergrößern)


Lochraster-Platine und mechanischer Aufbau:

Die Anzeigetafel, auf der die Temperaturen unserer Solarthermie-Anlage dargestellt werden, sollte in einen vorhandenen IKEA-Bilderrahmen eingebaut werden.
Dazu habe ich die Komponeten auf eine Lochraster-Platine gelötet und mit dem 3D-Drucker ein enspr. Gehäuse ausgedruckt.

Lochrasterplatine.jpg Lochraster-Platine mit 3D-Abstandshalter Gehäuse-Rückseite
Lochrasterplatine  (Anklicken zum Vergrößern) Platine mit 3D-Abstandshalter  (Anklicken zum Vergrößern) Gehäuse-Rückseite  (Anklicken zum Vergrößern)


Die Positionen der einzelnen OLEDs habe ich ausgemessen und anschl. mit CorelDraw ein maßstabsgerechtes Anlagen-Schema gezeichnet und
dieses in der entspr. Größe (ca. 13x18 cm ) auf Fotopapier ausgedruckt.
Die hellgrünen Flächen in der Papier-Schablone wurden mit einem Skalpell ausgeschnitten, damit die Werte der darunter liegenden OLEDs sichtbar werden:

Maß-3DMaske OLED-Schablone Ausdruck auf Fotopapier
Maße der Papier-Maske (Anklicken zum Vergrößern) Papier-Schablone (Anklicken zum Vergrößern) Papier-Schablone über Platine (Anklicken zum Vergrößern)


Software:

Man sollte sich in der Programmierung von Micro-Controllern via Arduino-IDE etwas auskennen,
sodaß ich auf "Standard-Sachen", wie z.B. das Einbinden von libraries (Bibliotheken) hier nicht weiter eingehen möchte.
Der Vollständigkeit halber, in diesen Sketch werden folgende libraries eingebunden:

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <PubSubClient.h>>
#include <ArduinoOTA.h>

Die ioBroker-Objekte (neben weiteren hier nicht benötigten) unserer Solarthermie-Anlage liegen im Zweig "javascript.0.Solarparser":
ioBroker-Topics
ioBroker-Topics (Anklicken zum Vergrößern)


Diese werden via MQTT im Arduino-Sketch entspr. "abgegriffen":
(ich muß hier mit separaten Topics arbeiten, da jeder Topic (s)einem bestimmten OLEd zugewiesen wird.)
  • javascript/0/SolarParser/Daten4"
  • javascript/0/SolarParser/Daten5"
  • javascript/0/SolarParser/Daten3"
  • javascript/0/SolarParser/Daten13"
  • javascript/0/SolarParser/Daten9"
  • javascript/0/SolarParser/Daten10"
  • javascript/0/SolarParser/Daten41"
Diese Werte werden den Einzel-OLEDs 0-6 zugewiesen und dort als Temperaturen angezeigt.

Dies ist nur ein grober Überblick, was im Sketch passiert, schaut es euch im
################################################################
Arduino-Sketch multi-oled.ino
################################################################
am besten selbst an.




Abschließend noch ein paar Fotos, wie die Anzeige-Tafel in den anfangs erwähnten IKEA-Bilderrahmen eingebaut wurde:
(Anklicken zum Vergrößern)

fertig2.jpg fertig3.jpg fertig1.jpg






Aktuelles Wetter in Heinzenberg / Taunus
Impressum
Datenschutzerklärung