diff --git a/Vorträge/arduino/bilder/a2_breadboard_led.png b/Vorträge/arduino/bilder/a2_breadboard_led.png index 03224d1..3c9be2c 100644 Binary files a/Vorträge/arduino/bilder/a2_breadboard_led.png and b/Vorträge/arduino/bilder/a2_breadboard_led.png differ diff --git a/Vorträge/arduino/bilder/a2_breadboard_led_unbeschriftet.png b/Vorträge/arduino/bilder/a2_breadboard_led_unbeschriftet.png new file mode 100644 index 0000000..03224d1 Binary files /dev/null and b/Vorträge/arduino/bilder/a2_breadboard_led_unbeschriftet.png differ diff --git a/Vorträge/arduino/bilder/ldr_board.png b/Vorträge/arduino/bilder/ldr_board.png index 773d284..ee96085 100644 Binary files a/Vorträge/arduino/bilder/ldr_board.png and b/Vorträge/arduino/bilder/ldr_board.png differ diff --git a/Vorträge/arduino/bilder/ldr_board_unbeschriftet.png b/Vorträge/arduino/bilder/ldr_board_unbeschriftet.png new file mode 100644 index 0000000..773d284 Binary files /dev/null and b/Vorträge/arduino/bilder/ldr_board_unbeschriftet.png differ diff --git a/Vorträge/arduino/kapitel/adc.tex b/Vorträge/arduino/kapitel/adc.tex index 6c32013..4e10518 100644 --- a/Vorträge/arduino/kapitel/adc.tex +++ b/Vorträge/arduino/kapitel/adc.tex @@ -16,8 +16,9 @@ \end{itemize} \column{0.4\linewidth} \begin{exampleblock}{Beispiel} + Auslesen von A0: \begin{lstlisting} -a = analogRead(PIN); +a = analogRead(0); \end{lstlisting} \end{exampleblock} \end{columns} @@ -57,18 +58,18 @@ a = analogRead(PIN); \column{.6\linewidth} \begin{block}{Aufgabe} \begin{itemize} - \item speichere die alte Aufgabe unter dem Namen \texttt{Workshop\_Teil\_1}. - \item erstelle ein neues Projekt (Datei $\rightarrow$ Neu) - - \item miss die Helligkeit im Raum mit Hilfe des Photowiderstands und gib sie über die UART-Schnittstelle aus. - \item nutze dazu einen der analogen Eingänge des Arduinos. + \item erstelle ein neues Projekt (Datei $\rightarrow$ Neu) + \item miss die Helligkeit im Raum mit Hilfe des Photowiderstands und gib sie über die serielle Schnittstelle aus + \item nutze dazu einen der analogen Eingänge des Arduinos + \item Deklaration als Eingang ist nicht nötig \end{itemize} \end{block} \column{.37\linewidth} \begin{exampleblock}{Tipps} - \begin{lstlisting} -a=analogRead(PIN); + Auslesen von A0: + \begin{lstlisting} +a = analogRead(0); \end{lstlisting} Liefert Werte zwischen 0 und 1023 \end{exampleblock} diff --git a/Vorträge/arduino/kapitel/einleitung.tex b/Vorträge/arduino/kapitel/einleitung.tex index 855ce94..85fcc03 100644 --- a/Vorträge/arduino/kapitel/einleitung.tex +++ b/Vorträge/arduino/kapitel/einleitung.tex @@ -27,9 +27,8 @@ \begin{itemize} \item CPU \item Speicher - \item Schnittstellen wie USB, seriell, GPIO… + \item Schnittstellen wie SPI, seriell, GPIO… \item Timer - \item häufig Steuerungen für LC-Displays, Bluetooth… \end{itemize} \item riesige Auswahl mit unterschiedlichsten Funktionen, Leistungsklassen und Preiskategorien @@ -43,8 +42,8 @@ \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 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 diff --git a/Vorträge/arduino/kapitel/led_auf_shield.tex b/Vorträge/arduino/kapitel/led_auf_shield.tex index 2a582d4..b6771de 100644 --- a/Vorträge/arduino/kapitel/led_auf_shield.tex +++ b/Vorträge/arduino/kapitel/led_auf_shield.tex @@ -166,12 +166,26 @@ \end{frame} +\begin{frame} + \frametitle{Grundlagen -- Widerstand} + %TODO: Widerstandsringe erklären + +\end{frame} + \begin{frame} \frametitle{Aufgabe 2: Das Shield, Verkabelung} + \begin{columns} + \column{.7\linewidth} \begin{center} \includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio] {bilder/a2_breadboard_led.png} %grafik schematisch von brotbrett \end{center} + \column{.3\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} diff --git a/Vorträge/arduino/kapitel/pwm.tex b/Vorträge/arduino/kapitel/pwm.tex index cf999e0..aaea860 100644 --- a/Vorträge/arduino/kapitel/pwm.tex +++ b/Vorträge/arduino/kapitel/pwm.tex @@ -3,10 +3,13 @@ \begin{frame} \frametitle{LED Dimmen} \begin{itemize} - \item ein Mikrocontroller kann einen Ausgang nur ein oder ausschalten + \item ein Mikrocontroller kann einen Ausgang \textbf{nur} ein (5V) oder ausschalten (0V) \item Dimmen durch schnelles Ein-und Ausschalten \item Helligkeit durch Ein- und Auszeit variieren = \textbf{P}uls\textbf{W}eiten\textbf{M}odulation \item die PWM ist in der Hardware fest eingebaut und kann an den Pins 3, 5, 6, 9, 10, und 11 verwendet werden + \pause + \item Befehl: \texttt{analogWrite(PIN,\textcolor{blue}{Wert})} + \item der zweite parameter \textcolor{blue}{\texttt{Wert}} gibt die Helligkeit an und kann zwischen 0 und 255 liegen. 0=Aus, 255=An \end{itemize} \end{frame} @@ -14,17 +17,27 @@ \begin{frame} \frametitle{Aufgabe 7: LED Dimmen} \begin{block}{Aufgabe} - \textbf{Ziel:} Dimme die LED, statt sie auszuschalten - \begin{itemize} - \item stelle sicher, dass die LED an einen PWM-fähigen Pin 3, 5, 6, 9, 10, oder 11 angeschlossen ist. Falls nicht, anpassen! - \item ersetze das \texttt{digitalWrite(PIN,LOW)} durch ein \texttt{analogWrite(PIN,\textcolor{blue}{Wert})} - \item der zweite parameter \textcolor{blue}{\texttt{Wert}} gibt die Helligkeit an und kann zwischen 0 und 255 liegen. 0=Aus, 255=An - \item teste das Programm - \end{itemize} + \textbf{Ziel:} Dimme die LED, statt sie auszuschalten + \begin{itemize} + \item stelle sicher, dass die LED an einen PWM-fähigen Pin 3, 5, 6, 9, 10, oder 11 angeschlossen ist. Falls nicht, anpassen! + \item ersetze das \texttt{digitalWrite(PIN,LOW)} durch ein \texttt{analogWrite(PIN,\textcolor{blue}{Wert})}, \textcolor{blue}{Wert} zwischen 0 und 255 + \end{itemize} \end{block} \end{frame} +\begin{frame} + \frametitle{Aufgabe 7: LED Dimmen} + + \begin{block}{} + \begin{itemize} + \item speichere die Aufgabe unter dem Namen \texttt{Workshop\_Teil\_1} + \item entferne die Bauteile vom Steckbrett + \end{itemize} + \end{block} + +\end{frame} + % vim: ts=4:sts=4:sw=4:et diff --git a/Vorträge/arduino/kapitel/taster1.tex b/Vorträge/arduino/kapitel/taster1.tex index 39a88bc..935a9ae 100644 --- a/Vorträge/arduino/kapitel/taster1.tex +++ b/Vorträge/arduino/kapitel/taster1.tex @@ -46,7 +46,7 @@ \item 1<2 \item a>5 \item a<=b - \item x==true + \item x==false \end{itemize} \end{itemize} @@ -103,12 +103,12 @@ bool x=true; \item lösche alle Pausen / Delays \item lies den Wert am Eingang in eine \texttt{bool}-Variable mit \texttt{digitalRead(PIN)} \item nutze die Variable für eine Fallunterscheidung - \item im Wahr-Fall schalte die LED ein + \item im Wahr-Fall schalte die LED an \item ansonsten schalte die LED aus \item compiliere den Code \end{enumerate} \end{block} - \column{.35\linewidth} + \column{.37\linewidth} \begin{exampleblock}{Tipps} \small{ \begin{lstlisting} @@ -116,7 +116,7 @@ int a=5; float b=3.14; bool x=true; -if ( BEDINGUNG ) { +if ( x == false ) { tuDies(); } else { tuWasAnderes(); diff --git a/Vorträge/arduino/kapitel/taster2.tex b/Vorträge/arduino/kapitel/taster2.tex index 7100661..4aed46f 100644 --- a/Vorträge/arduino/kapitel/taster2.tex +++ b/Vorträge/arduino/kapitel/taster2.tex @@ -10,10 +10,9 @@ \item der aktuelle Zustand der LED muss nun in einer Variable gespeichert werden. \textbf{Tipp:} Variable noch vor \texttt{setup()} deklarieren \item wenn LED an, schalte sie aus. Wenn LED aus, schalte sie an. \item gib bei jedem Schaltvorgang einen Hinweis aus - \item was fällt auf? + \item der Arduino ist zu schnell, nutze ein Delay am Ende des Loops \end{itemize} - \pause Einfaches ''Entprellen'' durch delay mit z.B. 500 Millisekunden \end{block} \end{frame} diff --git a/Vorträge/arduino/kapitel/uart.tex b/Vorträge/arduino/kapitel/uart.tex index 55c19a1..faed462 100644 --- a/Vorträge/arduino/kapitel/uart.tex +++ b/Vorträge/arduino/kapitel/uart.tex @@ -26,7 +26,7 @@ \begin{columns} \column{.5\linewidth} \begin{block}{Aufgabe} - Erweitere das Programm, sodass beim Ausschalten der LED eine Nachricht gesendet wird. + Erweitere das Programm, sodass beim Einschalten der LED eine Nachricht gesendet wird. \end{block} \column{.45\linewidth} \begin{exampleblock}{Tipps} @@ -90,7 +90,10 @@ while( BEDINGUNG ){ tuDas(); } \end{lstlisting} + Der Arduino kann mit dem \textit{Reset}-Knopf neu gestartet werden + \\\bigskip + Runterzählen: \texttt{a = a - 1} \end{exampleblock} \end{columns} \end{frame} diff --git a/Vorträge/arduino/kapitel/zusatzaufgaben.tex b/Vorträge/arduino/kapitel/zusatzaufgaben.tex index b894e2c..3f76c59 100644 --- a/Vorträge/arduino/kapitel/zusatzaufgaben.tex +++ b/Vorträge/arduino/kapitel/zusatzaufgaben.tex @@ -5,6 +5,21 @@ \end{frame} +\section{Der Chaostreff} +\begin{frame} + \frametitle{Der Chaostreff} + \begin{columns} + \column{0.6\linewidth} + \begin{flushright} + \includegraphics[width=1\textwidth]{bilder/logo_ctdo_200.png} + \end{flushright} + \column{0.4\linewidth} + \huge{www.ctdo.de} + + \end{columns} + +\end{frame} + \section{Weitere Aufgaben} \begin{frame} diff --git a/Vorträge/arduino/loesungen/a3_taster1/a3_taster1.ino b/Vorträge/arduino/loesungen/a3_taster1/a3_taster1.ino index 9729033..a8cbe45 100644 --- a/Vorträge/arduino/loesungen/a3_taster1/a3_taster1.ino +++ b/Vorträge/arduino/loesungen/a3_taster1/a3_taster1.ino @@ -4,7 +4,7 @@ void setup(){ } void loop(){ bool taster=digitalRead(10); - if ( taster==true ){ + if ( taster==false ){ digitalWrite(7, HIGH); // LED einschalten } else { digitalWrite(7,LOW); // LED ausschalten diff --git a/Vorträge/arduino/loesungen/a4_uart/a4_uart.ino b/Vorträge/arduino/loesungen/a4_uart/a4_uart.ino index f74945e..2533780 100644 --- a/Vorträge/arduino/loesungen/a4_uart/a4_uart.ino +++ b/Vorträge/arduino/loesungen/a4_uart/a4_uart.ino @@ -5,10 +5,10 @@ void setup(){ } void loop(){ bool taster=digitalRead(10); - if ( taster==true ){ + if ( taster==false ){ digitalWrite(7, HIGH); // LED einschalten + Serial.println("Ausgeschaltet"); //Text senden } else { digitalWrite(7,LOW); // LED ausschalten - Serial.println("Ausgeschaltet"); //Text senden } } diff --git a/Vorträge/arduino/loesungen/a5_schleifen/a5_schleifen.ino b/Vorträge/arduino/loesungen/a5_schleifen/a5_schleifen.ino index 09d26dc..8795ed4 100644 --- a/Vorträge/arduino/loesungen/a5_schleifen/a5_schleifen.ino +++ b/Vorträge/arduino/loesungen/a5_schleifen/a5_schleifen.ino @@ -11,10 +11,10 @@ void setup(){ } void loop(){ bool taster=digitalRead(10); - if ( taster==true ){ + if ( taster==false ){ digitalWrite(7, HIGH); // LED einschalten + Serial.println("Ausgeschaltet"); //Text senden } else { digitalWrite(7,LOW); // LED ausschalten - Serial.println("Ausgeschaltet"); //Text senden } }