Stap 2: Het programma
Na de eerste afbeelding hebben we de programmeerstroom van een om te definiëren van de functies van het programma ten uitvoer moeten worden gelegd. Het programma biedt twee opties voor de functie TEST-modus en RUN modus, voor het team te selecteren. In de wijze van de TEST, zal het systeem gegevens van elke sensor verzamelen, die gegevens naar het geheugen opslaan en herhaal. Zij zullen dit proces voortzetten totdat het wordt uitgeschakeld of wordt overgeschakeld naar de RUN modus. In de RUN werkt modus het systeem in een statusmachine type functie. Elke fase van de vlucht wordt weergegeven als een staat binnen het programma. Binnen elke staat zal het systeem de noodzakelijke gegevens verzamelen, zoals gedefinieerd door de systeemvereisten samen met de nodige gegevens voor het bepalen van de volgende fase van de vlucht. Zodra de volgende fase van de vlucht wordt gedetecteerd dat zal het overschakelen naar die lidstaat. Zij zal dit proces blijven totdat de laatste fase van de vlucht is afgerond. Zodra het voertuig is geland voltooit het zijn tien minuten timer, naar aanleiding van draadloos toezending van de verzamelde gegevens en afsluiten van het systeem. Dit programma flow diagram vertegenwoordigt dit is hier ook geïllustreerd.
Ik heb de code voor het definitieve stelsel hier samen met de bibliotheken gebruikt bijgevoegd. Oorspronkelijk deden we het programma in Atmel Studio zes maar ik het gedupliceerd en het overgeschakeld naar de Arduino formaat, omdat ik weet dat er zijn een heleboel arduino fans hier. Als u een ander programmeer-interface kunt u altijd schakelen om te werken vrij gemakkelijk. Dus zolang u die correct poort kunt het moet vrij makkelijk te gebruiken, gebruikt de code een handvol bibliotheken. Een bibliotheek is gemaakt voor bijna elk onderdeel, dus het houdt de belangrijkste code die minder rommelig.
Het programma maakt gebruik van een aantal functies voor het opzetten van dingen en initialiseren van alles. Het heeft ook een functie alleen voor de RBG LED indicatoren instellen. Tenslotte is er een aparte functie voor de RUN-modus. Het systeem functioneert in een statusmachine als mode waar het case-statements gebruikt om te bepalen welk stadium is en voltooit binnen functies voor elke staat. De Staten zijn alleen gehele getallen die zijn gedefinieerd in volgorde op de top van het programma, zodat de namen kunnen worden gebruikt in plaats van nummers.