Introductie
Waar het eerste deel van het programmeerproject voornamelijk steunde op de vakken “Structuur I” en “Algoritmen en datastructuren I”, leunt dit deel van het programmeerproject eerder aan bij de cursus “Interpretatie I” waarin recent het programmeren van geïntegreerde systemen aan bod gekomen is. Deze bestaan uit op maat ontwikkelde hardware én software die samen één bepaalde taak optimaal uitvoeren: van het doorlopen van magnetron- of wasprogramma’s tot het controleren van loopbanden in fitnesscentra.
Dit deel van het programmeerproject beoogt het realiseren van een geïntegreerd systeem op maat van de opdracht. Een door middel van Scheme programmeerbare microcontroller enerzijds en een op de opdracht af te stemmen assortiment sensoren anderzijds vormen de hardware-componenten van dit systeem. Samen realiseren zij de brug tussen de ons omringende fysieke wereld en de abstracte wereld van het Scheme programma.
Een goede programmeerstijl, doordacht ontwerp en een verantwoorde keuze van datastructuren en algoritmen blijft ook voor dit deel van het project uitermate belangrijk. Meer nog, de inherent beperkte reken -en opslagcapaciteit van de microcontroller zet eventuele tekortkomingen alleen maar in de verf.
Individuele creativiteit bij het samenstellen van het systeem wordt aangemoedigd, waardoor deze opdracht een unieke kans biedt om de in het afgelopen jaar verworven vaardigheden op een ludieke manier in de praktijk toe te passen.
^ TOPIngeschreven studenten
Lijst van ingeschreven studenten
^ TOPProjectopdracht
De opdracht voor het tweede deel van het project wordt in week 29 bekendgemaakt tijdens de daar voorziene werkcolleges van het vak "Interpretatie I".
Opdracht academiejaar 2007-2008: "Realisatie van een virtueel huisdier in soft -en hardware" [PDF]
Bijhorende slides: [PDF]
Gerelateerde practica
In de practica van het vak “Interpretatie I” wordt kort de werking van enkele prototypische sensoren verduidelijkt, wat voor elektrische schakelingen deze met de microcontroller verbinden en welke Scheme-procedures sensorwaarden uitlezen.
Kennismaking met de hardware
Plaatsgevonden in week 23, relevante slides ter referentie:- Overzicht van de verstrekte hardware [PDF]
- LED gevoed door microcontroller [PDF]
- Installatie van software voor seriële communicatie [PDF]
- Een Scheme interpreter op de microcontroller[PDF]
- Oplossing oefening knipperende LED [SCM]
Invoer en uitvoer: implementatie van het spel Simon Says
Plaatsgevonden in week 29:
Een actuator in detail: de piëzo-zoemer
Plaatsgevonden in week 30:
Timing en analoge invoer: realisatie van een theremin
Het aansturen van een LCD scherm en schrijven naar file
^ TOP
Contactinformatie
Alhoewel bovenstaande technieken met het nodige doorzettingsvermogen makkelijk te veralgemenen zijn tot andere sensoren van hetzelfde type, is dit soort hardware gevoelig en kan het soms ook eigenwijs zijn. Aarzel daarom niet om bij langdurige problemen contact op te nemen met een van de assistenten: Coen De Roover, Christophe Scholliers of Yves Vandriessche. ^ TOP
Referenties
Introduction to Electronics
Armpit Scheme Interpreter
Datasheets
^ TOP
Gekende kinderziektes
- De ingebouwde length primitieve geeft incorrecte waarden terug. Dit probleem is eenvoudig op te lossen door zelf een recursieve functie te definiëren die de lengte van een lijst bepaalt.
-
Na het lambda-keyword moet een spatie volgen, zoniet kan onder andere een
(apply error: ())foutmelding bij applicatie van de anonieme procedure optreden. Volgende expressies demonstreren dit:
((lambda () (display "ok")))
((lambda() (display "niet ok"))) -
Dit geldt ook voor ander gebruik van haakjes, zoals bijvoorbeeld geneste functie applicaties:
(cdr(cdr (list 1 2 3))) ;; niet ok, blijft hangen
(cdr (cdr (list 1 2 3))) ;; ok
- Namen van variabelen mogen niet met cijfers beginnen.
Je bordje herprogrammeren
Als je bordje niet meer functioneert kan je in eerste instantie proberen om het zelf te herprogrammeren. Alles wat je hiervoor nodig hebt staat hieronder.
^ TOPStudentenfilmpjes
Deze sectie staan we met plezier af aan filmpjes en foto's van jullie ludieke creaties (die dan ook steeds welkom zijn).
- Simon Says - Laure Philips
[MPG]