Premier projet électronique en compétition sur Instructables.com

•November 16, 2015 • Leave a Comment

Suite à un concours publié sur le site Instructable.com, j’ai récemment publié mon premier tutoriel de fabrication d’un device électronique. La thématique est  “Wearable Technology” ce qui implique une part technique, mais aussi une part de Design.

Voici le projet imaginé : http://www.instructables.com/id/Emergency-Button/

Screen Shot 2015-11-05 at 17.53.04

La fin du concours à lieu le 23 novembre. Le projet n’étant pas très “fun” comparé à d’autres, je ne sais vraiment pas si mon classement sera bon… on verra 🙂

Rendu 3D2

ESP8266

IMG_3340

Advertisements

Infinity Mirror

•December 9, 2014 • Leave a Comment

Retour en enfance : Projet Nintendo NES / USB

•October 1, 2013 • Leave a Comment

C’est suite à la récupération d’une Nintendo NES toute cassée, que j’ai pensé à ce projet : c’est quand même dommage que le port USB n’existait pas au moment où nos vieilles consoles sont sorties car on pourrai maitenant les utiliser avec des émulateurs… Donc j’ai vidé cette pauvre NES et récupéré mes anciennes manettes.

Objectifs :

  • Relier mes anciennes manettes sur un ordi en les gardant d’origines
  • Ne pas avoir à installer de drivers si je change d’ordinateur (pour la transporter facilement)
  • prévoir un schéma adaptable pour 4 manettes NES et peut-être pour relier celles de Nintendo 64 à l’avenir
  • Réutiliser les boutons Power et Reset de la NES.

Tout un programme donc, heureusement beaucoup de projets ont déjà été développés sur internet dont la plupart sur le site http://www.instructables.com/ où je ferai surement un tuto de fabrication après (mais en Anglais) avec le code et pleins de conseils 🙂 . Sur ces sites, il n’y a évidemment jamais un projet qui correspond vraiment à ce que l’on veut faire ^^, donc ça laisse l’occasion de plus bidouiller. Alors première étape, récupérer le boitier

Image

A l’époque, c’était vraiment plus simple de démonter un objet, un tournevis standard et hop!

Ensuite, on récupère les fils des boutons power et reset, on récupere les fils des sorties des manettes (à gauche sur la photo ci-dessous) et on prépare un petit atmega8 en standalone. La Nintendo dialogue avec ses manettes via un protocole bien définit visible ici : http://www.mit.edu/~tarvizo/nes-controller.html, si l’on veut garder les manettes d’origines il est nécessaire d’utiliser un contrôleur. Certains remplacent les boutons des manettes par des boutons classiques et peuvent ainsi se passer du contrôleur… mais je ne voulais pas sacrifier ces beaux objets collectors!

Image

Donc, un Atmega pour réceptionner le protocole, gérer la LED power de la console (suptilement remplacé par une RGB qui clignote en vert, rouge et allume aussi le bleu quand un bouton est appuyé) et assurer la connection USB. Ce dernier point m’a posé beaucoup plus de difficulté que prévu :

  • Au départ j’ai voulu opter pour la solution de facilité et relier une petite board FTDI qui trainait par là et le tour est joué. Cependant en fesant cette solution la récupération des données n’est pas automatique car il passe par un port série qui n’est pas reconnu automatiquement (ou alors il faut passer par Arduino ou Processing).
  • Je me suis donc penché sur comment transformer un contrôleur en clavier/usb et ainsi être reconnu automatiquement par tout ordinateur sans avoir à installer quoi que ce soit… J’ai trouvé pour cela une super librairie : usbkeyboard.h  qui a quelques exemples sur internet et semble plutôt facile à utiliser. Evidemment il y a toujours un hic : après deux jours à manipuler je me retrouve avec un Mario qui avance pas et saute très bas, c’est pas du tout pratique pour jouer! Il semblerai que cette librairie ne puisse pas directement simuler un bouton de clavier qui reste appuyé, donc il renvoit des courts appuis de touches et simule bien le relevé à chaque fois. J’ai éssayé de la modifier, mais en tant qu’électronicien, mes humbles compétences d’informatique ne m’ont pas permisent de vaincre cette librairie optimisé.
  • Un peu déçu par la solution précédente, je finis par descendre à la décharge, récupérer un clavier d’ordi (disponible par milliers dans les bennes), le démonter, gratter les contacts pour les rendrent soudable et le tour est joué

Image

Ici en haut à droite on peut voir une toute petite carte avec quelques fils qui partent dans la patafix, ce sont les leds et résistances qui permettent d’interfacer la tension et utiliser la librairie usbkeyboard.h.

Image

Après démontage de la solution usbkeyboard, j’ai remplacé par le circuit de clavier (en vert en haut a droite) et adapté quelques petits transistors PNP afin de pouvoir simuler les touches à l’aide de mon Atmega. J’ai dut aussi rajouter un STP16CPS afin de pouvoir contrôler suffisamment de sorties.

Après quelques petits déboggages, le résultat est vraiment sympa et je viens d’arriver au niveau 7 de Mario Bros 3 sur un émulateur MAME sur mon Mac. Je l’ai aussi installé sur ma Raspberry Pi, mais MAME semble trop lent pour que ce soit agréable, il faut que je reconfigure l’écran pour pouvoir le lancer en mode commande et peut être que ce sera jouable…

Bon je fais prochainement un Instructables avec toutes les infos pour fabriquer ça facilement et le code pour les flémarts 😉 En attendant, je vais aller essayer worldCup 1990 un des premier jeux de foot sur console qui se joue à 4 !!!!  🙂

DSCF5856

Et tout devient communicant…

•September 16, 2013 • Leave a Comment

Bon, on a un raspberry Pi qui émet des trames radio. Pour faire de la belle domotique, il faudrai aussi qu’il puisse réceptionner un peu afin de brancher des capteurs dans les 4 coins de l’appartement et suivre l’évolution de la température à l’année par pièce!!!! (oui je sais, ça sert a rien, mais je suis sûr que je finirai par trouver des choses utiles^^)

Alors, pour cela on a besoin d’un petit composant qui emet des trames radio avec une info dessus..

Image

Et oui, encore sur Atmega8 ^^, bon il est pas encore finit, c’est le programme de la soirée.. Je vais aussi lui ajouter un petit afficheur afin d’avoir encore plus de choses qui clignotent chez moi. Et vu que le circuit rentre pile dans une petite boite antistatique de chez Farnell… j’aime bien, comme ça quand on fait une commande chez eux, on ne perd rien! Allez, on s’y remet!

DSCF5828Voila, c’est assemblé. Il reste maintenant à gérer les sleep mode afin d’économiser de la batterie (mais sans l’affichage donc) et à régler les ondes radios qu’il envoit afin de récupérer les données capteurs (température et luminosité) sur mon serveur.

Un peu d’informatique : Interface serveur

•September 16, 2013 • Leave a Comment

Les lignes de commandes, c’est pratiques mais c’est pas magnifique… De plus, c’est quand même dommage d’avoir installé un serveur apache si c’est pour pas l’utiliser. Donc j’ai fait une petite balade sur le siteduzero.com, afin de me remettre un peu au HTML/CSS et surtout d’apprendre à faire du PHP. Ainsi, je pourrai afficher une belle page dynamique pour mon serveur et y accéder depuis tous mes composants reliés sur le Wifi. 

Les cours commencent à porter leurs fruits, et j’ai maintenant une interface basique qui envoie des données sur les IO de mon serveur. Je peut y accéder depuis les différents terminaux connecté, mais je n’ai pas encore réglé l’adaptation de l’affichage en fct de la taille de l’écran. 

ImageBon la j’ai un peu triché, je code sur mon mac avant de transposer sur mon Raspberry Pi. Ceci est donc l’affichage sur mon serveur MAMP de mon Mac. Les bouttons à droite fonctionnent et allument des LED sur les IO. Cependant il faut encore que je rêgle l’appel des scripts en C/C++ depuis le PHP. 

La petite touche qui tue, c’est le dessin de ma chambre avec le logiciel d’architecture SweetHome3D. L’idée serai de positionner des icones capteurs dessus et d’avoir à les toucher pour les activer. Bon je montrerai pas l’affichage que ça donne sur l’écran de mon smartphone… parce que ça rend rien :s

Envoi de données Raspberry Pi –> radio 433MHz

•September 16, 2013 • Leave a Comment

Après l’installation d’un serveur apache et d’une base de données MySQL sur mon Raspberry, il faut commencer à relier un peu tout ce qui l’entoure. Ayant déjà utilisé le protocole HomeEasy en radio 433MHz avec Arduino, je plonge récupérer quelques vieux fichiers code au fin fond d’un de mes disques durs. Une petite transposition C++ (merci Idleman!) et voila un serveur qui envoi des trames radio à qui veut bien l’entendre. 

Voici une petite carte fabriqué à la va vite ce weekend qui allume une Led RGB par radio 433MHz en fonction des identifiants et champs d’actions reçus. Ainsi ID=1 Data=1 l’allume en bleu, ID=2 Data=1, allume en vert et si Data=0 ça éteind. Parfait pour tester. 

Image

 

J’ai retrouvé des Atmega8 dans un tiroir, cela fesait longtemps que je pensais à les éssayer. Quelques heures de perdu à comprendre l’utilisation des Fuses pour régler l’horloge interne (initialement sur 1MHz) en horloge externe de 16MHz. Comme ça on les utilise à la même vitesse que les 328p. Le protocole qui marchait sur l’un, marchera directement sur l’autre sans trop de questions d’adaptation de vitesse. La seule limite c’est l’espace mémoire FLASH, je n’arrive pas à réduire le programme de mon LedCube bleu sous la barre des 8k, donc je pense qu’il restera sur du 328p. 

 

Les prises télécommandées de la marque DI-O fonctionne aussi avec ce protocole. Mon serveur peut donc communiquer avec des activateurs relais et des led (super!). J’ai aussi trouvé des prises radio-commandé chez casto du genre très low cost. Il faudra que je fasse une petite étude de leur protocole afin de les utiliser. Probablement en branchant la sortie de la télécommande sur une entrée de carte son d’ordinateur et en étudiant les 1 et les 0.  

Les débuts avec une Raspberry Pi

•September 16, 2013 • Leave a Comment

Pas de postes depuis le début de l’été, pourtant je me suis bien amusé dans les petits projets, surtout avec ma nouvelle Raspberry PI fraichement arrivée 🙂

Après quelques petites galère de prise en main pour la gestion de l’affichage en VGA et le contrôle distant avec Putty, la bête commence à bien fonctionner à moindre coût vu que j’ai récupéré un clavier, écran et ventilateurs à la décharge (où j’aime aller faire mes courses ^^). J’aurai juste eu besoin d’acheter un cable HDMI/VGA pour 10$ et un adaptateur pour les IO du PI ce qui facilite son utilisation sur plaque de test. 

 

Image

Bon c’est un peu bricolage, je lui fabriquerai un boitier quand ça prendra forme… 

Raspberry Pi n’est peut être déjà plus à la pointe de la puissance/prix, les concurrents arrivent en foule avec des cortex-M3 qui surpasse l’ARM11 du raspberry. Mais on trouve des tonnes de tuto avec cette board et c’est finalement le point le plus important (qui fait la réputation d’Arduino encore aujourd’hui!). Comme celui-ci http://blog.idleman.fr/sommaire-raspberry-pi-arduino-domotique-robotique-et-pleins-de-trucs-en-ique/   Dont je me suis servi pour commencer à jouer. 

Gestion des IO, installation de serveur, jouer avec des relais et des ondes radio, il y a tout pour bien commencer son projet domotique (même les commandes vocale!).