# Raspberry Pi
# 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:
```
lcd.message('Test \xE1')
```
#### Zeichentabelle
Code | Zeichen |
---|
\\xE1 | ä |
\\xEF | ö |
\\xF5 | ü |
\\xE0 | α |
\\xE2 | ß |
\\xE4 | µ |
\\xDF | ° |
\\xF4 | Ω |
\\xE5 | σ |
\\xF6 | Σ |
#### 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.
```
# 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')
```
# Verbindung mit WIFI auf Kanal 12 und 13 nicht möglich
In den USA dürfen die WIFI Kanäle 12 und 13 nicht verwendet werden. In Europa und Japan jedoch schon. Ohne die richtige Konfiguration von wpa\_supplicant und der Installation zweier zusätzlichen Pakete ist die Verbindung aber nicht möglich.
Die Analyse warum sich der Raspi nicht mit diesen Kanälen verbinden kann ist, ohne von diesem Problem zu wissen, schwierig. Ein `iwlist wlan0 scan` findet WLANs auf diesen Kanälen erst gar nicht.
Folgende Änderungen sind nötig:
- /etc/wpa\_supplicant/wpa\_supplicant.conf
- ```
# Auf ein europäisches Land setzen:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
# mit dem Freifunk WIFI verbinden
network={
ssid="franken.freifunk.net"
key_mgmt=NONE
}
```
Nun noch die Pakete `wireless-regdb` und `crda` installieren und rebooten:
```
apt update
apt install wireless-regdb crda
reboot
```
Nach dem Reboot sollte die Wifi-Verbindung stehen.