\documentclass[]{schulein}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: info_01_gpio_display.tex 1437 2016-03-19 15:28:54Z pieper $}

\dokName{RasPi: LCD-Display am GPIO}
\jahrgang{9}

%Anpassungen für die Einbindung im Skript
\newcommand{\singleSection}[1]{\section*{#1}}

\begin{document}
\singleSection{LCD-Display am GPIO}
Die meisten verkauften LCD-Displays besitzen den Controllerchip HD44780. Dadurch verstehen diese einheitliche Steuerbefehle und auch ihr Anschluss durch 16 Pins ist gleich. Neben der Spannungsversorgung und Leitungen für Steuersignale kann man das Display über vier oder acht Datenleitungen ansprechen. In der unten aufgeführten Schaltskizze ist die Variante für vier Bit, also vier Datenleitungen aufgezeichnet.

\begin{center}
	\begin{minipage}{0.4\textwidth}
		\input{schaltung_gpio_display.cir} 
	\end{minipage}
	\begin{minipage}{0.4\textwidth}
		\begin{tabular}{|l|l|}
			\hline
				Display & GPIO \\
			\hline 
			1 (GND) & 6 (GND) \\
			2 (+5V) & 2 (+5V) \\
			3 (Kontrast) & 6 (GND) \\
			4 (RS) & 26 (GPIO7) \\
			5 (R/W) & 6 (GND) \\
			6 (E) &	24 (GPIO8) \\
			11 (Daten 4) & 22 (GPIO25) \\
			12 (Daten 5) & 18 (GPIO24) \\
			13 (Daten 6) & 16 (GPIO23) \\
			14 (Daten 7) & 12 (GPIO18) \\
			15 (LED +5V) & 2 (+5V) \\
			16 (LED GND) & 6 (GND) \\
			\hline
		\end{tabular}
	\end{minipage}
\end{center}

Die Pins 15 und 16 sind für die Hintergrundbeleuchtung wichtig und können bei Bedarf auch nicht belegt werden. Beim Anschluss  ist zu beachten, dass auf jeden Fall ein passender Widerstand dazwischen geschaltet wird, da sonst die LED-Beleuchtung zerstört werden kann. Bei der obigen Beschaltung ist der Pin für den Kontrast mit der Masse verbunden, so dass der Kontrast maximal ist. Es ist aber auch möglich über einen Potentiometer den Kontrast regelbar zu machen.

Angesteuert wird das Display über die vier Datenleitungen, bei denen jeder 8-Bit Befehl immer in zwei mal 4-Bit zerlegt werden muss. Mit der Wahl des Registers (RS) wird dabei angegeben, ob es sich um einen Befehl oder Text für das Display handelt. Über die Taktleitung (E) wird dem Display mitgeteilt, dass etwas an den Datenleitungen anliegt. Theoretisch ist es auch möglich das Display auszulesen (R/W). Dieses sollte aber nicht gemacht werden, da der Raspberry durch die dann anliegende Spannung von 5\,V zerstört werden kann.

Ist das Display richtig angeschlossen, so wird beim Starten des Raspberrys eine Zeile komplett mit schwarzen Feldern gefüllt. Zum Testen gib es ein Python-Programm unter \url{http://tinyurl.com/ente-display-code}. Dieses muss mit sudo-Rechten ausgeführt werden und kann als Grundlage für eigene Programme genutzt werden, die mit dem Display arbeiten sollen.

Weitere Informationen zu den Displays und wie sie angesteuert bzw. angeschlossen werden, ist auf den Seiten \url{http://www.sprut.de/electronic/lcd/} und \url{http://tinyurl.com/ente-display} erhältlich.

\end{document}