\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_08_ir_fernbedienung.tex 1554 2016-07-01 20:41:53Z pieper $}

\dokName{RasPi: IR-Fernbedienung}
\jahrgang{9}

\usepackage{inconsolata}
\usepackage{todonotes}

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

\usepackage{units}

\lstset{% 
	breaklines=true, % Zeilenumbrüche
	language=python, % Sprache
	basicstyle=\ttfamily\small,
	breakatwhitespace=false,
	tabsize=2
}

\begin{document}

\nocite{Pech2015}

\singleSection{Infrarot Fernbedienung (IR-Fernbedienung)}

Mit Hilfe der Bibliothek \enquote{LIRC} bekommt der Raspberry Pi alle Hilfsmittel an de Hand um entweder Befehle einer Infrarot (IR) Fernbedienung zu empfangen oder wie eine solche zu senden. Solche Fernbedienungen sind z.\,B. vom Fernseher bekannt. Zu der Bibliothek benötigt der Raspberry Pi aber noch passende Hardware in Form eines IR-Empfängers und einer IR-Diode zum Aussenden der Signale.

\subsection{Anschluss der Hardware}
Die gängigen IR-Empfänger, wie der TSOP31238, haben drei Anschlüsse: Masse, Spannung und den Signalausgang. Die Reihenfolge der Anschlüsse ist dabei nicht einheitlich, so dass man hier das Datenblatt seines Modells zur Hilfe nehmen sollte. Der Empfänger sollte mit 3,3\,V betrieben werden und das Signal wählen wir hier den GPIO 22 (Pin 15). 

\missingfigure{Foto vom Aufbau}

Die IR-Diode lässt wie eine ganz normale LED anschließen. Um die Signalqualität des Senders zu verbessern sollte die IR-Diode aber mit 5\,V betrieben werden. Da die schaltbaren GPIO-Pins aber nur 3,3\,V liefern muss eine Transistorschaltung zur Verstärkung genutzt werden. Die Ansteuerung der Diode läuft in diesem Beispiel über GPIO 23 (Pin 16).

\begin{minipage}{0.47\textwidth}
	\missingfigure{Schaltplan Anschluss IR-Diode}
\end{minipage}\hfill
\begin{minipage}{0.47\textwidth}
	\missingfigure{Bild Anschluss IR-Diode}
\end{minipage}

\subsection{Installation}

Das LIRC Paket ist direkt in den Paketquellen von Rasbian vorhanden und kann entsprechend mit Hilfe von \lstinline|apt-get install lirc| direkt installiert werden. Um die IR-Signale empfangen bzw. senden zu können ist aber noch eine spezifischere Konfiguration nötig. Dazu muss die Datei \lstinline|/boot/config.txt| um folgende Zeile \todo{Ausprobieren, ob diese Konfiguration beim LIRC ausreicht} ergänzt werden:
\begin{lstlisting}[frame=trBL]
	dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22
\end{lstlisting}

Nach einem Neustart des Raspberry Pi ist dann das entsprechende Kernelmodul\todo{Fehlt noch modprobe lirc-dev?}\ geladen und die Hardware einsatzbereit. Das Gerät sollte nun unter \lstinline|/dev/lirc0| zu finden sein. Die Funktionstüchtigkeit des Empfängers lässt sich einfach überprüfen. Dazu muss der lirc-Service gestoppt werden. Anschließend kann man sich die Signale des Kernelmoduls ausgeben:

\begin{lstlisting}[frame=trBL]
	sudo service lirc stop
	mode2 -d /dev/lirc0
\end{lstlisting}

\subsection{Einrichtung LIRC -- Auswahl der Fernbedienung}
\todo[inline]{Auswahl der Fernbedienung und Lirc-Konfiguration}

\subsection{Lernen einer Fernbedienung}
\todo[inline]{Lernen einer Fernbedienung}

\end{document}