Leuchtbalkenanzeige mit I2C

Eine andere Möglichkeit der Anzeige mit LED’s erfordert einen Ausflug in die Analogtechnik. Die Ausgabe als Leuchtbalken, um intuitiv schon sehen zu können ob mehr oder weniger vorhanden ist, von was auch immer.

Die Hardware
Ausgehend von einem Arduino Uno
– einen I2C Digital Analog Wandler MCP4725
– eine Komparatorschaltung LM3914
– ein 10 LED Balkendiagramm / Bargraph
Die Eingangsspannung am Komparator wird mit einem Digital Analog Wandler erzeugt und dann als LED Balken sichtbar gemacht.

Der Prototyp Stufe 1
Erst einmal stecke ich den analogen Part mit dem Komparator und dem Bargraph. Als Eingang verwende ich erst einmal ein 10 KOhm Potentiometer. Damit funktioniert der analoge Teil schon. Jetzt kommt anstelle des Potentiometers der DA Wandler dazu. Mit dem I2C Scanner stelle ich fest, welche I2C Adresse der DA Wandler hat: es ist die 0x60. Mit der Demo Software aus der Adafruit Bibliothek „trianglewave“ für den MCP4725 funktioniert der Aufbau direkt. Den Komparator kann ich wahlweise als Balkenanzeige oder Dot Anzeige mit dem Startdot als glimmende LED auswählen. Das bestimme ich über die Beschaltung von Pin 9 am LM3914.


I2C Leuchtbalkenanzeige auf dem Breadboard

Die Software
Hier muss ich nur den DA Wandler ansteuern. Ich orientiere mich an einem Beispielprogramm der Bibliothek und generiere ein Dreiecksignal. So läuft der Balken ständig hin und her.

Der Prototyp Stufe 2
Der Aufbau auf der Lochrasterplatine gestaltet sich wie bisher etwas schwierig. Es sind zwar wenig Bauteile, aber relativ viele Verbindungen zu löten. Nach zwei aufwendigen Stunden war es dann soweit: Test! Es hat tatsächlich auf Anhieb funktioniert. Mit dem Jumper kann ich dann die Anzeige umschalten zwischen Balkendiagramm- und Dot-Anzeige, wie im Datenblatt beschrieben.


I2C Leuchtbalkenanzeige auf Lochraster

Der Sketch
I2C-LED-Balken

Links

LED Bargraph / Balkendiagramm mit 10 LED’S

Klicke, um auf YSLB-102510R3-10.pdf zuzugreifen

Komparator LM3914

Klicke, um auf lm3914.pdf zuzugreifen

I2C Scanner
https://playground.arduino.cc/Main/I2cScanner

Digital Analog Wandler MCP4725

Klicke, um auf 22039d.pdf zuzugreifen

Der analoge Schaltungsteil
https://learn.sparkfun.com/tutorials/dotbar-display-driver-hookup-guide

DAC Modul und Arduino Library
https://learn.adafruit.com/mcp4725-12-bit-dac-tutorial/using-with-arduino
https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog-converter-hookup-guide

Prototyping
Prototyping mit dem Arduino

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.