Les micro-contrôleurs sans ta mère
Des articles d’initiation à la mise en oeuvre des micro-contrôleurs, aussi bien du point de vue électronique que programmation.
Remarque : les programmes présentés dans ces articles sont écrits en langage C. Cette rubrique n’étant pas une initiation à la programmation C, le lecteur est supposé déjà connaître les bases de ce langage, ou bien est invité à consulter les innombrables sites Web consacrés à ce sujet.
Programmation et contrôle
Au-delà de programmer le comportement d’un robot, on peut coder de petits programmes pour :
visualiser une information (capteur, état interne) de manière synthétique
pour tester un circuit (debug ou validation d’une modification)
pour suivre le fonctionnement du robot (télémétrie)
pour agir à distance (pilotage)
Vous trouverez ici un certain nombre d’articles concernant des applications utilisées en robotique. Consultez également les autres rubriques (par exemple : électronique) pour des logiciels spécifiques à un (...)
Programmation et logiciels
La programmation est nécessaire pour construire des circuits électroniques ou des robots autonomes, c’est à dire capable d’agir sans intervention humaine. Mais pas de panique : c’est de plus en plus facile !
De nouveaux langages et des logiciels simplifiés rendent la programmation accessible à tous
Alors découvrez dans les rubriques suivantes comment vous pourrez apprendre - en vous amusant - comment mettre quelques octets de savoir dans les puces de votre robot (...)
La cinématique des robots séries
Modèles directs et inverses
En janvier 2012, une présentation de la cinématique des robots sériels et parallèles a eu lieu à partir d’une présentation de David Daney de l’INRIA.
Retrouvez dans le document ci-dessous l’ensemble des explications.
Vous y trouverez les sujets suivants :
notion de liaisons
les chaines cinématiques
les robots séries
les robots parallèles
Les différentes solutions mathématiques sont présentées pour :
le modèle géométrique direct
le modèle géométrique (...)
lire la suite de l'article
Algorithmes génétiques
Le terme génétique en informatique désigne un outil du monde de l’intelligence artificielle, permettant de converger vers un optimum (jeu de coefficients la plupart du temps) de configuration d’un système (matériel ou logiciel). Par rapport à une approche "brutale" consistant à évaluer toutes les combinaisons possibles, cette approche permet de traiter des problèmes dont la combinatoire est telle (dite "explosive") qu’une exploration systématique prendrait des temps infinis même avec des machines très puissantes.
Il faut bien avoir conscience que, du fait des principes utilisés par cette (...)
lire la suite de l'article
Quel langage pour un robot ?
Beaucoup de débutants ont peur de commencer à construire un robot mobile autonome car ils craignent d’être bloqué par l’apprentissage d’un langage de programmation.
Ce n’est pas un problème, et on peut même s’en passer dans certains cas. Mais afin de clarifier cette question, voici quelques éléments d’introduction à la robotique ludique.
Qu’est ce qu’un langage informatique ?
Un langage est un ensemble de signes permettant de communiquer. C’est-à-dire des éléments communs permettant d’exprimer une information d’un émetteur à un récepteur de manière à ce que cette information soit la moins (...)
lire la suite de l'article
Reconnaissance visuelle avec Harpia
La reconnaissance visuelle permet à un robot de déterminer dans son environnement des formes ou des couleurs, que ce soit pour s’en approcher (attraper un objet) ou pour les éviter (obstacles).
On a déjà présenté l’outil open source "Open CV", bibliothèque de fonctions développées par Intel avant d’être mises à disposition de la communauté. Aujourd’hui, c’est au tour d’Harpia d’attirer notre attention.
Site officiel d’Harpia
Open CV nécessite de bien connaitre la programmation C et le paramétrage XML pour arriver à s’en sortir et ne pas se contenter de reprendre les exemples. Donc (...)
lire la suite de l'article
XBee S2B programmables
La gamme Digi de modems Zigbee continue ses évolutions avec la série 2B (après la série 1 et la série 2). Nouveauté principale, certains S2B sont programmables. Le boitier est le même que pour les autres XBee mais il contient en plus du contrôleur radio Ember un micro-contrôleur Freescale, le MC9S08QE32CFT.
Nous l’avons testé, et même déjà utilisé pour un projet de fin d’études réalisé par deux jeunes débutants en micro-informatique. Ils nous ont impressionnés par leur volonté et leurs efforts ont été récompensés puisqu’ils sont parmi les premiers en France à pouvoir utiliser ces modems (...)
lire la suite de l'article
Echange maitre/esclave en I2C
Voici un article qui décrit dans plusieurs langages les échanges qu’il faut mettre en œuvre entre deux dispositifs équivalents (deux micro-contrôleurs par exemple) pour une liaison I2C.
Il ne s’agit pas de piloter un périphérique I2C mais de programmer à la fois le maitre et l’esclave, afin d’expliquer les différentes étapes. Pour compléter cet exercice, on utilisera plusieurs langages et si possible plusieurs cibles.
Les principes
Pour établir une communication sur un bus I2C, il faut choisir la topologie du réseau : quel système est maitre, quel système est esclave. On choisit la (...)
lire la suite de l'article
Découverte de Cinder
Vous aimez le C++ ? Et vous voulez avoir accès à un ensemble de fonctions multimédia (image, vidéo, son) aussi simple d’utilisation que ce que fait Processing en Java ? Alors Cinder est fait pour vous.
C’est beau, c’est rapide, c’est fashion. Et ça peut vous réconcilier avec Visual Studio :) ou alors vous faire craquer pour le dernier ordinateur portable d’Apple...
Site officiel de Cinder
Bref, si vous avez besoin de faire du traitement d’image performant, essayez cette solution (libre, open-source, validé par la communauté et par Peter Gabriel himself, oui le chanteur).
Utilisation de (...)
lire la suite de l'article
Utiliser Processing et ses librairies "hardware"
Nous utilisons Processing pour réaliser de petits logiciels de communication avec nos robots et nos applications électroniques. Il s’agit d’un environnement de développement open source basé sur un langage simplifié qui permet en quelques minutes de réaliser des interfaces :
en "mode console" (pas d’affichage autre que du texte défilant en bas du logiciel)
ou graphiques, allant du tracé de courbe à la 3D OpenGL !
Site officiel de Processing
Dans cet article, on présentera surtout les bibliothèques de code permettant de communiquer avec des interfaces matérielles (hardware) (...)
lire la suite de l'article
dimanche 12 novembre 2006
par
Eric P.
Programmateur USB pour AVR
Ayant récemment mis à niveau ma configuration machine, je me retrouve avec une carte mère dépourvue de port parallèle. Et oui, maintenant que toutes les imprimantes ou presque utilisent une connexion USB, nos bons vieux ports parallèles sont à peu près autant d’actualité que les dinosaures...
Première tentative
Pour parer cela, rusé que je suis, j’avais également acheté une carte d’extension PCI, qui ajoute un port parallèle et deux ports série. Ca marche très bien... mais pour l’imprimante seulement. Mon brave programmateur maison sur port parallèle n’est reconnu ni part avrdude, ni par (...)
lire la suite de l'article
Brève publiée le mardi 15 février 2011
Exploration 3D avec NXT et RobotC
Nous connaissions déjà le logiciel RobotC pour programmer en langage C une brique Lego Mindstorms NXT.
L’éditeur du logiciel, en collaboration avec Carnegie Mellon University (une des plus actives en robotique aux Etats-Unis) et son (...)