I2C extension à base d’ARDUINO Nano

Arduino NanoI2CIOExpander

Il s’agit là de mon premier article sur https://www.hackster.io/. J’ai choisi cet hébergeur de projet car je trouve que c’est celui qui est le plus pertinent d’un point de vue électronique à l’heure actuelle sur les sujets qui nous intéressent comme de Raspberry pi, la communauté ARDUINO et surtout en ce qui me concerne les ESP8266 et ESP32. Lien directe vers le projet sur Hackster

Ce projet décrit de A à Z la création d’une extension I2C d’entrée sorties digitales et analogique dans la vocation est d’être utilisé comme un composant périphérique pour un autre micro-contrôleur comme par exemple l’ESP8266 qui ne dispose que d’une seule entrée analogique. Tout est foruni, les sources, les documents de conception ET de réalisation et même une librairie ARDUINO pour utilisé le composant depuis l’ESP qui surcharge les fonctions pinMode, digitalRead, digitalWrite et analogRead

Bien évidement le projet est disponible sur notre WIKI.

Pour ce projet, j’ai un peu innové. Contrairement à nos habitudes, j’ai rédigé le projet entièrement en anglais, Hackster oblige et je me suis dit que cela augmenterait un peu la notoriété du VoLAB à l’internationale. Autre innovation, les sources sont gérées sous github. Avec une strucutre documentaire ayant pour modèle l’article de Pierre sur la documentation.

Une belle introduction toute en douceur à la programmation objet

J’ai traduit en français un article déniché sur le site Adafruit sur la Programmation Orientée Objet. J’ai trouvé la démarche tellement intéressante que j’ai eu envie de la partagée dans la langue de Molière.

L’auteur de cet article nous prend gentiment par la main en partant du bon vieux blink sur Arduino pour nous emmener jusqu’à la POO (Programmation Orienté Objet) qui peut en rebuter plus d’un. Toute la différence réside dans la présentation très progressive des concepts.  Je conseille à tout ceux qui s’intéressent à la programmation ARDUINO de lire cet article.

Seul manque à cet article est la compilation séparée. Je me suis promis de combler cet lacune dans un prochaine article. Reste à savoir quand  ?

Un de plus

Un de plus on a envie de dire. Un PCB de plus réalisé au VoLAB. Bon c’est pas le plus beau que j’ai fait. Léger problème d’opacité du typon, la Kyocéra semble fatiguée un peu du côté du toner. mais bon ça reste potable et surtout utilisable pour le calibreur de servo moteur de VOR-005 le robot Hexapode. Verra-t-il le jour un jour se demandent certains ! En attendant avec Gilles à l’Electrolab on continue depuis quoi 1 an et demi maintenant à mettre au point El Calibrator ! lol

20160908_215151

 

 

 

 

 

 

 

Au passage, on a reçu les cartes Teensy 3.2 commandé chez Snootlab. Moins d’une semaine après la commande !

Et quand on a la toute petite carte entre les mains, on se dit comment ont-ils pu chez PJRC faire rentrer toute ces fonctionnalités dedans. En même temps le choix du microcontrôleur y est pour beaucoup. Mais le travail fait autour est considérable, ça marche super bien et c’est compatible de l’IDE ARDUINO ! chapeau.

Cortex M4 à 72MHz

256k de FLash 64k de RAM (pour mémoire le UNO en a 32/2), 34 IO 5V tolérant, 2ADC pour 21 broches analogiques

12 timers et donc autant de PWM indépendantes.

3 UART, 2 I2C, une vrai sortie analogique 12 bits

Pour avoir de tellles carac, faut au moins taper un ARDUINO DUE tout ça dans moins de 4x2cm

Bon à 25€, on les réservera plutôt pour des trucs un peu tuchy comme le robot biped R-Ic de Daniel

img_4087_resized

 

VoR12

VoR12, le dernier né du VoLab prend vie.

small_vor12-2

VoR12 est une caméra mobile qui utilise la bibliothèque de traitement d’image OpenCV pour effectuer des expériences de suivi d’objets.

Le principe : identifier l’objet à suivre sur les images filmées (ici la balle bleue) et repositionner les servomoteurs pour garder l’objet au centre de l’image. Le tout en temps réel bien sûr.

vor12_demo_youtube

Vidéo de démonstration

La bibliothèque PyAX-12 est utilisée pour contrôler les deux servomoteurs Dynamixel AX-12+ et déplacer la caméra.

Prochaine étape : tester et optimiser la chaîne de traitement pour le RaspberryPi et la RaspiCam.

Site web du projet : https://pypi.python.org/pypi/vor12