Parallax qui produit les Basic Stamp , microcontroleurs appréciés des roboticiens amateurs , a lancé en 2006 le Propeller , un nouveau microcontroleur plus rapide, plus puissant ,et surtout muni de 8 coeurs (les "cogs") qui fonctionnent en paralléle et partagent une zone mémoire commune: on peut gérer plusieures taches en paralléle (une par cog) et partager les données, sans avoir a utiliser d'interruptions: la programmation en est trés simplifiée et les temps de développement réduits.. Ce microcontroleur peut être programmé soit avec le langage interprété "Spin" qui ressemble assez au C# , soit en Assembleur ou en C si on recherche plus de vitesse.Il dispose aussi d'un Prop_Basic compilé trés rapide.
Sur le site de Parallax une banque d'objets vous fournira presque toutes les fonctions dont vous avez besoin pour programmer votre robot sans peine.
Tentant de l'essayer ?
Mais la nouveauté a son prix:
- peu d'utilisateurs en France (début 2008)
- quelques importateurs en France (Selectronic, LCie)
- la programmation en langage Spin est un peu plus complexe que celle en Basic des Stamp , il faut surtout s'habituer à penser "programmes paralléles" .
Aprés un temps d'adaptation assez court , on peut maitriser l'essentiel des fonctions du langage Spin.
En fait, comme d'habitude les difficultés essentielles sont rencontrées pour interfacer des périphériques.
Il faut noter que le Propeller fonctionne sous 3,3 volts (et non 5 volts comme les Stamp) ;il faut donc se méfier de tensions excessives sur les entrées qui pourraient abimer le processeur : selon les conseils issus des forums nous avons utilisé des résistances de 4.7 K montées en série et ça semble fonctionner dans la pluspart des cas.
Pour les périphériques qui demandent de la puissance il vaut mieux les connecter sur une alimentation indépendante , d'autant plus qu'ils fonctionnent souvent en 5 volts et en plus ça évite les interférences dues aux démarrages des moteurs.
D'autre part le seuil entre valeurs haute/basse sur les pins du processeur est vers 1.65 volts (2.4 volts pour le Basic Stamp).
Qu'avons nous réussi à "connecter" ?
(Si vous avez a connecter un périphérique ,cherchez dans la banque d'OJETS sur le site de Parallax vous trouverez presque toujours que quelqu'un y a déposé les fonctions qu'il vous faut ! )
- sur les sorties série : les objets half et fullduplex disponibles dans les bibliothéques de fonctions ainsi que les équivalents des fonctions SERIN et SEROUT des Stamp (voir les fonctions proposées par Martin Hebel) permettent d'établir des liaisons série assez facilement. Ces liaisons série permettent de commander le robot soit par liason radio avec un PC externe soit par liaison cablée avec un PC embarqué. Dans ce dernier cas le PC embarqué peut communiquer avec un PC de bureau par liaison Wifi .
- liaisons radio avec un PC:
- elles utilisent ces liaisons série (coté PC il faut un module émetteur USB-Série)
- il faut en général brancher ces modules sur une alimentation 5 volts continu
- nous utilisons des modules EasyRadio (ER400TR) avec des résistances de 22 K sur les liaisons IN et OUT , d'autres modules sont utilisables : Radiometrix ..
- Note concernant le programme de commandes que nous utilisont parfois à partir du PC
écrit en C# ou en language Processing
- il envoie un code d'identification du message , suivi d'un code de commande puis de 3 arguments (qui peuvent être vides)
- une des options de ce programme est le pilotage des déplacements de robots par Joystick
- Commandes de servomoteurs:
- les servomoteurs a rotation continue (Futaba modifiés) peuvent être commandés facilement avec les fonctions émulant les PULSOUT des basic stamp . Pour la connection nous avons intercallé , une résistance de 4,7 K .
- Capteurs infrarouges de distance (Sharp):
- c'est la connection qui nous a créé le plus de soucis car les Sharp sont interrogés en synchronisation avec un signal d'horloge : nous avons adapté une fonction équivalente de SHIFTIN ( en nous inspirant de l'émulation des fonctions Basic stamp : merci a Martin Hebel ) . La difficulté est de trouver les bons temps d'attente entre les commandes : pour cela l'enregistrement paralléle des voies horloge et signal à l'oscilloscope donne de précieuses indications.
- pour le montage lui même nous avons intercallé une diode de protection N4148 sur la ligne d'horloge et une résistance de 4,7 K sur la ligne de données .
- Commandes de moteurs a courant continu:
- en utilisant une puce SN754410 de Texas Instruments (voir le site d'Acroname) qui comporte un double pont H , Il est trés facile de commander 2 moteurs a courant continu (jusqu'a 1 Ampére par moteur).On trouve des Objets qui contiennent tous les programmes nécessaires sur le site de Parallax.
- Caméra embarquée: 3 solutions possibles
- mini caméra renvoyant simplement des images par radio ou wifi vers un PC : c'est la solution que nous utilisons actuellement sur EXPLORER
convient pour des robots d'exploration : on suit a distance les déplacements du robot (ce robot peut être commandé par joystick)
- webcam reliée a un ordinateur embarqué : c'est la solution que nous adaptons sur CATBUSTER
un programme gratuit fourni sur le site de ROBOREALM permet d'analyser les images par exemple pour suivre une ligne ou un objet de couleur
- une mini caméra embarquée et un programme d'analyse d'image sur PC de bureau . Une liaison radio fait le lien avec le robot.