Comment gérer un projet important ?

Démarrer un gros projet

Aucun des programmes présenté sur ce site n’a été écrit en une seule étape. Vous avez sous les yeux uniquement des versions finales mais les plus gros ont nécessité de nombreuses versions de travail où les fonctions ont été rajoutées au fur et à mesure.

Une fois que vous avez fait vos gammes en montant les mini-projets des starter-kit, vient le temps où vous aurez envie de vous attaquer à plus gros et d’écrire vos propres programmes.

Si vous ne savez pas comment vous y prendre, voici quelques suggestions :

  • réfléchir au nombre d’actions et contrôles dont vous aurez besoin et essayer de les traduire en nombre de moteurs, capteurs, servos…
  • faire un premier schéma des branchements, voir s’il faut vous procurer un shield ou des modules externes …
  • Commencer par écrire le programme et mettre en oeuvre une seule fonction (par exemple pour une grue, lever la charge et arrêt par un fin de course)
  • Ce programme de départ aura plusieurs versions au fur et à mesure de vos ajustements ; conserver les différentes versions et numérotez les. Ne jamais travailler sur un unique programme que l’on modifie sans arrêt.
  • Quand ça fonctionne bien, que l’écriture vous convient, ajouter  une deuxième fonction (par exemple tourner la grue) ; là aussi conservez les différentes versions au fur et à mesure de vos avancées
  • Ainsi de suite, rajoutez au fur et à mesure, une à une, les fonctions manquantes.

Conseils généraux :

  • Soyez sympa avec ceux qui vont relire le programme (à commencer par vous 🙂 ) en choisissant des noms de variables et de fonctions les plus clairs possibles
  • Utilisez abondamment les commentaires
  • Utilisez sans retenue les affichages de contrôle du moniteur série pour savoir ce que fait réellement votre programme (quelle fonction est appelée, les valeurs des variables, les états des capteurs…). Quand ils ne servent plus, commentez-les.
  • Si plus rien ne fonctionne, revenez à la version précédente que vous avez conservée
  • Regarder si des fonctions que vous avez codées différemment ne peuvent pas être finalement assurées par une fonction générique avec un ou deux paramètres en plus