Stå ensam vetenskap uppdrag direktorat (2 / 8 steg)
Steg 2: Programmet
Efter den första bilden har vi utvecklat ett programflöde för att definiera programmet funktioner skall genomföras. Programmet kommer att ge två funktion alternativ, testläge och körningsläge för teamet att välja. I testläge, kommer att systemet samla in data från varje sensor lagra dessa data till minne och upprepa. Det kommer att fortsätta denna process tills det är antingen avstängd eller RUN-läge. I RUN fungerar mode systemet i en tillståndsdator typ funktion. Varje flygetapp representeras som en stat inom programmet. Inom varje medlemsstat systemet samlar in uppgifterna som krävs enligt det system som tillsammans med den nödvändiga uppgifter för att nästa flyg steg. När nästa flygning Stadium upptäcks det att växla till den staten. Det fortsätter processen tills den sista etappen av flygningen har slutförts. När fordonet har landat fullbordar det det är tio minuters timer, efter av trådlöst överföra insamlade data och stänga av datorn. Detta program flödesdiagram som representerar detta illustreras här också.
Jag har bifogat koden för det slutliga systemet här tillsammans med de biblioteken. Vi ursprungligen gjorde programmet i Atmel Studio sex men jag dupliceras det och bytte det till Arduino's format eftersom jag vet att det finns en hel del arduino fans här. Om du använder en annan programmeringsgränssnitt kan du alltid växla det att fungera ganska enkelt. Koden använder en handfull bibliotek så så länge du kan porterar dem korrekt bör det vara ganska lätt att använda. Ett bibliotek skapades för nästan varje komponent så det håller huvudkoden mindre rörigt.
Programmet använder några funktioner för saker och initierar allt. Det har också en funktion bara för RBG LED att fastställa indikatorer. Slutligen finns det en separat funktion för RUN-läget. Systemet fungerar i en tillståndsdator som mode där den använder case-satser för att bestämma vilka steg det är i och avslutar i funktioner för varje medlemsstat. Staterna är bara heltal som definieras för högst upp i programmet så namnen kan användas i stället för siffror.