mardi 25 décembre 2012

Robot suiveur de balles OpenCV (Projet expérimental)

Le projet robot tourelle suiveuse de balles, est sans doutes le premier d'une longue série de petits projets à venir. En effet les possibilités offertes par la librairie OpenCV sont impressionnantes et "simples" à mettre en place. L'idée de ce premier projet à base d'OpenCV est de réussir à déplacer une webcam montée sur un châssis rotatif afin que celle ci fixe une balle et la centre au milieu de l'image. Le châssis est entièrement réalisé en légos et la caméra est une petite webcam générique maintenue en place sur une pièce légo par des visses. La motorisation est un kit power functions contenant deux petits moteurs, le bloc batterie et le récepteur infrarouge légo. La webcam est branchée directement à un PC. La tourelle quand à elle est branchée aussi à l'USB grâce à une interface "maison" USB vers signaux infrarouges légo. Côté commande de la tourelle il suffit d'envoyer des chaines de caractères (correspondant à la rotation moteur voulue) dans le bon périphérique usb.

dimanche 9 septembre 2012

Mini écran LCD pour serveur (linux) en USB

Ecran lcd arduino en usb Ecran lcd teensy2 Le mini écran pour serveur est un petit projet très simple mais potentiellement extrêmement utile. Lorsque vous travaillez dans l'informatique vous êtes souvent amenés a utiliser des scripts (perl, php, etc) divers et variés qui tournent et qui effectuent à votre place des tâches répétitives. Il est alors intéressant de pouvoir suivre l'évolution de ces scripts en temps réel pour savoir si ce dernier tourne toujours où il en est dans le traitement. La solution simple consiste a utiliser son moniteur mais avec le projet mini LCD en USB vous pourrez très simplement envoyer vos message de script directement sur un petit ecran LCD branché en USB. De ce fait vous pourrez même éteindre l'écran principal de votre machine tout en gardant un oeuil sur les processus en cours dans votre machine.

dimanche 22 juillet 2012

Interface télécommande RC en Joystick USB

L'idée de ce projet est de pouvoir adapter n'importe quelle télécommande de modélisme sur un ordinateur par le biais du port USB. Côté ordinateur, rien d'extraordinaire, on veut simplement obtenir un nouveau périphérique de type joystick. Dans mon projet j'utilise une télécommande 4 voies, de ce fait l'adaptateur va "faire croire" (émuler) à l'ordinateur la présence d'un joystick USB 4 axes. La particularité de l'adaptateur vient du fait qu'au lieux d'utiliser la prise écolage sur la télécommande, nous utilisons simplement le récepteur de la télécommande (ou un récepteur compatible à la même fréquence). Ce sont donc les signaux reçus par le récepteur qui seront traités par l'adaptateur. Ce procédé à un avantage incontestable qui est celui de vous offrir la possibilité de vous servir de votre télécommande (sans fils) pour piloter un modèle dans FMS ou votre simulateur ou jeu favoris.

samedi 7 juillet 2012

Robot automate Lego Technics Hexapod

Robot lego hexapode pneumatique Robot lego hexapode L'idée principale de ce projet est de réaliser un automate avec les pièces de legos pneumatiques. En effet parmi les pièces lego techniques standards on a toute une mécanique pneumatique fournie. Ces pièces sont les vérins, pompes à air, tuyauterie, et interrupteurs pneumatiques. C'est en utilisant une astuce consistant a monter les interrupteurs pneumatiques sur les vérins que l'on peut concevoir des "portes logiques" qui vont nous permettre de "coder" des séquences de mouvement. D'ailleurs des séquences bien plus complexes peuvent être conçues avec des pièces de légo pneumatique et simplement mécanique. Par exemple célébrer le centenaire du pionnier de l'informatique Alan Turing, huit étudiants en master de l'Ecole normale supérieure de Lyon ont fabriqué une sorte d'ordinateur en Lego. (article du Monde sur cette réalisation)

jeudi 24 mai 2012

Robot suiveur de lignes a base du teensy (arduino)

Le robot suiveur de lignes est un petit projet très simple. On trace une ligne au feutre noir sur une grande feuille blanche on pose le robot sur la ligne, et ce dernier va suivre la ligne. Ici mon robot fonctionne avec un Teensy 2 ++ (équivalent de l'arduino mais avec des ports entrés/sorties en plus) cadencé a 16Mhz. Le châssis utilisé est en légos technics, et pour la motorisation j'ai utilisé les moteurs lego power functions. Les lignes sont détectées grâce a deux capteurs de lignes basés sur des photo résistance. L'astuce principale de ce robot réside dans l'utilisation de l'infrarouge pour commander les moteurs officiels légo. Cela permet de ne pas avoir la moindre interface "physique" entre le circuit contrôleur et l'étage de la motorisation. Le robot suiveur de lignes possede donc deux parties electroniques distinctes. D'un coté les lego power functions (motorisation légo), et de l'autre le circuit de la plaque a essai qui est alimenté par une batterie de 9v.

lundi 21 mai 2012

Télécommande infrarouge lego power function et librairie arduino

Un chassis motorisé de légo technic est souvent très pratique pour réaliser une base pour un robot. L'idée de cet article est de vous présenter une librairie pour arduino qui permet de commander le récepteur infrarouge des legos technics power functions. Le principe de l'interface est d'émuler les signaux de la télécommande. En effet le protocole lego n'est pas très complexe, et surtout il ouvre la possibilité d'adresser le récépteur légo différemment et donc d'accéder  a de nouvelles fonctionnalités tels que la vitesse de rotation de chaque moteur (sur 7 niveaux) et la fonction de frein qui permet d'immobiliser l'axe du moteur. Pour mettre en exemple cette librairie je vous propose de réaliser une télécommande améliorée pour lego technics power function.

samedi 19 mai 2012

Capteur de lignes pour la robotique et librairie arduino

Un capteur de lignes permet de détecter une variation d'intensité lumineuse sur une surface. Il s'agit de permettre la détection de lignes noires tracées sur une feuille blanche, ou tout autre variation de couleurs à condition que le contraste entre les deux couleurs soit suffisant.

Capteur de lignes pour robot
Les capteurs de lignes peuvent être infrarouges ou alors fonctionnant avec la lumière visible. Dans le cadre de cet article je vous propose que réaliser un capteur avec une photo résistance et un éclairage par une diode électroluminescente haute luminosité, donc a lumière visible. Ce genre de capteurs est sensible aux variations de lumière ambiante. Il est possible évidement d'essayer de créer une sorte de boite noire autour du capteur afin qu'il ne soit pas perturbé par la lumière ambiante, mais cela sous entends que votre boite de capteur devra être au ras du sol et cela n'est pas toujours facile à faire. Pour pallier à ce problème nous allons utiliser un algorithme qui permettra au robot ou tout autre dispositif de calculer un seuil de détection dynamique.

jeudi 3 mai 2012

Connaitre la position d'un servo moteur

Les servos moteurs sont une solution simple pour mettre en place la partie mécanique d'un robot ou un automatisme. En effet un servo moteur a du couple (3kg/cm pour un servo moteur standard), une précision quasiment au degré près (selon les modèles) et a une taille convenable pour de l'embarqué. Cependant un servo moteur de modélisme standard n'a pas d'indicateur de position, ce qui signifie que l'on ne sait pas la position à un instant t du servo moteur. Dans cet article je vous propose une solution pour connaitre a tout moment la position d'un servo moteur. Il existe des solutions de modification de servo très poussées consistant a remplacer intégralement la carte éléctronique du servo par un microcontrolleur, mais ces solutions sont plus honéreuses a mettre en place. Dans cet article je vous propose une solution consistant a souder un seul fil sur le potentiomètre du servomoteur.

mercredi 2 mai 2012

Programmateur de 16F84 avec un Teensy++ (Arduino)

Ayant pas mal travaillé avec le 16F84 par le passé j'ai voulu proposer une lib pour arduino afin de permettre de programmer un 16F84 avec un Teensy2++ (équivalent de la platine Arduino).

Le fonctionnement de la lib est très simple. Pour programmer un 16F84 avec l'arduino, il vous suffira d'inclure la lib dans votre projet, declarer l'objet Pic16F84, déclarer une variable String contenant le programme en hexadécimal puis lancer la methode correspondant à l'envoi du programme dans le 16F84.