-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrafficLight.tex
More file actions
124 lines (93 loc) · 5.42 KB
/
TrafficLight.tex
File metadata and controls
124 lines (93 loc) · 5.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
\begin{figure}[ht]
\centering
\includegraphics[scale=0.25]{images/TrafficLight_Steckplatine.png}
% \caption{}
\label{LED_Steckplatine}
\end{figure}
%\begin{figure}[ht]
% \centering
% \includegraphics[scale=0.25]{images/TrafficLight_Schaltplan.png}
% % \caption{}
% \label{LED_Schaltplan}
%\end{figure}
\ExerciseBox{
Bilde die Standardfunktion einer österreichischen Ampel nach [Beispiele]\\
Schalte über einen Eingang auf Rot für den Fußgängerübergang\\
Überwache die CPU-Last und schalte bei über 90 \% auf Rot und über 50 \% auf Gelb}
\begin{figure}[ht]
\centering
\includegraphics[scale=0.04]{images/Ampel_Rot.png}
\includegraphics[scale=0.04]{images/Ampel_RotGelb.png}
\includegraphics[scale=0.04]{images/Ampel_Gruen.png}
\includegraphics[scale=0.04]{images/Ampel_Aus.png}
\includegraphics[scale=0.04]{images/Ampel_Gruen.png}
\includegraphics[scale=0.04]{images/Ampel_Aus.png}
\includegraphics[scale=0.04]{images/Ampel_Gruen.png}
\includegraphics[scale=0.04]{images/Ampel_Aus.png}
\includegraphics[scale=0.04]{images/Ampel_Gruen.png}
\includegraphics[scale=0.04]{images/Ampel_Gelb.png}
% \caption{}
\label{Ampel_Ablauf}
\end{figure}
\subsection{C}
\begin{console}
geany &
\end{console}
Zuerst wird ein neues Projekt erstellt. Dazu wählt man im Menü \texttt{Projekt} $\rightarrow$ \texttt{Neu...}. Dann gibt man den Namen des Projekts an z.~B. TrafficLight. Das Anlegen der Verzeichnisse muss danach auch noch bestätigt werden.
Weitere Einstellungen wie Zeichen für Einrückungen und Zeilenumbruch können unter \texttt{Projekt} $\rightarrow$ \texttt{Eigenschaften} vorgenommen werden.\\
Danach wählt man \texttt{Datei} $\rightarrow$ \texttt{Speichern unter} um die unbenannte Datei mit dem Namen "`TrafficLight.c"' speichern zu können. Nun kann man den folgenden C-Source eingeben.
\lstset{language=C, caption=, label=TrafficLightProgram, frame=single, basicstyle=\ttfamily
\footnotesize, breakatwhitespace=false, showstringspaces=false, showtabs=false, tabsize=2 }
\lstinputlisting{source/TrafficLight.c}
Im Menü unter \texttt{Erstellen} $\rightarrow$ \texttt{Kommandos zum Erstellen konfigurieren} die WiringPi Library mit "`\textit{-lwiringPi}"' bei \texttt{Compile} und \texttt{Build} zu ergänzen.
\begin{figure}[ht]
\centering
\includegraphics[scale=0.48]{images/Geany_Create_Wiringpi.png}
% \caption{}
\label{Geany-create}
\end{figure}
Nun kann man das Projekt mit den Ziegel-Icon \includegraphics[scale=0.4]{images/Geany_Icon_Erstellen.png} erstellen bzw. kompilieren und danach mit dem Zahnrad-Icon \includegraphics[scale=0.4]{images/Geany_Icon_Ausfuehren.png} ausführen.
%\clearpage
\subsection{C\#}
\begin{console}
geany &
\end{console}
Zuerst wird ein neues Projekt erstellt. Dazu wählt man im Menü \texttt{Projekt} $\rightarrow$ \texttt{Neu...}. Dann gibt man den Namen des Projekts an, z.~B. csTrafficLight. Das Anlegen der Verzeichnisse muss danach auch noch bestätigt werden. Nachfolgend unter \texttt{Datei} $\rightarrow$ \texttt{Speichern unter} die unbenannte Datei mit dem Namen "`TrafficLight.cs"' speichern. Nun kann man den folgenden C\#-Source eingeben.\\
\lstset{language=C, caption=, label=TrafficLightProgramCS, frame=single, basicstyle=\ttfamily
\footnotesize, breakatwhitespace=false, showstringspaces=false, showtabs=false, tabsize=2 }
\lstinputlisting{source/TrafficLight.cs}
Um das Programm kompilieren zu können, muss im Menü unter \texttt{Erstellen}
$\rightarrow$ \texttt{Kommandos zum Erstellen konfigurieren} der Pfad zur Sourcedatei des C\# WiringPi
Wrapper (siehe \ref{WiringPiCS}) hinzugefügt werden. Hierfür im Textfeld \texttt{Kompilieren} den Pfad z.~B. WiringPi.cs ergänzen.\\
"`\textit{mcs /t:winexe \textquotedblleft\%f\textquotedblright WiringPi.cs /r:System,System.Drawing}"'.\\
\begin{figure}[ht]
\centering
\includegraphics[scale=0.48]{images/Geany_Set_cs.png}
% \caption{}
\label{Geany-setpy3}
\end{figure}
Es muss die WiringPi Wrapper Datei in das Projektverzeichnis kopiert werden.
\begin{console}
cp ~/Projekte/WiringPi.cs ~/Projekte/csTrafficLight/
\end{console}
Anschließend kann man das Programm mit dem Kompilieren-Icon \includegraphics[scale=0.4]{images/Geany_Icon_Kompilieren.png} erstellen bzw. kompilieren und mit dem Zahnrad-Icon \includegraphics[scale=0.4]{images/Geany_Icon_Ausfuehren.png} ausführen.
Das Programm kann mit der Tastenkombination \framebox{Strg}+\framebox{C} vorzeitig beendet werden.
%\clearpage
\subsection{Python}
Zuerst wird ein neues Projekt erstellt. Dazu wählt man \texttt{Projekt} $\rightarrow$ \texttt{Neu...}. Dann gibt man den Namen des Projekts an, z.~B. pyTrafficLight. Das Anlegen der Verzeichnisse muss danach auch noch bestätigt werden. Nachfolgend unter \texttt{Datei} $\rightarrow$ \texttt{Speichern unter} die unbenannte Datei mit dem Namen "`TrafficLight.py"' speichern. Nun kann man den folgenden Python-Source eingeben.\\
\lstset{language=Python, caption=,
label=LEDProgram, frame=single, basicstyle=\ttfamily
\footnotesize, breakatwhitespace=false, showstringspaces=false,
showtabs=false, tabsize=2 }
\lstinputlisting{source/TrafficLight.py}
Anschließend kann man das Programm mit dem Zahnrad-Icon
\includegraphics[scale=0.4]{images/Geany_Icon_Ausfuehren.png} ausführen.
\subsection{Blockly-gPIo}
\begin{figure}[ht]
%\centering
\includegraphics[scale=0.44]{images/Blockly-gPIo_TrafficLight_EN.png}
%\centering
\includegraphics[scale=0.44]{images/Blockly-gPIo_TrafficLight_DE.png}
% \caption{}
\label{Blockly-gPIo_TrafficLight}
\end{figure}