\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?}
    \begin{itemize}
        \item quasi ein kompletter Kleincomputer
        \item vereint viele Komponenten in nur einem Chip
            \begin{itemize}
                \item CPU
                \item Speicher 
                \item Schnittstellen wie USB, seriell, GPIO…
                \item Timer
                \item häufig Steuerungen für LC-Displays, Bluetooth…
            \end{itemize}
        \item riesige Auswahl mit unterschiedlichsten Funktionen,
            Leistungsklassen und Preiskategorien
    \end{itemize}
\end{frame}


\begin{frame}
    \frametitle{Leistungsdaten vom ATmega328P\footnote{
    \weblink{http://www.atmel.com/devices/atmega328p.aspx}} (Auszug)}
    \begin{itemize}
        \item Taktfrequenz 16 MHz
        \item 8-Bit-Architektur (vgl. PC mit 64 Bit)
        \item 32 KB Flash, wo das Programm liegt, ähnlich einem USB-Stick
        \item 2 KB RAM, mit dem dieses Programm arbeiten kann
        \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 acht ADC-Kanäle, um Spannungen zu messen, z.B. von Drehknöpfen
        \item 20 frei ein- und ausschaltbare Pins (theoretisch bis zu 23)
        \item \alert{Nicht einschüchtern lassen, wir klären nach und nach, was
            es damit auf sich hat!}
    \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 von der Arduino-Umgebung übersetzten Sketch über
            den USB-Anschluss
        \item und schreibt ihn in den Flash-Speicher des Mikrocontrollers
        \item fast wie ein 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
