Browse Source

Doku Aufgeraumt

master
Lukas Reichwein 4 years ago
parent
commit
4d4f546939
  1. BIN
      Latex/main.pdf
  2. 92
      Latex/main.tex

BIN
Latex/main.pdf

92
Latex/main.tex

@ -19,7 +19,7 @@
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[12pt]{article}
\documentclass{article}
% Include the file specifying the document structure and custom commands
\input{structure.tex}
\usepackage{hyperref}
@ -42,7 +42,7 @@
\maketitle % Print the title
\tableofcontents % Inhaltsverzeichniss, Achtung zweimal Compilerien!
\newpage
%\newpage
%----------------------------------------------------------------------------------------
% INTRODUCTION
@ -346,13 +346,7 @@ Um eine höhere Variabilität und Wiederverwendbarkeit zu ermöglichen wurde die
\centering
%\caption{Interpretation der Aussteuerung}
\end{figure}
Von diesen Klassen ist die Steuerung diejenige, welche die die eigentliche Logik beinhaltet, jedoch benötigt man zur Verwendung der implementierten Steuerung zwei Motoren und einen Joystick. Um einen Motor zu erstellen reicht es den Höchsten und den Niedrigsten PWM-Wert anzugeben. Über das Attribut PWMValue lässt sich nach dem Aufruf der updateValues() Funktion der Steuerungsklasse der Aktuelle PWM-Wert jedes Motors einzeln abrufen. Beim instantiieren der Joystick-klasse müssen mehr Daten angegeben werden. Die ersten beiden Parameter legen die Pins fest an welchen die jeweilige Achse angeschlossen ist. Die nächsten zwei sind wieder der niedrige und Höchste Wert. Zum Schluss benötigt der Joystick noch einen Wert, der einen Abstand zum Mittelpunkt von der Aktivierung der Steuerung ausschließt das sogenannte spaceing. Es wird benötigt, da der Joystick selbst in der Mittelstellung werte sendet, die über bzw unter 0 liegen.
\newpage
\section{Arduino Libaries} %Lukas
\subsection{OneWire}
OneWire ist eine serielle Schnittstelle, die nur mit einer Datenleitung auskommt. Jedes angeschlossene Gerät hat eine eigene 64bit ROM Adresse, die man gezielt ansprechen kann. Alternativ, kann man Befehle an alle Geräte senden indem man den Skip ROM-Command (0xCC) benutzt. Anschließend kommt der eigentliche Befehl mit write(), der ausgeführt werden soll. Danach werden die Daten auf ein Scratchpad-Speicher geschrieben von wo sie per read() gelesen werden können.
Von diesen Klassen ist die Steuerung diejenige, welche die die eigentliche Logik beinhaltet, jedoch benötigt man zur Verwendung der implementierten Steuerung zwei Motoren und einen Joystick. Um einen Motor zu erstellen reicht es den Höchsten und den Niedrigsten PWM-Wert anzugeben. Über das Attribut PWMValue lässt sich nach dem Aufruf der updateValues() Funktion der Steuerungsklasse der Aktuelle PWM-Wert jedes Motors einzeln abrufen. Beim instantiieren der Joystick-klasse müssen mehr Daten angegeben werden. Die ersten beiden Parameter legen die Pins fest an welchen die jeweilige Achse angeschlossen ist. Die nächsten zwei sind wieder der niedrige und Höchste Wert. Zum Schluss benötigt der Joystick noch einen Wert, der einen Abstand zum Mittelpunkt von der Aktivierung der Steuerung ausschließt das sogenannte spaceing. Es wird benötigt, da der Joystick selbst in der Mittelstellung werte sendet, die über bzw unter 0 liegen.
\newpage
\section{Gedruckte Bauteile} %Yves
@ -450,7 +444,6 @@ Zunächst wird geprüft, ob der PWM-Wert "`pwmA"' negativ ist. Davon hängt die
\newline
Anschließend werden PWM-Wert und der Zustand des nicht-PWM-Pins entsprechend gesetzt.
\newpage
\begin{figure}[h]
\includegraphics[width=12cm]{MX1508.png}
\centering
@ -461,6 +454,9 @@ Anschließend werden PWM-Wert und der Zustand des nicht-PWM-Pins entsprechend ge
%Folgende beiden ließen sich auch durch subsections mittels sensoric als section realisieren, kommt aber auf die menge des textes an subsections sollten nicht über eine halbe seite lang sein.
\newpage
\section{Thermosensor} %Nick
\subsection{OneWire}
OneWire ist eine serielle Schnittstelle, die nur mit einer Datenleitung auskommt. Jedes angeschlossene Gerät hat eine eigene 64bit ROM Adresse, die man gezielt ansprechen kann. Alternativ, kann man Befehle an alle Geräte senden indem man den Skip ROM-Command (0xCC) benutzt. Anschließend kommt der eigentliche Befehl mit write(), der ausgeführt werden soll. Danach werden die Daten auf ein Scratchpad-Speicher geschrieben von wo sie per read() gelesen werden können.
\subsection{Sensor und dessen Integration}
Wie bereits erwähnt benutzen wir einen Dallas DS18b20 1-Wire Digital Thermometer, um die Motortemperatur zu messen. Der DS18b20 speichert die Temperatur als einen 9bit - 12bit Wert und kann Temperaturen im Bereich von -55°C bis 125°C messen. Für unsere Bedürfnisse reicht es wenn wir in 1-er Schritten messen. Der Sensor kommt aber auch mit kleineren Inkrementen zu recht. Der Sensor benötigt die OneWire-Library um angesprochen zu werden.\\
\begin{figure}[h]
\includegraphics[width=12cm]{ds18b20.jpg}
@ -587,82 +583,6 @@ Die measureDistance() Funktion, leitet die Messung ein. Sie gibt aus dem Trigger
Mit der Distanz die wir nun haben können wir den Roboter stoppen lassen, wenn er zu nah an einen Gegenstand ranfährt. Ihn aber komplett zu stoppen wäre unsinnig, da er sich überhaupt nicht mehr bewegen könnte. Also gucken wir nach den Motorgeschwindigkeiten und setzen diese nur auf 0 wenn sie mit einer Vorwärtsbewegung übereinstimmen. Somit kann sich unser Roboter immer noch auf der Stelle drehen oder rückwärts fahren um das Hindernis zu umgehen.
\newpage
%----------------------------------------------------------------------------------------
% Latex Beispeiele
%----------------------------------------------------------------------------------------
\section{Beispiele für Spezielle LaTeX Strukturen}
\begin{info} % Information block
benutze den Info block um wichtige informationen hervorzuheben.
\end{info}
%----------------------------------------------------------------------------------------
% Beispiel für Pseudo Code.
%----------------------------------------------------------------------------------------
\begin{center}
\begin{minipage}{0.5\linewidth} % Adjust the minipage width to accomodate for the length of algorithm lines
\begin{algorithm}[H]
\KwIn{$(a, b)$, two floating-point numbers} % Algorithm inputs
\KwResult{$(c, d)$, such that $a+b = c + d$} % Algorithm outputs/results
\medskip
\If{$\vert b\vert > \vert a\vert$}{
exchange $a$ and $b$ \;
}
$c \leftarrow a + b$ \;
$z \leftarrow c - a$ \;
$d \leftarrow b - z$ \;
{\bf return} $(c,d)$ \;
\caption{\texttt{FastTwoSum}} % Algorithm name
\label{alg:fastTwoSum} % optional label to refer to
\end{algorithm}
\end{minipage}
\end{center}
%-----------------------------------------------------------------------------------------
% Beispiel für Code Snippets.
%----------------------------------------------------------------------------------------
% File contents
\begin{file}[hello.py]
\begin{lstlisting}[language=Python]
#! /usr/bin/python
import sys
sys.stdout.write("Hello World!\n")
\end{lstlisting}
\end{file}
%----------------------------------------------------------------------------------------
% Example for Console Prints (can also be usefull for displaying Serial monitor)
%----------------------------------------------------------------------------------------
% Command-line "screenshot"
\begin{commandline}
\begin{verbatim}
$ chmod +x hello.py
$ ./hello.py
Hello World!S
\end{verbatim}
\end{commandline}
% Warning text, with a custom title
\begin{warn}[Notice:]
Warungen könnten auch nützlich sein, immerhin braucht der RF24 3.3V und nicht 5V
\end{warn}
%----------------------------------------------------------------------------------------
% Beispiel für ein Bild.
%----------------------------------------------------------------------------------------
\begin{figure}[h]
\includegraphics[width=8cm]{fish.png}
\centering
\end{figure}
%----------------------------------------------------------------------------------------
% BIBLIOGRAPHY
%----------------------------------------------------------------------------------------

Loading…
Cancel
Save