ctdo/Vorträge/arduino/kapitel/uart.tex

108 lines
3.3 KiB
TeX

\section{Kommunikation mit dem PC}
\begin{frame}
\frametitle{Kommunikation mit dem PC}
\begin{itemize}
\item wir beschreiben unseren Mikrocontroller über seine serielle Schnittstelle
\item der Arduino Uno besitzt einen USB-Seriell Wandler
\item auf dieselbe Weise können wir mit ihm im Betrieb kommunizieren
\item darunter zählt z.B. das Senden von Text
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Kommunikation mit dem PC}
\begin{itemize}
\item initialisierung mittels \texttt{Serial.begin(9600);} in der \texttt{setup()}-Funktion
\item senden von Text durch \texttt{Serial.println("Hello World!");}, z.B. beim Ausschalten der LED
\item nach dem Compilieren und Upload den ''Seriellen Monitor'' öffnen \includegraphics[height=3ex]{bilder/a4_icon_serialmonitor.png}
\item die Zahl ''9600'' in der Funktion Serial.begin() beschreibt die Geschwindigkeit und muss im \textit{Serial Monitor} ausgewählt werden
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Aufgabe 4: Kommunikation mit dem PC}
\begin{columns}
\column{.45\linewidth}
\begin{block}{Aufgabe}
Erweitere das Programm, sodass beim Einschalten der LED eine Nachricht gesendet wird.
\end{block}
\column{.5\linewidth}
\begin{exampleblock}{Tipps}
\begin{itemize}
\item Initialisierung: \texttt{Serial.begin(9600);}
\item text senden: \texttt{Serial.println("bla");}
\item ''Serieller Monitor'' \includegraphics[height=3ex]{bilder/a4_icon_serialmonitor.png}
\item Geschwindigkeit ''9600''
\end{itemize}
\end{exampleblock}
\end{columns}
\pause
\begin{alertblock}{Achtung!}
Weder die LED noch der Taster dürfen für diese Aufgabe an Pin 0 oder 1 angeschlossen sein.
\end{alertblock}
\end{frame}
\section{Schleifen}
\begin{frame}[fragile]
\frametitle{Schleifen}
\begin{columns}
\column{.5\linewidth}
\begin{itemize}
\item Schleifen ermöglichen ein wiederholtes Ausführen von Befehlen
\item Die Schleife wird verlassen, wenn die Bedingung nicht mehr erfüllt ist
\end{itemize}
\column{.4\linewidth}
\begin{exampleblock}{Beispiel}
\begin{lstlisting}
while( BEDINGUNG ){
tuDies();
tuDas();
}
\end{lstlisting}
\end{exampleblock}
\end{columns}
\begin{center}
\input{bilder/while}
\end{center}
\end{frame}
\begin{frame}[fragile]
\frametitle{Aufgabe 5: Schleifen}
\begin{columns}
\column{.5\linewidth}
\begin{block}{Aufgabe}
Erweitere das Programm so, dass beim Start (\texttt{setup}) eine Variable mit der Zahl \textbf{10} initialisiert wird.
Diese soll jeweils ausgegeben und um 1 verringert werden, solange sie größer als 0 ist.
\end{block}
\column{.4\linewidth}
\begin{exampleblock}{Tipps}
Ganzzahl Typ: \texttt{int}
\begin{lstlisting}
while( BEDINGUNG ){
tuDies();
tuDas();
}
\end{lstlisting}
Der Arduino kann mit dem \textit{Reset}-Knopf neu gestartet werden
\\\bigskip
Runterzählen: \texttt{a = a - 1}
\end{exampleblock}
\end{columns}
\end{frame}
% vim: ts=4:sts=4:sw=4:et