From 61fa36378e85d071d9b6eea658560650bf97e778 Mon Sep 17 00:00:00 2001 From: AlsensioMME <56403466+AlsensioMME@users.noreply.github.com> Date: Sat, 20 Mar 2021 11:47:54 +0100 Subject: missing descriptions of other components --- Dokumentation/doc.tex | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'Dokumentation/doc.tex') diff --git a/Dokumentation/doc.tex b/Dokumentation/doc.tex index db54bba..c141d48 100644 --- a/Dokumentation/doc.tex +++ b/Dokumentation/doc.tex @@ -6,6 +6,10 @@ \usepackage[table,dvipsnames]{xcolor} \usepackage{array} \usepackage{makecell} +\usepackage{refstyle} +\usepackage{float} + + \definecolor{tablehead}{hsb}{0,0,0.9} \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} @@ -23,14 +27,59 @@ \newpage \section{Idee} +Für unser Mikrocontroller-Projekt haben wir uns für ein vierstelliges Zahlenschloss entschieden. +Dieses soll nach Eingabe eines validen Codes in einen "Geöffnet"-Zustand wechselt und +im "Geschlossen"-Zustand verweilt, wenn der Code inkorrekt war. +Zudem soll dem Benutzer die Möglichkeit gegeben werden einen persönlich gewählten +Code einzuspeichern und den alten zu Überschreiben. \section{Hardware} \subsection{Platinenaufbau} +Unser Mikrocontroller liegt auf einer 100mmx80mm großen Platine welche über zwei Kupferlagen verfügt. +Als Hauptbaustein wird der ATmega16A benutzt. Des weiteren befinden sich auf unserer Platine neben üblichen +Grundbausteinen eine Ausgabe- sowie eine "externe" Eingabe-Einheit, als auch Status-LEDs. +\begin{figure}[H] +\centering +\includegraphics[width=15cm,height=10cm,keepaspectratio]{resources/Pinlock_Schema} +\caption{Schaltbild Hauptschaltung} +\end{figure} + +\newpage \subsection{Mikrocontroller ATmega16A} +Der ATmega16A ist ein 8-Bit CMOS Controller, welcher bei einer Spannung von 2,7- 5V arbeitet. +In unserem Projekt nutzen wir nicht alle Features des Bausteins. +Um unsere Schaltung zu realisieren, brauchen wir die GPIO, die eingebaute AVR-CPU und das EEPROM. + +Mit der GPIO und der AVR-CPU ist es uns möglich die Inputs aus der Eingabematrix in Sinnvolle werte umzurechnen +und in den Registern der CPU einzuspeichern. Diese werden nun auch an die Display-Units weitergegeben, welche diese anzeigen +können um dem Benutzer visuell darzustellen, welche Zahlen eingegeben wurden, ob richtige Eingabe erfolgt ist oder ob ein Code invalide war. +Auch der Zustand (geöffnet/geschlossen) wird in den Registern des ATmega's gespeichert und auch an die Status-LEDs gesendet. + +Im EEPROM wird der valide Code abgespeichert, sodass dieser auch nach einen Neustart zur Verfügung steht und nicht gelöscht wird. +So ist es dem Nutzer möglich den Code bis zu 100,000 zu ändern. \subsection{Sonstige Komponenten} +\begin{figure}[H] +\centering +\includegraphics[width=15cm,height=10cm,keepaspectratio]{resources/buttons} +\caption{Schaltbild Eingabecontroller} +\end{figure} + +\begin{figure}[H] +\centering +\includegraphics[width=15cm,height=10cm,keepaspectratio]{resources/Display_Schema} +\caption{Schaltbild Display-Units} +\end{figure} + +\begin{figure}[H] +\centering +\includegraphics[width=15cm,height=10cm,keepaspectratio]{resources/Status_LED_Schema} +\caption{Schaltbild Status-LEDs} +\end{figure} + + \section{Software} -- cgit v1.2.1