Je bouwt een pre-flight programma in vier delen: de piloot voert een missieplan in, het script meet vijf sensoren, loopt alle veiligheidschecks af en bepaalt een vliegmodus. Pas als alles klopt, stijgt de drone op. Daarna test je je eigen werk en schrijf je een testverslag.
Een vliegclub laat leden zelf met de drone vliegen. Dat gaat af en toe mis: iemand stijgt op
met een bijna lege accu, of geeft een afstand op waar de accu niet voor reikt. Jij schrijft het
programma dat daartussen gaat zitten. Het bestand heet safe_takeoff.py en bestaat
uit vier delen.
Het script vraagt de piloot om drie dingen en controleert die meteen:
yes gaat de vlucht door. Of de piloot nu yes, YES of Yes typt, maakt niet uit.Het script leest vijf sensoren uit: de batterij, de hoogte, de temperatuur, de sterkte van het
wifi-signaal en de vliegtijd die al op deze accu staat. Bij een slechte verbinding kan zo'n
uitlezing mislukken; de waarde is dan None in plaats van een getal. Daar moet je
script tegen kunnen.
Je wilt niet voor elke test een accu leegvliegen. Daarom bouw je een simulatiemodus: één constante bovenaan bepaalt of de waarden van de echte drone komen of uit testconstanten in je eigen bestand.
De club heeft deze regels opgeschreven. Ze staan er bewust in gewone taal β welke vergelijking daarbij hoort, bepaal jij.
| Check | De regel van de club |
|---|---|
| Meting | Is één van de vijf metingen mislukt, dan gaat de vlucht niet door. Een mislukte meting is geen 0 β het is helemaal geen waarde. |
| Batterij | Een batterij van 20% of minder is te weinig. Precies 20 mag dus niet meer vliegen. |
| Hoogte | De drone moet op de grond staan. Tot en met 5 cm rekenen we als "op de grond"; hoger betekent dat hij al hangt. |
| Temperatuur | Vanaf 60 Β°C is de drone te warm. Precies 60 is al te warm. |
| Wifi | Het signaal moet minstens 70 zijn. Daaronder is de verbinding te wankel. |
| Vliegtijd | Er mag niet meer dan 300 seconden op deze accu staan. Precies 300 mag nog net. |
| Warm Γ©n bijna leeg | Een drone van 45 Β°C of warmer die tegelijk 35% batterij of minder heeft, mag niet vliegen β ook niet als hij elke losse grens hierboven net haalt. |
Hoe voller de accu, hoe verder de drone mag. De batterijstand bepaalt de modus:
| Batterij | Modus | Maximale afstand |
|---|---|---|
| tot en met 35% | ECO | 100 cm |
| meer dan 35% tot en met 70% | NORMAL | 300 cm |
| meer dan 70% | FULL | 500 cm |
Vraagt de piloot een grotere afstand dan de modus toestaat, dan gaat de vlucht niet door. Daarna
print het script een checklist met een β of β per check, en pas dΓ‘n
stijgt de drone op, vliegt hij de gevraagde afstand vooruit, landt en sluit de verbinding.
Maak een bestand project_plan.md met je planning. Beschrijf:
Dit bestand lever je in samen met je script. In het tabblad Ontwerpen komt er nog een onderdeel bij.
Vul waarden in en zie welke check als eerste hoort te stoppen. Gebruik dit om je eigen uitvoer mee te vergelijken β hier staat geen Python, alleen het gedrag dat je script moet vertonen.