% Dieses Dokument ist in der Zusammenarbeit von angehenden und
% ausgebildeten Informatiklehrkräften entstanden.
% Der Herausgeber dieses Dokuments ist die Fachgruppe Informatische
% Bildung in NRW der Gesellschaft für Informatik.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-sa Version 4.0
% https://creativecommons.org/licenses/by-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.
%
% 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
% https://matsam.fg-ibn.gi.de
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter https://www.ctan.org/pkg/schule
% zur Verfügung.

\begin{tikzpicture}
  \begin{scope}
    \node at (0,0.3cm) {Raspberry Pi};
  
    \foreach \y in {1,2,...,13}{
      \draw (0, -\y * 2.54mm) circle (1.6pt);
      \draw (2.54mm, -\y * 2.54mm) circle (1.6pt);
      \pgfmathtruncatemacro{\t}{\y*2-1}
      \draw (-0.4mm, -\y * 2.54mm) node[left]  {\tiny{\t}};
      \pgfmathtruncatemacro{\t}{\y*2}
      \node[right] at (2.94mm, -\y * 2.54mm) {\tiny{\t}};
    }
    
    \pgfmathsetmacro{\x}{-3.7}
    \begin{scope}[every node/.style={left}]
      \draw (\x mm,-2.54mm) node[green] {\tiny{3.3V}}
	++(0,-2.54mm) node {\tiny{SDA 2}}
	++(0,-2.54mm) node {\tiny{SCL 3}}
	++(0,-2.54mm) node {\tiny{4}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{17}}
	++(0,-2.54mm) node {\tiny{27}}
	++(0,-2.54mm) node {\tiny{22}}
	++(0,-2.54mm) node[green] {\tiny{3.3V}}
	++(0,-2.54mm) node {\tiny{MOSI 10}}
	++(0,-2.54mm) node {\tiny{MISO 9}}
	++(0,-2.54mm) node {\tiny{SCKL 11}}
	++(0,-2.54mm) node[blue] {\tiny{GND}};
    \end{scope}
    
    \pgfmathsetmacro{\x}{6.24}
    \begin{scope}[every node/.style={right}]
      \draw (\x mm,-2.54mm) node[red] {\tiny{5V}}
	++(0,-2.54mm) node[red] {\tiny{5V}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{14 TXD}}
	++(0,-2.54mm) node {\tiny{15 RXD}}
	++(0,-2.54mm) node {\tiny{18}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{23}}
	++(0,-2.54mm) node {\tiny{24}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{25}}
	++(0,-2.54mm) node {\tiny{8}}
	++(0,-2.54mm) node {\tiny{7}};
    \end{scope}
    
    \draw[rounded corners] (-17mm,0) rectangle (19.54mm,-35.56mm);
  \end{scope}
  
  \begin{scope}[xshift=4cm]
    \node at (0,0.3cm) {Board};
    \foreach \y in {1,2,...,13}{
      \draw (0, -\y * 2.54mm) circle (1.6pt);
      \draw (2.54mm, -\y * 2.54mm) circle (1.6pt);
      \pgfmathtruncatemacro{\t}{\y*2}
      \draw (-0.4mm, -\y * 2.54mm) node[left]  {\tiny{\t}};
      \pgfmathtruncatemacro{\t}{\y*2-1}
      \node[right] at (2.94mm, -\y * 2.54mm) {\tiny{\t}};
    }
    
    \pgfmathsetmacro{\x}{6.24}
    \begin{scope}[every node/.style={right}]
      \draw (\x mm,-2.54mm) node[green] {\tiny{3.3V}}
	++(0,-2.54mm) node {\tiny{2 SDA}}
	++(0,-2.54mm) node {\tiny{3 SCL}}
	++(0,-2.54mm) node {\tiny{4}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{17}}
	++(0,-2.54mm) node {\tiny{27}}
	++(0,-2.54mm) node {\tiny{22}}
	++(0,-2.54mm) node[green] {\tiny{3.3V}}
	++(0,-2.54mm) node {\tiny{10 MOSI}}
	++(0,-2.54mm) node {\tiny{9 MISO}}
	++(0,-2.54mm) node {\tiny{11 SCKL}}
	++(0,-2.54mm) node[blue] {\tiny{GND}};
    \end{scope}
    
    \pgfmathsetmacro{\x}{-3.7}
    \begin{scope}[every node/.style={left}]
      \draw (\x mm,-2.54mm) node[red] {\tiny{5V}}
	++(0,-2.54mm) node[red] {\tiny{5V}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{TXD 14}}
	++(0,-2.54mm) node {\tiny{RXD 15}}
	++(0,-2.54mm) node {\tiny{18}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{23}}
	++(0,-2.54mm) node {\tiny{24}}
	++(0,-2.54mm) node[blue] {\tiny{GND}}
	++(0,-2.54mm) node {\tiny{25}}
	++(0,-2.54mm) node {\tiny{8}}
	++(0,-2.54mm) node {\tiny{7}};
    \end{scope}
    
    \draw[rounded corners] (-17mm,0) rectangle (19.54mm,-35.56mm);
  \end{scope}
\end{tikzpicture}
