Hovedrapport - Høgskulen i Sogn og Fjordane
Hovedrapport - Høgskulen i Sogn og Fjordane
Hovedrapport - Høgskulen i Sogn og Fjordane
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