Étape 7: Le logiciel
Le problème semble assez simple à première vue. Le hachoir est détecté, après que quelques secondes vous obtenez la permission d’atterrir, puis vous atterrissez. Lorsque vous démarrez regardant de plus près le problème il y a beaucoup plus que cela. Vous devez ajouter une logique pour permettre à l’hélicoptère de voler dans et hors de la détection pour brefs instants. Que se passe-t-il si vous décoller et rester détecté ? Si cela est permis ? Ce qui déclenche le chronomètre pour démarrer et arrêter ? La liste est longue.
Nombreuses tâches Arduino sont assez simples et ne nécessitent pas beaucoup de pensée alors j’ai commencé à coder. Je me retrouvai bientôt empêtré dans un tas d’instructions if spaghetti laid et minuteries et je ne comprenais pas mon propre code le lendemain. Apparemment, la tâche nécessitait la pensée de som. Retour à la planche à dessin. Dans la première tentative, je suis venu à réaliser, cependant, que le problème est un très bon exemple d’une machine à états finis. Donc j’appelle sur un diagramme et réessayé. Cette fois j’ai obtenu de bien meilleurs résultats !
Le code de l’arduino est ici : Helipad.ino