Vrije Universiteit Brussel


Software

Algemeen

Een groot deel van het project bestond erin de bestaande assembler en Visual Basic programma’s aan te passen zodat ook met grondsensoren gewerkt kan worden en ook het aantal IR en US sensoren gemakkelijk opgevoerd kan worden. De assembler-code voor de Master moet ervoor zorgen dat op het juiste moment de metingen door de sensormodules uitgevoerd worden en dat de overdracht van de gegevens naar de PC zonder problemen verloopt (flowshart Master). De assembler-code voor de Slaves heeft onder meer als functie de analoge signalen naar digitale signalen om te zetten en de, door de master gevraagde, signalen door te sturen (flow shart Slave).
Het Visual basic programma heeft als functie de gebruiker gemakkelijk te laten communiceren met de sensoren en het mogelijk te maken het programma eenvoudig te bedienen. Alvorens het programma van vorig jaar te bestuderen, werd een algemene inleiding tot Visual Basic gelezen (dit was nodig vermits geen van ons drie reeds met dat programma gewerkt had). Vervolgens werd het bestaande programma bekeken en aangepast aan de nieuwe noden. Een nadeel dat hierbij ondervonden werd is het feit dat er op onze computer geen visual basic aanwezig was en er telkens tussen gebouw K en gebouw Z gependeld moest worden. Bovendien was op geen enkele computer de help functie van Visual Basic ter beschikking.

Terug naar boven

Master

Flowchart

Main program

Interrupt

Module 1 and Groundmodule

Code

Terug naar boven

Slave with US

Flowchart

Mainloop

SSP Interrupt

TMR Interrupt

Code

Terug naar boven

Slave with Groundsensors

Flowchart

Mainloop

Interrupt

Code

Terug naar boven

Visual Basic

De code die in Visual Basic geschreven werd, heeft als hoofddoel het omzetten van de signalen die afkomstig zijn van de slaves naar afstanden.

Per meting van een sensor worden er twee signalen doorgestuurd. Van het eerste signaal worden de drie less significant bits behouden door het inkomende signaal samen met het getal zeven (in binaire waarde) door een AND poort te sturen. Van het tweede signaal worden de zeven less significant bits overgehouden door het samen met het getal 127 door een AND poort te sturen. Het eerste signal wordt dan vermenigvuldigd met 128 en bij het tweede opgeteld. Door deze bewerkingen te doen, wordt het oorspronkelijk signaal van maximum 10 bits gereconstrueerd.
De bekomen gegevens worden reeds in de interface weergegeven, maar moeten ook nog naar een afstand omgezet worden.
Voor de US sensoren is dit eenvoudig vermits het verband tussen het signaal en de afstand tot het gedetecteerde voorwerp gegeven wordt door de formule:

Afstand = TOF*c/2

Wat betreft de IR sensoren is de situaltie complexer. Om het verband tussen het signaal en de afstand te vinden, werd experimenteel voor verschillende afstanden de output opgemeten. Voor deze punten werd het verband tussen output en afstand als lineair benaderd. Dit kan in de code waargenomen worden.
Voor de grondsensoren dient er een waarde ingegeven te worden die ervoor zorgt dat op de interface de tekst white verschijnt indien de output van de grondsensor groter is dan die waarde en er black weergegeven wordt indien de output kleiner is.

De rest van de code dient om de signalen afkomstig van de slaves op te roepen, de resultaten in een file weg te schrijven en de bediening van de verschillende knoppen die op de interfase aanwezig zijn te regelen. De uitleg daarvan is als commentaar weergegeven in de code.

Program

Code

Terug naar boven

©2004 • Vrije Universiteit Brussel • Pleinlaan 2 • 1050 Elsene • Tel.: 02/629.21.11 • info@vub.ac.be