aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/blue.pngbin0 -> 1193996 bytes
-rw-r--r--docs/ontwerp.pdfbin0 -> 1729026 bytes
-rw-r--r--docs/ontwerp.tex174
-rw-r--r--docs/pcb.pdfbin0 -> 96148 bytes
-rw-r--r--docs/red.pngbin0 -> 1086793 bytes
-rw-r--r--docs/schema.pdfbin0 -> 70765 bytes
-rw-r--r--hardware/ledcube.pro12
-rw-r--r--hardware/wiring.blendbin1346600 -> 1374120 bytes
-rw-r--r--hardware/wiring.blend1bin1346600 -> 1374120 bytes
-rw-r--r--software/software.ino8
10 files changed, 189 insertions, 5 deletions
diff --git a/docs/blue.png b/docs/blue.png
new file mode 100644
index 0000000..c44a574
--- /dev/null
+++ b/docs/blue.png
Binary files differ
diff --git a/docs/ontwerp.pdf b/docs/ontwerp.pdf
new file mode 100644
index 0000000..c9bc73b
--- /dev/null
+++ b/docs/ontwerp.pdf
Binary files differ
diff --git a/docs/ontwerp.tex b/docs/ontwerp.tex
new file mode 100644
index 0000000..f27c646
--- /dev/null
+++ b/docs/ontwerp.tex
@@ -0,0 +1,174 @@
+\documentclass[12pt, a4paper, dutch]{article}
+
+\usepackage[margin=1in]{geometry}
+\usepackage{circuitikz}
+\usepackage{float}
+\usepackage{babel}
+\usepackage{siunitx}
+\usepackage{amsmath}
+\usepackage{scalerel}
+\usepackage{csquotes}
+\usepackage{parskip}
+\usepackage{unicode-math}
+\usepackage{fontspec}
+\usepackage{tabularx}
+\usepackage{booktabs}
+\usepackage{graphicx}
+\usepackage{pgfplots}
+\usepackage{color}
+\usepackage{hyperref}
+
+\setmainfont{TeX Gyre Schola}
+\setmathfont{TeX Gyre Schola Math}
+\setmonofont{JetBrainsMono Nerd Font}
+\sisetup{
+ group-separator = {.},
+ output-decimal-marker = {,}
+}
+
+\pgfplotsset{compat=newest}
+
+\usetikzlibrary{calc}
+\usetikzlibrary{shapes.geometric}
+\usetikzlibrary{arrows.meta,arrows}
+\usetikzlibrary{positioning}
+\tikzset{
+ initial/.style={circle, fill},
+ final/.style={solid, double=white, circle, fill, thick, draw},
+ decision/.style={diamond, black, draw},
+ action/.style={rectangle, draw, rounded corners, align=center},
+ arrow/.style={draw, -{Latex[length=3mm]}, thick, rounded corners}
+}
+
+\bigskipamount=7mm
+\medskipamount=4mm
+\parindent=0mm
+
+\begin{document}
+
+\begin{center}
+\textbf{Ontwerp} \hspace{2mm} project ledcube \hfill \textbf{Loek Le Blansch}
+(2180996)\\
+\today \hfill \textbf{Sybren van den Heuvel} (21.....)
+\end{center}
+
+\medskip
+
+Dit document maakt gebruik van hyperlinks, dus je kunt klikken op de blokken met
+\emph{benadrukte tekst} om naar de definitie van dat blok te gaan.
+
+\section{Software ontwerp}
+
+\subsection*{Overzicht}\label{overzicht}
+\begin{center}
+\begin{tikzpicture}[node distance=1.5cm]
+\node[initial] (initial) at (0,0) {};
+\node[action, below of = initial] (setup) {\hyperref[init]{\emph{Initialisatie}}};
+\node[decision, below of = setup] (comb) {};
+\node[action, below of = comb] (loop) {\hyperref[loop]{\emph{Loop}}};
+
+\draw [arrow] (initial) -- (setup);
+\draw [arrow] (setup) -- (comb);
+\draw [arrow] (comb) -- (loop);
+\draw [arrow] (loop) -- ++(0, -1) -- ++(-2, 0) |- (comb);
+
+\end{tikzpicture}
+\end{center}
+
+
+\subsection*{Initialisatie}\label{init}
+\begin{center}
+\begin{tikzpicture}[node distance=1.5cm]
+\node[initial] (initial) at (0,0) {};
+
+\node[action, below = 1cm of initial] (mkvars) {Maak globale variabelen voor\\de
+ huidige staat van de led's};
+
+\node[action, below = 1cm of mkvars] (pinmode) {Stel pin 2, 3, en 4 in als
+ output\\voor het shiftregister};
+
+\node[action, below = 1cm of pinmode] (frametimecalc) {Bereken hoe lang een beeld
+ duurt\\in milliseconden afhankelijk van\\de verversingssnelheid};
+
+\node[final, below of = frametimecalc] (final) {};
+
+\draw [arrow] (initial) -- (mkvars);
+\draw [arrow] (mkvars) -- (pinmode);
+\draw [arrow] (pinmode) -- (frametimecalc);
+\draw [arrow] (frametimecalc) -- (final);
+
+\end{tikzpicture}
+\end{center}
+
+
+\subsection*{Loop}\label{loop}
+\begin{center}
+\begin{tikzpicture}[node distance=2cm]
+\node[initial] (initial) at (0,0) {};
+
+\node[action, below of = initial] (gettime)
+ {Sla op hoe lang de arduino\\aan is in milliseconden};
+
+\node[action, below of = gettime] (calcfxindex)
+ {Bereken welk effect afgespeeld moet worden};
+
+\node[action, below of = calcfxindex] (calcfxtime)
+ {Bereken hoe lang het huidige effect al bezig is};
+
+\node[action, below of = calcfxtime] (fxexec)
+ {Voer de functie van het huidige effect uit};
+
+\node[action, below of = fxexec] (updateregs)
+ {Update de status van de led's};
+
+\node[final, below of = updateregs] (final) {};
+
+\draw [arrow] (initial) -- (gettime);
+\draw [arrow] (gettime) -- (calcfxindex);
+\draw [arrow] (calcfxindex) -- (calcfxtime);
+\draw [arrow] (calcfxtime) -- (fxexec);
+\draw [arrow] (fxexec) -- (updateregs);
+\draw [arrow] (updateregs) -- (final);
+
+\end{tikzpicture}
+\end{center}
+
+\section{Hardware}
+
+\subsection{Schema}
+
+\begin{center}
+\includegraphics[
+ clip,
+ trim=21mm 83mm 22mm 13mm,
+ width=\textwidth
+]{./schema.pdf}
+\end{center}
+
+\subsection{PCB}
+\begin{center}
+\includegraphics[
+ clip,
+ trim=13mm 119mm 124mm 13mm,
+ width=\textwidth
+]{./pcb.pdf}
+\end{center}
+
+\subsection{Bedrading (3D)}
+
+Dit is een 3D-weergave van de bedrading van de led cube. In deze weergave zie je
+duidelijk dat de led cube bestaat uit een 8$\times$8-matrix die twee keer is
+dubbelgevouwd. Hier zijn de roze verbindingen de anode's van de led's, en de blauwe
+de cathode's.
+
+\begin{center}
+\includegraphics[
+ width=0.4\textwidth
+]{./red.png}
+\hspace{1cm}
+\includegraphics[
+ width=0.4\textwidth
+]{./blue.png}
+\end{center}
+
+\end{document}
diff --git a/docs/pcb.pdf b/docs/pcb.pdf
new file mode 100644
index 0000000..58a12e0
--- /dev/null
+++ b/docs/pcb.pdf
Binary files differ
diff --git a/docs/red.png b/docs/red.png
new file mode 100644
index 0000000..8717374
--- /dev/null
+++ b/docs/red.png
Binary files differ
diff --git a/docs/schema.pdf b/docs/schema.pdf
new file mode 100644
index 0000000..62e2a76
--- /dev/null
+++ b/docs/schema.pdf
Binary files differ
diff --git a/hardware/ledcube.pro b/hardware/ledcube.pro
index 152769c..d249c04 100644
--- a/hardware/ledcube.pro
+++ b/hardware/ledcube.pro
@@ -1,4 +1,4 @@
-update=22/05/2015 07:44:53
+update=Sun 21 Nov 2021 02:18:20 PM CET
version=1
last_client=kicad
[general]
@@ -31,3 +31,13 @@ NetIExt=net
version=1
LibDir=
[eeschema/libraries]
+[schematic_editor]
+version=1
+PageLayoutDescrFile=
+PlotDirectoryName=
+SubpartIdSeparator=0
+SubpartFirstId=65
+NetFmtName=
+SpiceAjustPassiveValues=0
+LabSize=50
+ERC_TestSimilarLabels=1
diff --git a/hardware/wiring.blend b/hardware/wiring.blend
index 8db0bba..9ca7cac 100644
--- a/hardware/wiring.blend
+++ b/hardware/wiring.blend
Binary files differ
diff --git a/hardware/wiring.blend1 b/hardware/wiring.blend1
index 3437fc3..9d00423 100644
--- a/hardware/wiring.blend1
+++ b/hardware/wiring.blend1
Binary files differ
diff --git a/software/software.ino b/software/software.ino
index 8e1e90e..8c454ac 100644
--- a/software/software.ino
+++ b/software/software.ino
@@ -9,7 +9,7 @@ void shift(unsigned char data) {
Serial.println(data, BIN);
#endif
- // pull down latch
+ // pull down latch register
digitalWrite(PINOUT_LCK, LOW);
for(int i = 0; i < 8; i++) {
@@ -22,7 +22,7 @@ void shift(unsigned char data) {
digitalWrite(PINOUT_SCK, LOW);
}
- // pull up latch
+ // pull up latch register
digitalWrite(PINOUT_LCK, HIGH);
}
@@ -49,8 +49,8 @@ void test_effect3(unsigned long relative_time, bool (*leds)[64]) {
}
-#define SLIDESHOW_SIZE (int) 3
-#define SLIDESHOW_DURATION (int) 5e3
+#define SLIDESHOW_SIZE ( (int) 3 )
+#define SLIDESHOW_DURATION ( (int) 5e3 )
// evil function pointer array
void ( * slideshow_effects [SLIDESHOW_SIZE] )( unsigned long relative_time, bool (*leds)[64] ) = {
test_effect1,