26.07.2013 Views

Hovedrapport - Høgskulen i Sogn og Fjordane

Hovedrapport - Høgskulen i Sogn og Fjordane

Hovedrapport - Høgskulen i Sogn og Fjordane

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Panteautomaten APPS - HO2-300 Hovedprosjekt<br />

C++<br />

Pr<strong>og</strong>rammet for kameragjenkjenning i automaten er skrevet i C++ <strong>og</strong> er et objektorientert<br />

pr<strong>og</strong>rammeringsspråk. Det ble valgt å bruke C++ siden OpenCV har best støtte for dette språket.<br />

Arduino IDE <strong>og</strong> Wiring<br />

Mikrokontrolleren på Arduino Mega 2560 kan pr<strong>og</strong>rammeres med Arduino IDE. Arduino IDE’en<br />

er skrevet i Java, <strong>og</strong> er en avart av pr<strong>og</strong>rameringsspråket Processing sin IDE.<br />

Pr<strong>og</strong>rammeringsspråket som benyttes av brukeren i Arduino IDE er basert på Wiring som kan<br />

ligne på en forenklet versjon av C/C++ [20] .<br />

Kode som blir skrevet i Arduino IDE må inneholde funksjonene setup() <strong>og</strong> loop(). Setup kjøres en<br />

gang ved oppstart, loop kjøres om <strong>og</strong> om igjen helt til en skrur av eller restarter enheten.<br />

Selve opplastingen av pr<strong>og</strong>ram skjer ved hjelp av avrdude [21] . Når pr<strong>og</strong>rammet lastes opp legges<br />

det blandt annet til en main() funksjon for å gjøre det til et fullverdig C++ pr<strong>og</strong>ram slik at det kan<br />

kompileres ved hjelp av GNU toolchain [22,23] <strong>og</strong> AVR libc [24] .<br />

5.4 Algoritmer<br />

Før en går løs på pr<strong>og</strong>rammering, er det i de fleste tilfeller lurt å begynne med en algoritme for å<br />

danne seg et bilde om hvordan pr<strong>og</strong>rammet burde være. En algoritme for et pr<strong>og</strong>ram er en<br />

skjematisk fremstilling av pr<strong>og</strong>rammet. En algoritme kan formuleres med få prosesser eller i<br />

dypere detalj der flere tilstander i pr<strong>og</strong>rammet er dokumentert. Det vil si at i en enkel algoritme<br />

belyses prinsippet kort <strong>og</strong> konsist, mens i en mer detaljert algoritme kommer mer, eller hele<br />

gangen i pr<strong>og</strong>rammet frem. En algoritme i seg selv inneholder ingen kode, men en beskrivelse av<br />

pr<strong>og</strong>rammet i form av prosesser som kjøres etter at visse betingelser har inntruffet.<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!