aboutsummaryrefslogtreecommitdiff
path: root/software/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'software/readme.md')
-rw-r--r--software/readme.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/software/readme.md b/software/readme.md
new file mode 100644
index 0000000..dbe77d2
--- /dev/null
+++ b/software/readme.md
@@ -0,0 +1,47 @@
+# software readme
+
+onze ledcube is iets anders dan de gemiddelde ledcube. onze leds zijn
+aangesloten als een 8x8 matrix waarbij alle anodes in rijen, en alle cathodes
+in kolommen zijn verbonden. hierdoor gebruikt onze ledcube maar acht
+weerstanden inplaats van zestien, en geen transistoren of mosfets. ook worden
+maar drie uitgangen van de arduino gebruikt voor de seriële ingang, seriële
+klok, en de latch klok van het shiftregister.
+
+de software is als gevolg hierdoor ook anders ingericht. de atmega328p heeft
+ingebouwde pwm timers, die je zou kunnen gebruiken om snel door de vier lagen
+van de ledcube heen te schakelen. omdat deze timers los van je code draaien kun
+je de ingebouwde `delay()` gewoon gebruiken om de animaties makkelijker te
+implementeren, maar dit werkt alleen wanneer je transistoren gebruikt en ze
+direct op pwm uitgangen aansluit.
+
+daarom gebruikt onze software geen `delay()` of andere 'blokkerende' functies,
+maar timers. dit zorgt ervoor dat de ingebouwde `loop()` functie van de arduino
+vaak genoeg draait om het te laten lijken alsof alle led's van de ledcube
+tegelijkertijd aan zijn.
+
+het project is opgesplitst in losse bestanden om overzichtelijkheid te
+behouden. alle documentatie bevindt zich in de header (.h) bestanden, is in het
+engels, en is in doxygen formaat. hier is een beknopte beschrijving van de
+bestanden:
+
+```
+.
+├── animation.h --
+├── animation.ino helpfuncties voor animaties
+├── consts.h algemene constantes
+├── effects.h bevat ook opties voor de diavoorstelling van animaties
+├── effects.ino de animaties die weergeven worden
+├── readme.md dit bestand
+├── scan.h --
+├── scan.ino functies omtrent het schakelen van de rijen
+├── shift.h --
+├── shift.ino functies die het shiftregister besturen
+├── software.h --
+├── software.ino hoofdbestand/ingangspunt
+├── util.h --
+└── util.ino gereedschapsfuncties
+```
+
+ik (loek) heb de software voor het laatst op vrijdag getest, dus ik weet niet
+zeker of mijn code voor de animaties helemaal werkt, maar ik ga deze maandag
+testen en bijwerken. dit is dus nog geen afgewerkte code.