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.pdf | Bin 0 -> 264710 bytes Dokumentation/doc.tex | 49 ++++++++++++++++++++++++++ Dokumentation/resources/Display_Schema.PNG | Bin 0 -> 39667 bytes Dokumentation/resources/Pinlock_Schema.PNG | Bin 0 -> 58013 bytes Dokumentation/resources/Status_LED_Schema.PNG | Bin 0 -> 7197 bytes Dokumentation/resources/buttons.PNG | Bin 0 -> 23746 bytes Hardware/PinLock-rescue.lib | 35 ++++++++++++++++++ Hardware/buttons.pro | 33 +++++++++++++++++ Hardware/display.pro | 33 +++++++++++++++++ Hardware/status.pro | 33 +++++++++++++++++ 10 files changed, 183 insertions(+) create mode 100644 Dokumentation/doc.pdf create mode 100644 Dokumentation/resources/Display_Schema.PNG create mode 100644 Dokumentation/resources/Pinlock_Schema.PNG create mode 100644 Dokumentation/resources/Status_LED_Schema.PNG create mode 100644 Dokumentation/resources/buttons.PNG create mode 100644 Hardware/buttons.pro create mode 100644 Hardware/display.pro create mode 100644 Hardware/status.pro diff --git a/Dokumentation/doc.pdf b/Dokumentation/doc.pdf new file mode 100644 index 0000000..43d82ac Binary files /dev/null and b/Dokumentation/doc.pdf differ 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} diff --git a/Dokumentation/resources/Display_Schema.PNG b/Dokumentation/resources/Display_Schema.PNG new file mode 100644 index 0000000..e7db61c Binary files /dev/null and b/Dokumentation/resources/Display_Schema.PNG differ diff --git a/Dokumentation/resources/Pinlock_Schema.PNG b/Dokumentation/resources/Pinlock_Schema.PNG new file mode 100644 index 0000000..f67c9e4 Binary files /dev/null and b/Dokumentation/resources/Pinlock_Schema.PNG differ diff --git a/Dokumentation/resources/Status_LED_Schema.PNG b/Dokumentation/resources/Status_LED_Schema.PNG new file mode 100644 index 0000000..7514842 Binary files /dev/null and b/Dokumentation/resources/Status_LED_Schema.PNG differ diff --git a/Dokumentation/resources/buttons.PNG b/Dokumentation/resources/buttons.PNG new file mode 100644 index 0000000..81d28c9 Binary files /dev/null and b/Dokumentation/resources/buttons.PNG differ diff --git a/Hardware/PinLock-rescue.lib b/Hardware/PinLock-rescue.lib index 62fe8c2..45c12c5 100644 --- a/Hardware/PinLock-rescue.lib +++ b/Hardware/PinLock-rescue.lib @@ -146,4 +146,39 @@ X F 9 100 0 200 D 50 50 0 0 U ENDDRAW ENDDEF # +# USB_B_Micro-Connector +# +DEF USB_B_Micro-Connector J 0 40 Y Y 1 F N +F0 "J" -200 450 50 H V L CNN +F1 "USB_B_Micro-Connector" -200 350 50 H V L CNN +F2 "" 150 -50 50 H I C CNN +F3 "" 150 -50 50 H I C CNN +$FPLIST + USB* +$ENDFPLIST +DRAW +C -150 85 25 0 1 10 F +C -25 135 15 0 1 10 F +S -200 -300 200 300 0 1 10 f +S -5 -300 5 -270 0 1 0 N +S 10 50 -20 20 0 1 10 F +S 200 -205 170 -195 0 1 0 N +S 200 -105 170 -95 0 1 0 N +S 200 -5 170 5 0 1 0 N +S 200 195 170 205 0 1 0 N +P 2 0 1 10 -75 85 25 85 N +P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N +P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N +P 4 0 1 10 25 110 25 60 75 85 25 110 F +P 5 0 1 0 -170 220 -70 220 -80 190 -160 190 -170 220 F +P 9 0 1 0 -185 230 -185 220 -175 190 -175 180 -65 180 -65 190 -55 220 -55 230 -185 230 N +X VBUS 1 300 200 100 L 50 50 1 1 w +X D- 2 300 -100 100 L 50 50 1 1 P +X D+ 3 300 0 100 L 50 50 1 1 P +X ID 4 300 -200 100 L 50 50 1 1 P +X GND 5 0 -400 100 U 50 50 1 1 w +X Shield 6 -100 -400 100 U 50 50 1 1 P +ENDDRAW +ENDDEF +# #End Library diff --git a/Hardware/buttons.pro b/Hardware/buttons.pro new file mode 100644 index 0000000..152769c --- /dev/null +++ b/Hardware/buttons.pro @@ -0,0 +1,33 @@ +update=22/05/2015 07:44:53 +version=1 +last_client=kicad +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] diff --git a/Hardware/display.pro b/Hardware/display.pro new file mode 100644 index 0000000..152769c --- /dev/null +++ b/Hardware/display.pro @@ -0,0 +1,33 @@ +update=22/05/2015 07:44:53 +version=1 +last_client=kicad +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] diff --git a/Hardware/status.pro b/Hardware/status.pro new file mode 100644 index 0000000..152769c --- /dev/null +++ b/Hardware/status.pro @@ -0,0 +1,33 @@ +update=22/05/2015 07:44:53 +version=1 +last_client=kicad +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] -- cgit v1.2.1