summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dokumentation/doc.pdfbin0 -> 264710 bytes
-rw-r--r--Dokumentation/doc.tex49
-rw-r--r--Dokumentation/resources/Display_Schema.PNGbin0 -> 39667 bytes
-rw-r--r--Dokumentation/resources/Pinlock_Schema.PNGbin0 -> 58013 bytes
-rw-r--r--Dokumentation/resources/Status_LED_Schema.PNGbin0 -> 7197 bytes
-rw-r--r--Dokumentation/resources/buttons.PNGbin0 -> 23746 bytes
-rw-r--r--Hardware/PinLock-rescue.lib35
-rw-r--r--Hardware/buttons.pro33
-rw-r--r--Hardware/display.pro33
-rw-r--r--Hardware/status.pro33
10 files changed, 183 insertions, 0 deletions
diff --git a/Dokumentation/doc.pdf b/Dokumentation/doc.pdf
new file mode 100644
index 0000000..43d82ac
--- /dev/null
+++ b/Dokumentation/doc.pdf
Binary files 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
--- /dev/null
+++ b/Dokumentation/resources/Display_Schema.PNG
Binary files differ
diff --git a/Dokumentation/resources/Pinlock_Schema.PNG b/Dokumentation/resources/Pinlock_Schema.PNG
new file mode 100644
index 0000000..f67c9e4
--- /dev/null
+++ b/Dokumentation/resources/Pinlock_Schema.PNG
Binary files differ
diff --git a/Dokumentation/resources/Status_LED_Schema.PNG b/Dokumentation/resources/Status_LED_Schema.PNG
new file mode 100644
index 0000000..7514842
--- /dev/null
+++ b/Dokumentation/resources/Status_LED_Schema.PNG
Binary files differ
diff --git a/Dokumentation/resources/buttons.PNG b/Dokumentation/resources/buttons.PNG
new file mode 100644
index 0000000..81d28c9
--- /dev/null
+++ b/Dokumentation/resources/buttons.PNG
Binary files 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]