vendredi 7 mars 2014

Capacitive Touch BoosterPack et Energia


Aujourd'hui, on s'amuse avec le Capacitive Touch BoosterPack de Texas Instrument.  Un boosterpack, c'est l'équivalent d'un shield Arduino, mais conçu pour le MSP430 Launchpad.  Ce boosterpack en particulier permet de remplacer des boutons conventionnels par une espèce de trackpad sensible au toucher.

Ça fonctionne sur le même principe qu'un écran tactile: lorsque vous mettez un de vos doigts en contact avec la surface du boosterpack, vous augmentez sa capacité (votre corps devient un condensateur relié en parallèle avec la surface tactile).

Programme de démonstration

Le boosterpack est accompagné d'un microcontrôleur MSP430G2452IN20 pré-programmé qu'on peut insérer dans le Launchpad (à la place du microcontrôleur initial) pour obtenir une démonstration immédiate de ses possibilité.


Après avoir inséré ce circuit intégré dans le Launchpad, il faut retirer les deux jumpers J5 (ils sont situés à côté du bouton, dans le coin inférieur gauche de la carte), puis s'assurer que les jumpers J3 Rx et Tx sont en position verticale et non en position horizontale (contrairement à la photo ci-dessus).

Le programme de démonstration peut alors être utilisé de façon autonome (les 9 LEDs du boosterpack s'allument tour à tour en fonction de la position de notre doigt) ou en liaison avec un logiciel Windows qu'on peut télécharger sur le site de Texas Instrument:  CapTouch_BoosterPack_UserExperience_GUI.exe reproduit à l'écran de l'ordinateur la surface du boosterpack et indique graphiquement les endroits qu'on touche, alors que 430Boost_CapTouchMediaPad.exe permet de contrôler Windows Media Player  au moyen de la surface tactile du boosterpack.

Programmer pour le boosterpack avec Energia

Ces démonstrations sont bien jolies mais bien entendu, ce qui nous intéresse surtout, c'est la possibilité d'utiliser le Capacitive Touch BoosterPack à l'intérieur de nos propres programme.  À cause de ma violente allergie à Code Composer Studio, j'ai ignoré la bibliothèque et les exemples fournis par Texas Instruments et je me suis plutôt tourné vers Energia et la biblothèque CapTouch mise au point par Robert Wessels.

Quelques exemples accompagnent cette bibliothèque, mais voici un petit sketch de mon cru, qui affiche dans le Moniteur Série d'Energia le nom de la zone qu'on touche du doigts sur la surface tactile du boosterpack (centre, haut, bas, gauche ou droite).  Avant d'utiliser ce sketch, il faut avoir installé la bibliothèque CapTouch (en la plaçant dans le répertoire energia\hardware\msp430\libraries) et placer les jumpers J3 Rx et Tx du Launchpad en position horizontale, comme sur la photo ci-haut (sinon rien ne s'affichera dans le Moniteur Série).  De plus, vous désirerez peut-être réinstaller le microcontrôleur qui se trouvait initialement dans le Launchpad, pour ne pas effacer le programme de démonstration fourni par Texas Instruments.


Un inconvénient du Capacitive Touch BoosterPack, c'est qu'il recouvre la totalité des pins GPIO du Launchpad:  il n'y a plus de pins disponibles pour ajouter d'autres capteurs, un afficheur, etc.  Je suppose que la solution la plus évidente consiste à transmettre les données du boosterpack vers un ordinateur ou  un autre microcontrôleur.  Autre possibilité:  quelqu'un qui ne désire pas utiliser les LEDs du boosterpack pourrait libérer 5 pins du Launchpad et y brancher autre chose.

Yves Pelletier (Twitter:  @ElectroAmateur)

(Le Capacitive Touch BoosterPack utilisé pour cet article a été fourni gratuitement par Farnell.fr.)

mercredi 5 mars 2014

Tentative pas tellement inspirée de ramener à la vie un téléviseur DSP Samsung

Sachant que je m'intéresse à l'électronique, mon voisin m'a donné cet énorme téléviseur Samsung HL-P5663W qui ne fonctionne plus depuis quelques années.  J'ai accepté l'offre avec un certain enthousiasme mais avec un espoir somme toute très modéré...il y a quand même une grande différence entre construire soi-même des montages électroniques simples, et réparer un appareil complexe conçu par une multinationale qui préférerait de loin vous en vendre un nouveau.

Les symptômes:  le téléviseur s'allume normalement, mais au bout de 30 secondes l'écran devient noir, puis l'appareil s'éteint complètement.  Les trois voyants "Timer",  "Lamp" et "Standby Temp" clignotent, ce qui est supposé indiquer que la lampe est défectueuse...mais ce diagnostic est malheureusement incertain.

J'ai effectué quelques recherches dans des forums de discussion pour constater que la même chose est arrivée à plein de propriétaires de ce genre de téléviseur.  Le remède préconisé consiste d'abord à acheter une lampe de remplacement, surtout qu'il est préférable de remplacer la lampe tous les 2 ans (!!!).  Il est possible de trouver une véritable lampe Phillips pour une centaine de dollars (les substituts fabriqués par d'autres compagnies sont déconseillés).  Si je suis chanceux, ça va régler le problème, mais ce n'est pas sûr.


Alors si l'installation de la nouvelle lampe n'a pas réglé le problème, on achète un nouveau ballast (c'est le circuit qui fournit à la lampe la tension élevée nécessaire à son allumage, tout en limitant le courant qui la traverse une fois qu'elle est allumée).  Un ballast de remplacement est un peu plus difficile à trouver, et ça aussi ça coûte une centaine de dollars.

Pour de nombreuses personnes, l'installation de la nouvelle lampe et du nouveau ballast règle le problème, mais pas pour tous.  L'étape suivante consiste donc à se procurer une "color wheel" de remplacement:  ce filtre coloré qui tourne a haute vitesse finit par s'endommager, et il faut le changer de temps à autres.  Le prix d'une color wheel?  Vous l'aurez deviné:  une centaine de dollars.

Et j'ai lu des témoignages de gens dont le téléviseur continuait de s'éteindre tout seul malgré le remplacement de la lampe, du ballast et de la color wheel!  Et il faut alors songer à remplacer le bloc d'alimentation, ou la carte dmd, peu importe ce que dmd peut bien signifier.

Mouais...ça s'annonce mal.  J'hésite beaucoup à investir dans l'achat de pièces de remplacement sans la moindre garantie que leur installation réglera mon problème (et si ça marche, combien de temps tiendront-elles le coup?).

J'ai quand même jeté un coup d'oeil à l'intérieur, en espérant trouver un condensateur gonflé, un fusible grillé, une anomalie évidente et facile à réparer...

Un petite trappe située à l'arrière du téléviseur permet d'accéder à la lampe pour la remplacer:  on ouvre la trappe après avoir retiré les 4 vis qui la maintiennent en place.


Pour enlever la lampe, on retire une seule vis (entourée en vert sur la photo ci-dessous), et on tire:  le boîtier de la lampe glisse sur un rail, comme un tiroir.  Une inspection visuelle n'indique rien de particulier.  De plus, je sais que la lampe s'allume pendant quelques dizaines de seconde avant que le téléviseur ne s'éteigne tout seul.


Un petit interrupteur bleu a été conçu pour empêcher le fonctionnement du téléviseur quand la trappe n'est pas en place (pour éviter qu'on soit soumis à du rayonnement ultraviolet, je crois).  Je l'ai encerclé en rouge sur la photo ci-dessus.  Des tas de gens rapportent avoir ressuscité leur téléviseur en maintenant l'interrupteur dans la bonne position grâce à un bout de ruban gommé.  Malheureusement, ce n'est pas la solution à mon problème (lorsque l'interrupteur est dans la mauvaise position, le téléviseur ne s'allume pas du tout, alors qu'il s'allume pendant 30 secondes quand l'interrupteur est dans la bonne position).

lundi 3 mars 2014

Transformer un câble en nappe IDE en connecteur pour Raspberry Pi

Il y a quelques jours, une astuce publiée sur le blog "The Raspberry Pi Hobbyist" de Ted B. Hale a attiré mon attention:  un câble en nappe conçu pour brancher un lecteur de disquettes ou un disque dur dans un antique ordinateur de bureau peut très bien être utilisé pour relier les pins GPIO (general purpose input output) de votre Raspberry Pi à un breadboard.  Ça tombait bien:  j'avais justement une nappe de ce genre à l'intérieur d'un vieil ordinateur décédé.

(En effectuant quelques recherches supplémentaires, j'ai réalisé que François Dion en avait déjà parlé dans Fait Main vol. 1, mais je n'avais pas été très attentif à l'époque, n'ayant pas encore de Raspberry Pi) .

Ces nappes comportent 34 ou 40 câbles, alors que le Raspberry Pi n'en requiert que 26...  On peut quand même l'utiliser sans modification, mais les connecteurs non-utilisés vont déborder.  C'est particulièrement problématique si votre framboise se trouve à l'intérieur d'un boîtier...


Autre inconvénient:  à l'autre extrémité, les deux rangées de connecteurs femelles ne sont pas ce qu'il y a de plus pratique pour un breadboard.

J'ai donc décidé d'améliorer un peu l'idée de départ en coupant le connecteur femelle au moyen d'une petite scie pour qu'il ne comporte que les deux rangées de 13 connecteurs femelles requises par le Raspberry Pi, et en retirant de la nappe les fils inutiles (ça se fait très facilement avec les doigts).  La photographie ci-dessous montre l'original (à droite) et la version modifiée (à gauche).



À l'autre extrémité, j'ai soudé les fils à deux rangées de headers mâles judicieusement espacés de façon à pouvoir facilement être insérés dans un breadboard.




Voilà:  le résultat rappelle un peu le T-Cobbler d'Adafruit, sauf que ça n'a rien coûté.

Reste à voir ce qu'on peut faire, côté logiciel, pour contrôler ces pins GPIO:  ce sera le sujet d'une prochaine rubrique, je suppose.

Yves Pelletier (Twitter:  @ElectroAmateur)