\section{Einleitung}

\begin{frame}
    \frametitle{Was ist ein Arduino?}
    \begin{itemize}
        \item Experimentierplatine mit einem Mikrocontroller
        \item einfache Entwicklungsumgebung
        \item ermöglicht Elektronikprojekte ohne große Vorkenntnisse
        \item große Auswahl an Erweiterungen in Form von \emph{Shields}
        \item viele Anlaufstellen im
            Internet\footnote{\weblink{https://www.arduino.cc}} für
            \begin{itemize}
                \item Dokumentation
                \item Beispielprojekte
                \item Hilfestellungen (Internetforen)
            \end{itemize}
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Was ist ein Mikrocontroller?}
    %\parpic[r]{\includegraphics[width=\textwidth,height=0.3\textheight,keepaspectratio]{bilder/fotos/IMG_0659.JPG}}
    \begin{itemize}
        \item quasi ein kompletter Kleincomputer
        \item vereint viele Komponenten in nur einem Chip
            \begin{itemize}
                \item CPU
                \item Speicher 
                \item Schnittstellen wie SPI, seriell, GPIO…
                \item Timer
            \end{itemize}
        \item riesige Auswahl an Controllern mit unterschiedlichsten Funktionen,
            Leistungsklassen und Preiskategorien
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Der ATmega328P\footnote{
        \weblink{http://www.atmel.com/devices/atmega328p.aspx}} auf dem Arduino (Auszug)}
    \begin{itemize}
        \item Taktfrequenz 16 MHz
        \item 8-Bit-Architektur (vgl. PC mit 64 Bit)
        \item 32 KB nichtflüchtiger Speicher, ähnlich einem USB-Stick
        \item 2 KB RAM
        \item eine USART, um z.B. mit dem PC zu kommunizieren
        \item drei Timer um zeitgesteuerte Funktionen oder bestimme Signalformen
            (PWM) zu realisieren, dazu später mehr
        \item sechs ADC-Kanäle, um Spannungen zu messen, z.B. von Drehknöpfen
        \item 20 frei nutzbare Ein- und Ausgänge
        \item \alert{Keine Panik:} Wir erklären nachher, was davon wichtig ist!
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Was macht ein Mikrocontroller?}
    \begin{itemize}
        \item eignet sich hervorragend für Steueraufgaben 
        \item in unserem Fall:
            \begin{itemize}
                \item Leitungen nach unseren Vorgaben ein- und ausschalten
                \item Tastendrücke erkennen und darauf reagieren
                \item mit dem PC kommunizieren
                \item LEDs dimmen
                \item Lichtsensoren und Drehknöpfe auswerten
            \end{itemize}
        \item viele weitere Anwendungen möglich
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Woher weiß der Mikrocontroller, was er tun soll?}
    \begin{itemize}
        \item er folgt einem Sketch ($\widehat{=}$ Programm), den wir in die
            Arduino-Umgebung eingeben
        \item ein Sketch ist eine Liste von Anweisungen, ähnlich einem Rezept
        \item ein solches Rezept ist in der Programmiersprache \emph{C++}
            formuliert (bzw. in deren Dialekt \emph{Wiring}) 
        \item vereinfacht ausgedrückt ist das eine Mischung aus englischen
            Wörtern und mathematischen Formeln
        \item die Arduino-Umgebung übersetzt den Wiring-Sketch in eine
            Maschinensprache, die der Mikrocontroller versteht
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Die Arduino-Umgebung}
    \begin{center}
        \includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]
            {bilder/arduino_ide_einfuehrung.png}
    \end{center}
\end{frame}


\begin{frame}
    \frametitle{Wie kommt der Sketch in den Mikrocontroller?}
    \begin{itemize}
        \item die Arduino-Platine hat ein eingebautes Programmiergerät
        \item es empfängt den übersetzten Sketch über den USB-Anschluss
        \item und schreibt ihn in den nichtflüchtigen Speicher des Mikrocontrollers
        \item dieser ist ähnlich einem USB-Stick, kann aber nur ein Programm aufnehmen
        \item das Programm läuft nach dem Einschalten sofort los
    \end{itemize}
\end{frame}


% vim: ts=4:sts=4:sw=4:et
