Accéder au contenu principal

Articles

Affichage des articles associés au libellé c#

Extension de ports GPIO à base de MCP 23017

Introduction Le nombre de ports GPIO (ports d'entrée/sortie) sur les micro-contrôleurs et le Raspberry Pi peut se révéler limité pour certains projets. Il est généralement de 14 ports digitaux et de 8 ports analogiques pour les micro-contrôleurs de type Arduino et de 25 ports digitaux sur le Raspberry Pi. Cela suffit pour faire clignoter quelques leds, ou lire quelques entrées digitales, mais peut être très limitant dès lors que l'on souhaite lire 32, 64, 96 ou 128 valeurs.  Le Fez Panda II propose 40 ports supplémentaires qui sont généralement utilisés pour l'écran tactile Fez Touch et le Fez Cerbuino Bee propose 3 ports supplémentaires au format Gadgeteer. Des solutions existent pour éviter d'utiliser trop de ports. Ces solutions utilisent généralement les protocoles séries SPI ou I2C, ce qui permet de ne monopoliser que 3 ports pour le protocole série (MISO, MOSI, SCLK) ou 2 ports avec le protocole I2C (SDA pour les données et SDC pour l'horloge). Dans...

Hack du RoboSapien en Infra-Rouge

Mon fils a eu un RoboSapien V1 il y a une dizaine d'années. Il prenait la poussière sur le haut d'une armoire, jusqu'à ce que j'ai envie de le ramener à la vie. Il était temps, les piles étaient en train de commencer à couler et vu le nombre de servo moteurs qu'il contient, ses jours étaient comptés. Mais non, j'ai réussi à contenir mon irrésistible envie de tout démonter et j'ai décidé de passer par la télécommande Infrarouge pour le piloter. Le protocole est assez similaire de celui d'une télécommande infrarouge classique avec cependant quelques petites différences. Il est correctement expliqué sur les sites http://www.aibohack.com/robosap/ir_codes.htm et http://www.markcra.com/robot/ir_codes.php . Je vais traduire en français pour ceux qui auraient un peu de difficulté. Il existe des librairies Arduino, mais comme d'habitude, pas toujours de librairie en C#. Voici les choses importantes à connaitre sur le protocole : Le protocole envoie...

Détecteur d'ultrasons HC-SR04

J'ai également commandé un détecteur à ultrasons HC-SR04 pour 2 USD chez ITEAD Studio ( http://imall.iteadstudio.com/im120628012.html ). Après 3 semaines d'attente, j'ai reçu les 2 récepteurs. Quelles utilisations? Montées sur un véhicule, le détecteur permettra de détecter les obstacles avant de les atteindre. J'ai fait quelques essais avec un RoboSapien, ce qui permet de lui donner un peu plus d'autonomie. Comme d'habitude, seuls les drivers Arduino sont disponibles par défaut. Pour les drivers C#, il fait donc chercher sur le site de GHI si le driver existe, sinon, se rabattre sur le site Netduino ou le cas échéant, adapter le driver en C++ de l'Arduino en C#. Il peut parfois être nécessaire de lire la spécification du protocole utilisé pour mieux comprendre comment l'équipement fonctionne. Pour le raccordement à la FEZ Panda 2, j'ai utilisé un cordon Grove avec 4 pin séparées. La carte utilise 2 ports digitaux. Un port pour envoyer le sig...

Ecran ITEAD 1602 LCD pour le FEZ Panda II ou le Fez Cerbuino Bee

L'écran FEZ Touch fait plus que largement l'affaire pour la plupart des usages (écran couleur 320x240, tactile, affichage rapide, bitmaps, etc). Pour des usages simples ou sur le FEZ Cerbuino Bee, il peut cependant être utile d'avoir un écran LCD simple. J'ai craqué pour l'ITEAD 1602 LCD Shield d'ITEAD Studio (http://imall.iteadstudio.com/development-platform/arduino/shields/im120417018.html) en promotion pour 5 USD. L'écran LCD est un écran de 2 lignes rétro-éclairé en bleu. Il dispose de 4 écrans de direction (haut, bas, gauche, droite), d'un bouton Reset (à droite) et d'un bouton Select (à gauche). Il reprend également les 5 ports analogiques au pas 2,54 cm, par contre, il n'y a pas de reprise de port digitaux. Il est cependant possible de l'empiler sur une carte Grove de manière à utiliser les quelques ports digitaux encore utilisables. Le driver de GHI Electronics Black Shield convient largement. Je l'ai légèrement adapté avec...

Librairie pour l'affichage OLED 128x64

Librairie Grove OLED 128x64 J'ai posté un driver pour l'afficheur OLED Grove 128x64 de SeeeStudio ( https://www.ghielectronics.com/community/codeshare/entry/760 ). Ce driver est fortement inspiré d'un librairie équivalente écrite en C++ pour Arduino. Cet afficheur est réellement tout petit. Ne vous fiez pas aux images affichées sur les différents sites web. L'écran est environ 4 fois plus petit qu'un écran LCD classique. Il a pourtant une résolution excellente en noir & blanc de 128 lignes pour 64 points, soit 12 colonnes et 8 lignes. Le protocole utilisé est I2C, ce qui veut dire qu'il faut réserver 2 ports pour l'utiliser. J'ai utilisé la librairie SoftwareI2C, ce qui permet d'utiliser n'importe quel port Grove Digital disponible. Il est possible d'afficher une bitmap, mais il faut la générer préalablement. J'ai utilisé pour cela un convertisseur disponible à l'adresse  http://en.radzio.dxp/pl/bitmap_converter . Quelles ...