\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