Die Flip-Anzeige gibt es von ELV und ist bei anderen Elektronik-Versendern auch erhältlich. Tatsächlich hat uns interessiert, wie früher per Schild einen Status anzeigen zu lassen. Interessant auch, dass die Anzeige in Ruhe wenig Strom verbraucht, also auch per Batterie betrieben werden kann.
Natürlich braucht es trotzdem den Anschluss (per I2C-Bus) an einen Rechner. Die fertigen Libraries für den Arduino überzeugen nicht. Beim Anschluss am spannungsgeregelten Eingang des Boards gibt es zudem Kommunikationsschwierigkeiten. Der 3.3V-Anschluss funktioniert zwar, aber ein Nano (wenn man denn wie nach Anleitung kein Shield für den Uno aufbaut) bringt zu wenig Durchzugskraft für die Mechanik.
Also den Bus analysiert und zum Raspi übergegangen (bei uns ist dort I2C-mäßig schon alles ready). Die Standard-Adresse der Flipanzeige war dann überraschenderweise auch 0x1f anstatt 0x3e. Befüllt man das mit entsprechenden Werten, dann kann man folgendes tun…
$ sudo i2cset -y 1 0x1f 0x02 # state „Display up“
$ sudo i2cset -y 1 0x1f 0x04 # state „Display down“
$ sudo i2cset -y 1 0x1f 0x08 # toggle (Display-Zustand wechseln)
… und damit den Motor bedienen und die Mechanik hin- und herschieben.
Damit kriegt man dann den ersten oder zweiten Zustand bzw. Schriftzug unter eine entsprechende Aussparung geschoben.
Im Ausschnitt (Gehäuse zu bauen) ist dann der jeweils gültige Zustand zu erkennen.
Bindet man wie oben entsprechende Befehle in seine Software-Installation ein, braucht es keine zusätzlichen Libraries, der Raspi muss nur auf den aktuellen Stand gebracht werden und „I2C“ können, was man grundhaft am besten so macht:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install i2c-tools
OK, das ist dann wahrscheinlich eh alles schon getan, wenn ihr diverse I2C-Geräte schon ‚dran habt. Wenn nicht, dann nach „Standard“ vorgehen und SPI und I2C-Modul von der Blacklist des Pi entfernen:
$ sudo nano /etc/modprobe.d/raspi-blacklist.conf
#blacklist spi-bcm2708
#blacklist i2c-bcm2708
$ sudo reboot (wegen Einlesen der Liste und weil eventuell neuer Kernel installiert wurde)
Um die benötigten Module später automatisch zu laden, diese in „/etc/modules“ eintragen:
$ sudo nano /etc/modules
snd-bcm2835
spi-bcm2708
i2c-bcm2708
i2c-dev
Jetzt zuerst die Module manuell laden…
$ sudo modprobe spi-bcm2708
$ sudo modprobe i2c-bcm2708
$ sudo modprobe i2c-dev
dann kann man überprüfen, ob sich das Teil am I2C-Bus mit der Adresse 0x1f meldet:
$ sudo i2cdetect -y 1
Nun sollte nach einem Neustart alles bereit sein und die Anzeige, wie oben beschrieben, einwandfrei funktionieren…