\documentclass[]{schuleab}
\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: ab_03_gpio_scratch.tex 626 2014-05-22 21:36:50Z pieper $}

\dokName{RasPi: GPIO und Scratch}
\jahrgang{9}

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

\begin{document}
\section*{Der GPIO und Scratch}

Mit Hilfe des GPIO lassen sich in Scratch Elemente außerhalb des Computers steuern, aber auch von außen auf ein Scratchprogramm Einfluss nehmen. Durch das passende Paket stehen jeweils 7 Pins Eingang und als Ausgang zur Verfügung. In der Zählweise des Boards dienen die Pins 11, 12, 13, 15, 16, 18 und 21 als Ausgänge sowie die Pins 7, 8, 10, 19, 22, 24, und 26 als Eingänge. Darüber kann jeweils nur 1 oder 0 gesendet bzw. empfangen werden.

\subsection*{Ausgänge}

Die Ausgänge können über zwei Möglichkeiten angesteuert werden. Die eine Möglichkeit besteht darin, dass die Funktion "`Sende an alle"' genutzt wird. Will man den Pin 13 einschalten, so sendet man "`pin13on"' und beim Ausschalten entsprechend "`pin13off"'. Es ist auch möglich gleichzeitig mit "`allon"' oder "`alloff"' zu arbeiten, sowie mehrere in einem senden zu schreiben, wenn sie durch Leerzeichen getrennt sind.

\begin{center}
	\includegraphics[scale=0.9]{senden_scratch_pin_an} 
\end{center}

Die zweite Möglichkeit besteht darin, Variablen für die Ausgänge anzulegen und diesen Variablen die Werte 1 oder 0 zuzuweisen. Die Namen der Variablen sind dann z.\,B. "`pin11"' oder "`pin13"'. 

\subsection*{Anschluss einer LED}
\begin{minipage}{0.7\textwidth}
	\vspace{-0.6cm}
	Beim Anschluss einer LED an den GPIO muss beachtet werden, dass diese einen Vorwiderstand benötigen, damit sie nicht durchbrennen. Außerdem ist die Anschlussrichtung bei der LED zu beachten. Das längere der beiden Beine muss auf der Seite des geschalteten Ports liegen, während das kürzere mit der Masse (GND) verbunden wird. In der rechten Schaltskizze ist die LED so verbunden, dass sie über den Port 11 geschaltet wird.
\end{minipage} \hfill%
\begin{minipage}{0.25\textwidth}
	\input{schaltung_gpio_led.cir}
\end{minipage}

\begin{minipage}{0.25\textwidth}
	\input{schaltung_gpio_zwei_led.cir} 
\end{minipage}\hfill%
\begin{minipage}{0.7\textwidth}
	Sollen mehrere LEDs beschaltet werden, bekommt jede LED einen eigenen Vorwiderstand. Es gibt aber eine gemeinsame Verbindung zur Masse. Eine solche Schaltung ist in der linken Schaltskizze aufgezeichnet worden. Bei dieser lassen sich die zwei LEDs über die Ports 11 und 13 schalten.
\end{minipage}

\subsection*{Eingänge}

Möchte man den Wert der Eingänge abfragen, so ist im Bereich "`Fühlen"' die Fläche "`Wert von Sensor"' zu nutzen. Dort werden die verschiedenen Ausgänge aufgeführt und man kann sie auswerten.

\begin{center}
	\includegraphics[scale=0.9]{sensor} 
\end{center}


\subsection*{Anschluss eines Schalters oder Tasters}

\begin{minipage}{0.7\textwidth}
	Für den Anschluss eines Schalters oder Tasters an den GPIO werden immer drei Anschlüsse benötigt, damit sichergestellt ist, dass der Eingang entweder mit der Masse (GND) oder einer Spannung verbunden ist. Dabei ist zu beachten, dass hier maximal der 3,3\,V Anschluss genutzt wird. Bei der nebenstehenden Schaltskizze ist bei geöffnetem Schalter eine direkte Verbindung zwischen dem Pin 7 und der Masse vorhanden. Wird der Schalter gedrückt, so liegt durch den geringeren Widerstand am Schalter eine Spannung von 3,3\,V an.
\end{minipage}\hfill%
\begin{minipage}{0.25\textwidth}
	\input{schaltung_gpio_taster.cir} 
\end{minipage}


\subsection*{GPIO Belegung}

Um einen einfache Übersicht über die Ports des GPIO und ihre Belegung zu erhalten, kann die untere linke Übersicht genutzt werden. Schneidet man sie aus und versieht sie an den passenden Stellen mit Löchern, so kann sie auf den GPIO gesteckt werden. \textbf{Wichtig:} Bei diesem Vorgang sollte der Raspberry Pi nicht mit der Stromversorgung verbunden sein, da es sonst zu Beschädigungen kommen kann.

Bei der rechten Übersicht sind die Seiten vertauscht. Sie wird dann benötigt, wenn man z.\,B. mit einem alten Festplattenkabel die Anschlüsse des GPIO direkt an ein Steckbrett legt. Durch die Kabelführung kommt es zu dieser Vertauschung.

\begin{center}
	\input{gpio_belegung.cir} 	
\end{center}

\end{document}