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

115 lines
4.2 KiB
TeX

\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 ...
\begin{block}{}
\alert{Keine Panik:} Wir erklären nachher, was davon wichtig ist!
\end{block}
\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