Si vous avez déjà travaillé avec une marque de microcontrôleur, vous serez certainement plus à l'aise avec la marque que vous connaissez déjà. Idem si dans votre entourage vous pouvez avoir du soutien, profitez-en. Sinon, trouver une carte de développement qui dispose des entrées-sorties dont vous avez besoin.
Dans la réflexion ci-après, le postulat est qu'il n'y a qu'un seul microcontrôleur. Il est possible d'utiliser plusieurs microcontrôleurs qui communiquent entre eux.
Ça dépend grandement de votre robot. Quels actionneurs connectez-vous ? Combien de capteurs vous faut-il ? Sont-ils analogiques ou numériques ? Avez vous des modules qui exigent des protocoles de communications particuliers ?
Vous n'aurez probablement pas fini totalement la conception de votre robot au moment de choisir votre microcontrôleur. Pire, vous souhaiterez peut-être réutiliser l'électronique d'une année sur l'autre…
Alors, vous n'avez pas vraiment d'autres choix que de faire un pari raisonnable. Prévoyez quelques capteurs / actionneurs supplémentaire, garder un protocole de communication en réserve, il pourra vous servir pour rajouter une seconde carte.
Ce qui suit n'est qu'une estimation grossière, assez minimaliste. Adaptez-la à vos besoins ou vous le regretterez ! 2 moteurs de propulsion à courant continu :
2 servomoteurs :
2 capteurs de distance :
1 port de communication :
Gardez 2 entrée analogique en réserve, 2 ou 4 IO généraliste et vous avez tout ce qu'il faut pour réaliser un robot qui ne marche pas !
Pourquoi ? Parce qu'avec ceci, votre robot n'avancera pas droit et ne saura pas où il est sur le terrain. Ayez bien défini votre base roulante avant de choisir votre microcontrôleur. Nous avons un article sur les bases roulantes ici.
Les microcontrôleurs d'entrée de gamme peuvent être limités en terme de puissance de calcul.
Ceci se ressentira d'autant plus :
Du côté de la mémoire, il faut distinguer la ROM qui contient votre programme et certaines valeurs fixes définies dans votre code, de la RAM qui contient vos variables.
Par exemple, si vous avez une grande liste de messages d'erreur, ceux-ci peuvent être stockés dans la ROM. Seuls quelques caractères à la fois, seront stockés en RAM, lors de l'émission du message d'erreur.
Côté RAM, Ce n'est pas une stratégie à états finis qui va vous créer des soucis. Par contre, méfiez vous si vous comptez utiliser de grands tableaux, notamment :
La programmation des microcontrôleurs se fait à l'aide de programmateurs. C'est un outil commun à une gamme de microcontrôleurs. Cet outil peut aussi servir de débogueur.
Cet outil est indispensable, au moins pour injecter un premier programme. Ce premier programme peut-être un bootloader qui permet au microcontrôleurs de se reprogrammer sans programmateur, avec des données reçues par une liaison série ou USB.
L'intérêt des cartes est qu'elle sont livrés prêtes à l'emploi, ne nécessitant pas de programmateur.