# Adafruit Display RGB 16x2 LCD

Hier geht es um dieses [LC-Display von Adafruit](http://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-raspberry-pi "http://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-raspberry-pi"). Manche der Tipps können allerdings auch auf die anderen Modelle angewandt werden. Ich verwende die Adafruit-Python Codebase, die Programmbeispiele sind ebenfalls Python.

#### Sonderzeichen und Umlaute darstellen

Verwendung:

<div id="bkmrk-lcd.message%28%27test-%5Cx">```
lcd.message('Test \xE1')
```

</div>#### Zeichentabelle

<div id="bkmrk-code-zeichen-%5Cxe1-%C3%A4-"><div><table class="inline"><thead><tr class="row0"><th class="col0">Code</th><th class="col1">Zeichen</th></tr></thead><tbody><tr class="row1"><td class="col0">\\xE1</td><td class="col1">ä</td></tr><tr class="row2"><td class="col0">\\xEF</td><td class="col1">ö</td></tr><tr class="row3"><td class="col0">\\xF5</td><td class="col1">ü</td></tr><tr class="row4"><td class="col0">\\xE0</td><td class="col1">α</td></tr><tr class="row5"><td class="col0">\\xE2</td><td class="col1">ß</td></tr><tr class="row6"><td class="col0">\\xE4</td><td class="col1">µ</td></tr><tr class="row7"><td class="col0">\\xDF</td><td class="col1">°</td></tr><tr class="row8"><td class="col0">\\xF4</td><td class="col1">Ω</td></tr><tr class="row9"><td class="col0">\\xE5</td><td class="col1">σ</td></tr><tr class="row10"><td class="col0">\\xF6</td><td class="col1">Σ</td></tr></tbody></table>

</div></div>#### Alternativ Bitmaps

Über Bitmaps lassen sich Zeichen sehr einfach selbst definieren. Beim „Malen“ hilft dieses [Tool](http://www.quinapalus.com/hd44780udg.html "http://www.quinapalus.com/hd44780udg.html") oder man machts ["von Hand"](http://www.robotroom.com/LCD-Nanox-Sanyo-5.html "http://www.robotroom.com/LCD-Nanox-Sanyo-5.html"). Das Format ist binär, eine 1 schaltet das Pixel ein, eine 0 aus.

<div id="bkmrk-%23-bitmaps-for-char-r">```
# bitmaps for char replacements
charBitmaps = [
  [0b10000, # Play
   0b11000,
   0b11100,
   0b11110,
   0b11100,
   0b11000,
   0b10000,
   0b00000],
  [0b11011, # Pause
   0b11011,
   0b11011,
   0b11011,
   0b11011,
   0b11011,
   0b11011,
   0b00000],
  [0b00000, # Next Track
   0b10100,
   0b11010,
   0b11101,
   0b11010,
   0b10100,
   0b00000,
   0b00000],
  [0b00111, # euro
   0b01000,
   0b11110,
   0b01000,
   0b11110,
   0b01000,
   0b00111,
   0b00000]]

# display special characters
lcd.createChar(7, charBitmaps[0])
lcd.createChar(8, charBitmaps[1])
lcd.createChar(9, charBitmaps[2])
lcd.createChar(6, charBitmaps[3])
lcd.message('\x07 \x08 \x09 \x06')
```

</div>