Arduino Helipad för mini Quad Copter (7 / 8 steg)
Steg 7: Programvaran
Problemet verkar enkelt nog vid första anblicken. Helikoptern upptäcks, efter några sekunder får du tillstånd att landa, då du landar. När du börja titta på problemet närmare finns det mycket mer att göra. Behöver du logik så att helikoptern flyga in och ut ur upptäckt för korta stunder. Vad händer om du tar och bo upptäckta? Är det tillåtet? Vad som utlöser loggregistreringen att starta och stoppa? Listan fortsätter.
Många Arduino uppgifter är ganska enkel och kräver inte mycket tankearbete så jag började kodning. Jag fann snart mig själv intrasslad i en massa fula spaghetti if-satser och timers och jag förstod inte min egen kod nästa dag. Tydligen gjorde uppgiften kräver som tanken. Tillbaka till ritbordet. I det första försöket kom jag dock inse att problemet är ett ganska bra exempel på en ändlig tillståndsmaskin. Så jag drog ett diagram och försökte igen. Denna gång jag fick mycket bättre resultat!
Arduino koden är här: Helipad.ino