Compare commits

...

10 Commits

Author SHA1 Message Date
interfisch 4d2605fec2 aenderungen vortrag 4.2.17 2017-02-04 17:27:00 +01:00
Stefan Kinzel 94359787bb Folien für Arduino-Workshop 2017-02-04 2017-02-03 15:38:11 +01:00
Stefan Kinzel cc9402b988 letzte Änderungen am Adrino-Vortrag 2017-01-27 17:09:20 +01:00
interfisch 520ed8fc43 ueberarbeitet 2017-01-22 18:03:41 +01:00
interfisch 723a7c7dce autoren geaendert fuer ws am 28.1.2017 2017-01-22 16:41:39 +01:00
Stefan Kinzel 2bb3b0c4b4 Fehler auf der Schleifen-Folie korrigiert 2016-02-22 19:48:10 +01:00
interfisch 68428f0239 email adresse auf ctdo folie 2016-02-22 10:53:56 +01:00
Tunix 9160a4980c Datum für zweiten Termin angepasst 2016-02-19 20:21:21 +01:00
interfisch 63a09c69e1 vieles geandert 2016-02-19 00:23:51 +01:00
Christian Kroll 125d169d1d kleinere Korrekturen 2016-01-18 20:59:52 +01:00
15 changed files with 156 additions and 161 deletions

View File

@ -1,4 +1,4 @@
\RequirePackage{pdf14}
%\RequirePackage{pdf14}
\documentclass[xcolor=svgnames]{beamer}
@ -38,10 +38,10 @@
\definecolor{silver}{rgb}{.752,.752,.752}
\newcommand{\cfunc}[1]{\texttt{\textcolor{darkblue}{#1}}}
\author{Fisch, Stefan, Tunix}
\author{Fabian, Fisch, stefan, Tidirium}
\title{Arduino-Workshop}
\institute[CTDO]{Chaostreff Dortmund}
\date[16.01.2016]{16. Januar 2016}
\date[4.02.2017]{4. Februar 2017}
\subject{Arduino-Workshop im U}
@ -84,19 +84,19 @@
% bsp: "LED wurde eingeschaltet"
\input{kapitel/uart}
% -- Aufgabe 6 --
% -- Aufgabe 6 -- ENTFAELLT
% 1 Taster ein/aus
% Problem prellen
\input{kapitel/taster2}
%\input{kapitel/taster2}
% -- Aufgabe 7 --
% -- Aufgabe 6 --
% PWM
% pwm erklären
% adrino: analogWrite
% led von 0 auf 100 faden, erst sequentiell
\input{kapitel/pwm}
% -- Aufgabe 8 --
% -- Aufgabe 7 --
% ADC
% poti
% photowiderstand lesen

View File

@ -53,7 +53,7 @@ a = analogRead(0);
\end{frame}
\begin{frame}[fragile]
\frametitle{Aufgabe 8: Beleuchtung messen}
\frametitle{Aufgabe 7: Beleuchtung messen}
\begin{columns}
\column{.6\linewidth}
\begin{block}{Aufgabe}

View File

@ -44,13 +44,16 @@
\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 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}
\item ...
\begin{block}{}
\alert{Keine Panik:} Wir erklären nachher, was davon wichtig ist!
\end{block}
\end{itemize}
\end{frame}

View File

@ -1,19 +1,3 @@
\section{Ende}
\begin{frame}
\frametitle{Ende}
%\begin{flushright}
% \includegraphics[width=0.3\textwidth,height=\textheight,keepaspectratio]
% {bilder/logo_ctdo_200.png} %bild von dem taster
%\end{flushright}
\begin{huge}
Wir danken für's Mitmachen
und wünschen viel Erfolg bei euren zukünftigen Arduino-Projekten
\end{huge}
\end{frame}
% vim: ts=4:sts=4:sw=4:et

View File

@ -70,7 +70,6 @@
\item bewegliche Ladungen wollen Ladungsunterschiede immer ausgleichen $\rightarrow$ Strom fließt
\item Technische Stromrichtung: Strom fließt von Plus nach Minus\footnote{\footnotesize{physikalisch ist es eigentlich genau anders herum}}
\item der \emph{Widerstand} (Ohm, $\Omega$) begrenzt den Stromfluss
\item alle Verbraucher (wie LEDs) bilden selbst einen Widerstand
\end{itemize}
\end{frame}
@ -127,14 +126,14 @@
\begin{frame}
\frametitle{Grundlagen -- Ohmsches Gesetz}
\begin{itemize}
\item bei den LEDs sind folgende Angaben wichtig
\begin{itemize}
\item Flussspannung oder Forward Voltage $U_F$, meistens um die 2V
\item Diffusionsstrom oder Forward Current $I_F$, meist um die 20mA, bei uns 14mA $\widehat{=}$ 0,014A
\end{itemize}
\item bei der Berechnung hilft uns:
\end{itemize}
% \begin{itemize}
% \item bei den LEDs sind folgende Angaben wichtig
% \begin{itemize}
% \item Flussspannung oder Forward Voltage $U_F$, meistens um die 2V
% \item Diffusionsstrom oder Forward Current $I_F$, meist um die 20mA, bei uns 14mA $\widehat{=}$ 0,014A
% \end{itemize}
% \item bei der Berechnung hilft uns:
% \end{itemize}
\begin{block}{Ohmsches Gesetz}
\begin{columns}[T]
\column{.50\textwidth}
@ -161,8 +160,9 @@
\item \LARGE{$R_{Vorwiderstand} = 214,29\Omega \approx \underline{\underline{220\Omega}}$}
\end{itemize}
\begin{center}
\includegraphics[width=0.4\linewidth,height=\textheight,keepaspectratio]{bilder/vorwiderstand.pdf}
\includegraphics[width=0.3\linewidth,height=\textheight,keepaspectratio]{bilder/vorwiderstand.pdf}
\end{center}
\textbf{Tipp:} Online "LED Vorwiderstandsrechner"
\end{frame}
@ -184,7 +184,7 @@
\hline grau & \cellcolor{gray} & 8 & 8 & 8 & & $\pm$0,05\% \\
\hline weiß & \cellcolor{white} & 9 & 9 & 9 & & \\
\hline gold & \cellcolor{gold} & & & & 0,1$\Omega$ & $\pm$5\% \\
\hline silver & \cellcolor{silver} & & & & 0,01$\Omega$ & $\pm$10\% \\
\hline silber & \cellcolor{silver} & & & & 0,01$\Omega$ & $\pm$10\% \\
\hline
\end{tabular}}
\column{.10\textwidth}

View File

@ -15,7 +15,7 @@
\end{frame}
\begin{frame}
\frametitle{Aufgabe 7: LED Dimmen}
\frametitle{Aufgabe 6: LED Dimmen}
\begin{block}{Aufgabe}
\textbf{Ziel:} Dimme die LED, statt sie auszuschalten
\begin{itemize}
@ -28,7 +28,7 @@
\end{frame}
\begin{frame}
\frametitle{Aufgabe 7: LED Dimmen}
\frametitle{Aufgabe 6: LED Dimmen}
\begin{block}{}
\begin{itemize}

View File

@ -13,16 +13,28 @@
\begin{frame}
\frametitle{Aufgabe 3: Taster, Hardware}
\begin{block}{Aufgabe}
\begin{itemize}
\item Erweitere das Projekt:
\begin{enumerate}
\item stecke den Taster auf das Breadboard
\item verbinde einen Kontakt mit Masse (GND)
\item verbinde den anderen Kontakt mit einem freien Pin vom Arduino
\end{enumerate}
\end{itemize}
\end{block}
\begin{columns}
\column{.6\linewidth}
\begin{block}{Aufgabe}
\begin{itemize}
\item Erweitere das Projekt:
\begin{enumerate}
\item stecke den Taster auf das Breadboard
\item verbinde einen Kontakt mit Masse (GND)
\item verbinde den anderen Kontakt mit einem freien Pin vom Arduino
\end{enumerate}
\end{itemize}
\end{block}
\column{.4\linewidth}
\begin{center}
\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]
{bilder/a2_breadboard.png} %grafik schematisch von brotbrett
\end{center}
\end{columns}
\end{frame}
\begin{frame}
@ -34,6 +46,36 @@
\end{center}
\end{frame}
\begin{frame}[fragile]
\frametitle{Variablen}
\begin{columns}
\column{.6\linewidth}
\begin{itemize}
\item Variablen sind "Platzhalter" für Werte, wie z.B. Zahlen
\item es gibt verschiedene Datentypen, darunter:
\begin{itemize}
\item \texttt{int}: Ganzzahl
\item \texttt{float}: Fließkommazahl
\item \texttt{bool}: Wahrheitswert, \textit{true} oder \textit{false}
\end{itemize}
\end{itemize}
\column{.4\linewidth}
\begin{exampleblock}{Beispiel}
\begin{lstlisting}
int a=5;
float b=3.14;
bool x=true;
\end{lstlisting}
\end{exampleblock}
\end{columns}
\end{frame}
\begin{frame}[fragile]
\frametitle{Fallunterscheidung}
\begin{columns}
@ -64,34 +106,7 @@ if ( BEDINGUNG ) {
\end{frame}
\begin{frame}[fragile]
\frametitle{Aufgabe 3: Variablen}
\begin{columns}
\column{.6\linewidth}
\begin{itemize}
\item Variablen sind "Platzhalter" für Werte, wie z.B. Zahlen
\item es gibt verschiedene Datentypen, darunter:
\begin{itemize}
\item \texttt{int}: Ganzzahl
\item \texttt{float}: Fließkommazahl
\item \texttt{bool}: Wahrheitswert, \textit{true} oder \textit{false}
\end{itemize}
\end{itemize}
\column{.4\linewidth}
\begin{exampleblock}{Beispiel}
\begin{lstlisting}
int a=5;
float b=3.14;
bool x=true;
\end{lstlisting}
\end{exampleblock}
\end{columns}
\end{frame}
\begin{frame}[fragile]
\frametitle{Aufgabe 3: Taster, Software}
@ -121,6 +136,9 @@ if ( x == false ) {
} else {
tuWasAnderes();
}
bool t;
t=digitalRead(10);
\end{lstlisting}
}

View File

@ -14,8 +14,8 @@
\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 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}
@ -24,20 +24,24 @@
\begin{frame}
\frametitle{Aufgabe 4: Kommunikation mit dem PC}
\begin{columns}
\column{.5\linewidth}
\column{.45\linewidth}
\begin{block}{Aufgabe}
Erweitere das Programm, sodass beim Einschalten der LED eine Nachricht gesendet wird.
\end{block}
\column{.45\linewidth}
\column{.5\linewidth}
\begin{exampleblock}{Tipps}
\begin{itemize}
\item Initialisierung: \texttt{Serial.begin(9600)}
\item text senden: \texttt{Serial.println("bla")}
\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}
@ -51,8 +55,8 @@
\begin{columns}
\column{.5\linewidth}
\begin{itemize}
\item schleifen ermöglichen ein wiederholtes Ausführen von Befehlen
\item bei Erfüllung einer Abbruchbedingung wird die Schleife verlassen
\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}
@ -75,7 +79,7 @@ while( BEDINGUNG ){
\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.
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}

View File

@ -5,6 +5,36 @@
\end{frame}
\section{Weitere Aufgaben}
\begin{frame}
\frametitle{Weitere Aufgaben}
\begin{block}{}
\begin{enumerate}
\item zählen von Tastendrücken
\item LED Zustand/Helligkeit oder Blinkgeschwindigkeit abhängig von dem Photowiderstand (Bsp. Nachtlicht)
\item mehr LED's steuern, z.B. eine Ampel
\item oder ein Projekt deiner Wahl
\end{enumerate}
\end{block}
\end{frame}
\section{Ende}
\begin{frame}
\frametitle{Ende}
%\begin{flushright}
% \includegraphics[width=0.3\textwidth,height=\textheight,keepaspectratio]
% {bilder/logo_ctdo_200.png} %bild von dem taster
%\end{flushright}
\begin{huge}
Wir danken für's Mitmachen und wünschen viel Erfolg bei euren zukünftigen Arduino-Projekten!
\end{huge}
\end{frame}
\section{Der Chaostreff}
\begin{frame}
\frametitle{Der Chaostreff}
@ -15,7 +45,11 @@
\end{flushright}
\column{0.4\linewidth}
\begin{huge}
www.ctdo.de
\begin{center}
\href{http://www.ctdo.de}{www.ctdo.de}
arduino@ctdo.de
\end{center}
\end{huge}
@ -24,22 +58,11 @@
Di \& Do ab ca. 19 Uhr
\end{columns}
\end{frame}
\section{Weitere Aufgaben}
\begin{frame}
\frametitle{Weitere Aufgaben}
\begin{block}{}
\begin{enumerate}
\item zählen von Tastendrücken
\item LED Zustand/Helligkeit oder Blinkgeschwindigkeit abhängig von dem Photowiderstand (Bsp. Nachtlicht)
\item mehr LED's steuern, z.B. eine Ampel
\item oder ein Projekt deiner Wahl
\end{enumerate}
\end{block}
\end{frame}
% vim: ts=4:sts=4:sw=4:et

View File

@ -7,7 +7,7 @@ void loop(){
bool taster=digitalRead(10);
if ( taster==false ){
digitalWrite(7, HIGH); // LED einschalten
Serial.println("Ausgeschaltet"); //Text senden
Serial.println("Eingeschaltet"); //Text senden
} else {
digitalWrite(7,LOW); // LED ausschalten
}

View File

@ -13,7 +13,7 @@ void loop(){
bool taster=digitalRead(10);
if ( taster==false ){
digitalWrite(7, HIGH); // LED einschalten
Serial.println("Ausgeschaltet"); //Text senden
Serial.println("Eingeschaltet"); //Text senden
} else {
digitalWrite(7,LOW); // LED ausschalten
}

View File

@ -0,0 +1,20 @@
void setup(){
pinMode(7, OUTPUT); // LED-Pin als Ausgang
pinMode(10, INPUT_PULLUP); // Taster-Pin als Eingang
Serial.begin(9600); // Serielle Kommunikation starten
int zahl=10; // Ganzzahl mit 10 initialisieren
while(zahl>0) {
Serial.println(zahl);
zahl=zahl-1; // Zahl um 1 verringern
}
}
void loop(){
bool taster=digitalRead(10);
if ( taster==false ){
digitalWrite(7, HIGH); // LED einschalten
Serial.println("Eingeschaltet"); //Text senden
} else {
analogWrite(7,50); // LED ausschalten
}
}

View File

@ -1,28 +0,0 @@
bool ledstatus=false; // globale variable
void setup(){
pinMode(7, OUTPUT); // LED-Pin als Ausgang
pinMode(10, INPUT_PULLUP); // Taster-Pin als Eingang
Serial.begin(9600); // Serielle Kommunikation starten
int zahl=10; // Ganzzahl mit 10 initialisieren
while(zahl>0) {
Serial.println(zahl);
zahl=zahl-1; // Zahl um 1 verringern
}
}
void loop(){
bool taster=digitalRead(10);
if ( taster==false ) {
if ( ledstatus==true ) { // LED war an
digitalWrite(7,LOW); // LED ausschalten
ledstatus=false;
Serial.println("Ausgeschaltet"); //Text senden
} else { // LED war aus
digitalWrite(7,HIGH); // LED einschalten
ledstatus=true;
Serial.println("Eingeschaltet"); //Text senden
}
}
}

View File

@ -1,29 +0,0 @@
bool ledstatus=false; // globale variable
void setup(){
pinMode(6, OUTPUT); // LED-Pin als Ausgang
pinMode(10, INPUT_PULLUP); // Taster-Pin als Eingang
Serial.begin(9600); // Serielle Kommunikation starten
int zahl=10; // Ganzzahl mit 10 initialisieren
while(zahl>0) {
Serial.println(zahl);
zahl=zahl-1; // Zahl um 1 verringern
}
}
void loop(){
bool taster=digitalRead(10);
if ( taster==false ) {
if ( ledstatus==true ) { // LED war an
analogWrite(6,50); // LED dimmen
ledstatus=false;
Serial.println("Gedimmt"); //Text senden
} else { // LED war aus
digitalWrite(6,HIGH); // LED einschalten
ledstatus=true;
Serial.println("Eingeschaltet"); //Text senden
}
delay(500);
}
}