Étape 7: logiciels
Vient maintenant une partie difficile et amusante et sans fin. Je n’ai pas le logiciel fait à ma satisfaction encore, mais voici quelques pointeurs (0x67, 0xE4, 0 x 20) :
- Classes C++ permet d’abstraire les moteurs et les capteurs (par exemple une fonction 'lecteur' qui prend un papillon et tournant paramètre)
- Lire la fiche technique sur le Mio beaucoup beaucoup de fois. Lisez-le (encore une fois puis une fois de plus)
- Utiliser les mathématiques sur si les déclarations et les machines d’État que ceci permet d’empêcher votre robot coincé dans un « État ». Résumer les choses : éviter les abordages, devrait figurer dans la direction prévue plutôt que d’écarter complètement.
- Garder les choses modulaire
- Choses séparées dans des fichiers séparés. Je suis actuellement à la marque de 13 fichier de ce robot. Il empêche le défilement infini.
- Écrire un planificateur pour garder les choses en cours d’exécution.
- Séparer la lecture réelle du capteur de votre algorithme de contrôle à savoir quoi faire avec elle.
- Vous ne devez plus qu’un 10hz mise à taux. Un servo met à jour chaque 15ms - 6 fois par seconde !
- Jeter l’IDE Arduino. Elle ne permet pas de gestion de fichier appropriée. Ici, je suis en utilisant UECIDE, mais je ne suis pas heureux avec elle. Idéalement j’aimerais utiliser Eclipse mais je n’arrivais à télécharger au Conseil d’administration.
- Utiliser un système de contrôle de version comme git ou svn. Il va vous résoudre une énorme quantité de questions si vous décidez d’annuler quelque chose.
La pièce la plus importante de conseils :
TOUT BON CODE COMMENCE SUR UN MORCEAU DE PAPIER
Gribouiller il vers le bas avec un stylo de bonne-ol sur papier bon-ol. Dessiner des graphiques de comment vous compter la requête. Dessin de diagrammes de flux de données. Conception des interactions entre les parties du code. Si vous devez le faire sur un ordinateur, utilisez un fichier de texte brut et le type de raisonnement et de l’API avant d’implémenter réellement quoi que ce soit.