Présentation du projet Néo
Le but de ce projet est de créer un robot mobile autonome pouvant se déplacer en évitant les obstacles. Il comprend la réalisation mécanique, électronique et informatique.
Les principaux points qui ont orientés cette réalisation :
- Rester simple avec des objectifs modestes 😉
- Minimiser les couts de réalisation
- Dans la mesure du possible faire une détection d’obstacle à distance. C’est toujours plus sympa d’éviter un obstacle plutôt que de taper dedans pour le contourner.
- Se servir de ce projet pour me remettre à l’électronique et à la programmation temps réelle (sujets étudiés il y a bien longtemps maintenant …)
Après une recherche sur le Web, mon choix pour le cœur du robot s’est porté sur un micro contrôleur du type PIF 18F de Microchip. Une opportunité sur eBay m’a fait acheter un PIC 18F4455 qui me semble un très bon compromis pour ce type de projet avec de multiples possibilités pour des extensions éventuelles ou de nouvelles versions de ce robot.
Pour la partie détection d’obstacle, deux choix sont possibles :
- Utilisation d’un capteur de distance basé sur de l’infra-rouge
- Utilisation d’un capteur basé sur des ultra-sons
J’ai retenu un module à ultra-son « URM37 Ultrasonic Sensor » qui intègre sur une même carte un émetteur et un récepteur. Il s’interface par une liaison série, donc facilement testable à partir d’un PC. Ce module peut être trouvé en Angleterre pour 12£ (chez http://www.droboticsonline.com par exemple). La documentation sur ce module est téléchargeable ici.
Il présente également l’avantage de pouvoir interfacer directement un servo de radio commande en générant les trains d’impulsions nécessaires au positionnement angulaire du servo en fonction des paramètres et commandes reçus sur la liaison série.
Si on installe le module sur le servo, on peut donc facilement analyser l’espace tout autour du robot pour détecter les obstacles et pouvoir se diriger vers une zone libre.
Histoire d’afficher des informations lors de la mise au point et en fonctionnement (distances, messages d’erreurs, …) un petit afficher LCD est ajouté. J’ai retenu un afficheur du type 2 lignes de 16 caractères. Cela ne permet pas d’afficher beaucoup d’informations mais reste une solution très économique (environ 5€ sur eBay). La documentation sur cet afficheur est téléchargeable ici.