SevenSeg : utilisation d’afficheurs 7 segments doubles sur microcontrôleurs PICs

Lorsqu’il est nécessaire de communiquer des informations à l’utilisateur, l’ami le plus fidèle des microcontrôleurs est souvent un afficheur LCD, et particulièrement ceux dotés d’un contrôleur HD44780. Ces écrans, dont la taille varie de 8 caractères pour les plus petits, à plus de 4 lignes de 20 caractères pour les plus grands, sont particulièrement aisé à utiliser grâce à leur contrôleur, qui utilise un protocole de communication très simple. Mais je ne m’étendrai pas sur le sujet, celui-ci ayant déjà fait l’objet de l’article suivant.

Cependant, dans certains projets, l’utilisation de ces écrans reviendrait à utiliser un Hummer pour se rendre au travail : ça passe difficilement les virages, ça se gare de justesse, et on fini par se demander si on a réellement besoin de tant pour effectuer ces simples trajets quotidiens. C’est par exemple le cas lorsqu’on souhaite juste afficher une température : là où 2 caractères sont nécessaires, le plus petit afficheur LCD en propose 8. Un peu « overshoot », non ?

illustration LCD vs 7 segments

Afficheur LCD vs Afficheur 7 segments

Travaillant justement sur un de ces projets qui ne requièrent que l’affichage d’un nombre à 2 chiffres, j’ai mis au point quelques fonctions simples afin de faciliter l’utiliser de ces afficheurs. Ces fonctions sont prévues pour fonctionner avec un afficheur double ( 2 chiffres ) qu’il soit à anode commune, ou cathode commune, mais elles fonctionneront telles quelles avec un afficheur simple ( 1 chiffre ) et ne demanderont que des modifications simples pour fonctionner avec des afficheurs avec plus de chiffres. L’ensemble du code est écrit pour le compilateur XC8 de Microchip, mais devrait fonctionner sans difficultés sur d’autres afficheurs.

Lire la suite

Un minitel comme terminal linux USB. Partie 2 : Software Raspberry Pi

Cet article décrit la mise en place du software permettant l’utilisation d’un minitel comme terminal sur un Raspberry Pi, avec l’interface USB décrite dans l’article précédent Un minitel comme terminal linux USB. Partie 1 : Hardware.

exemple

Un minitel servant de terminal pour mon Raspberry Pi

Je considère ici que votre Raspbian est installé et fonctionnel sur votre Raspberry. Dès lors, il y a 2 méthodes possibles, menant quasiment au même résultat : un terminal fonctionnel tout à fait exploitable.

EDIT : Bien que les informations contenues dans cet article soient toujours justes, la partie concernant la configuration de getty au démarrage dans le fichier inittab n’est plus d’actualité depuis la migration des principales distributions Linux vers le gestionnaire de démarrage systemd. Pour plus d’informations sur la configuration de systemd, c’est ici.

Lire la suite

Un minitel comme terminal linux USB. Partie 1 : Hardware

Le réseau Minitel étant maintenant hors service depuis plus d’un an, on voit apparaître de nombreux Minitels dans les vides-greniers. Devenus totalement inutiles pour le commun des mortels, certains Minitels possèdent cependant la capacité à être connecté à des périphériques, via une liaison série, permettant notamment d’imprimer les pages minitel affichées, mais également d’utiliser le minitel comme le terminal d’un ordinateur fonctionnant sous UNIX. Si la fabrication d’une telle interface est décrite maintes fois sur le web, il est toujours question d’utiliser le port COM de l’ordinateur. Celui-ci devenant de plus en plus rare, cet article détaille la fabrication d’une interface analogue, mais employant une connectique USB, plus adaptée aux ordinateurs actuels.

Illustration Minitel

Un minitel affichant le logo Aperture Science en ASCII art, transmis par un ordinateur.

Lire la suite

Protocase, une breadboard de voyage …

Aujourd’hui les cours ont repris pour moi depuis une bonne semaine, et si concilier bidouilles électroniques et études ne pose pas trop de problèmes à mon agenda, il en va autrement pour mon bureau. Difficile de réviser efficacement quand la seule surface disponible se trouve être un enchevêtrement de câbles divers, breadboard, et autres alimentations stabilisées. Difficile également de bidouiller sereinement quand la-dite bidouille est juchée au sommet d’un amas de feuilles couvertes de griffonnages plus ou moins en rapport avec le partiel de demain. C’est pour pallier à cet situation que j’ai mis au point durant les vacances, la Protocase, dont l’objectif est de regrouper dans une valise les éléments essentiels à la bidouille, permettant ainsi le rangement simultané de ceux-ci ( et de la bidouille en cours ), et par conséquent la libération sans délai du bureau :

Illustration Protocase

La Protocase, ouverte et fermée

 

Lire la suite

Une alimentation 5v simple avec limitation de courant

Si il est un outils nécessaire au bidouilleur qui souhaite faire de l’électronique, c’est bien l’alimentation. En effet, sans elle, impossible de tester même le plus simple des montages. Ce sont les alimentations ATX ( utilisées dans les ordinateurs ) qui sont les plus prisées pour ce rôle : elles sont extrêmement répandues, fournissent les principales tensions nécessaires aux bidouilleurs, avec des intensités importantes. Si cette dernière caractéristiques est un avantages certain lorsqu’il s’agit, par exemple, d’alimenter un autoradio, ou un moteur à courant continu, cela peut poser un problème de taille : en cas de court circuit, l’intensité fournie peut atteindre des valeurs monumentale ( pour nous électroniciens ), frôlant les 100A. Dans le cas d’un montage sur breadboard, il en résulte souvent la destruction des composants, et de la breadboard, voire de l’alim ATX si elle n’incorpore pas de protection contre les court-circuit, comme c’est le cas dans de nombreuses alims low-cost montées dans les PC de grande distribution.

Afin d’éviter ces désagréments, je vous propose donc un petit circuit de mon cru, s’alimentant en 12v, et fournissant une tension de 5v régulée, et limitée en courant. Un voyant est également intégré pour avertir l’utilisateur de l’entrée en activité de la limitation en courant. De plus, cette alim n’utilise volontairement que des composants facilement disponibles pour les bricoleurs contemporains, pour qui il est plus aisé de se procurer un 7805 qu’un TIP122 :

Le schéma du circuit.

Lire la suite

Récepteur homemade pour manettes sans fils xbox 360

Si Microsoft a eu la bonté de permettre aux possesseurs de xbox360 d’utiliser leurs manettes filaires sur leur PC, en fournissant les drivers adéquats, il n’en est pas de même pour les manettes sans fils. En effet, celles-ci utilisent un protocole propriétaire, et nécessitent des récepteurs adaptés. Si il est possible d’en obtenir, moyennant quelques dizaines d’euros, dans des pays où la qualité des produits fabriqués (hem) n’est plus à démontrer, cette option ne sera pas discutée ici, puisque je vous propose de détailler la fabrication d’un récepteur USB, à partir d’un module RF récupéré sur une des nombreuses xbox 360 HS.

Un des modules RF dont les xbox360 sont équipées.

Lire la suite

Un effet de rouille très prononcée sous GIMP, sans plugins additionnel.

Il n’y a pas si longtemps, je (re)mettais en ligne un plugin script-fu intitulé corrosion, permettant, comme son nom le laisse présager, de réaliser des effets de corrosions, grâce à la méthode du scott effect.
J’ai depuis découvert une technique bien plus adaptée pour obtenir un effet rouillé, permettant d’obtenir le résultat suivant :

Rusted Lambda

Un exemple de réalisation utilisant la technique décrite ici.

Lire la suite

Dissipateur ram Fully Bufferred FB-Dimm

Etant possesseur d’une config « WorkStation » nécessitant l’emploi de ram DDR2 Fully-Buffered (aussi appelée FB-DIMM), je suis confronté aux problème de dissipation thermique de cette RAM. Non seulement, chaque barette dissipe normalement plusieurs watts, mais en plus ma carte mère survolte légèrement la RAM portant la puissance dissipée par barrette à une valeur proche de 10 watts (cette valeur est une vague estimation, basée sur les températures obtenues) , ce qui engendre, avec les dissipateur d’origine, des températures pouvant dépasser allégrement les 100°C, malgré un ventilateur dédié à la ram !

Barette FB-DIMM

Une barette FB-DIMM. La protubérance au centre du dissipateur est due à la présence de la puce AMB.

La température de sécurité des barrettes étant de 105°C, il fallait envisager une solution. Les dissipateurs RAM vendus dans le commerce ne convenait pas, à cause de la puce AMB (Advanced Memory Buffer) de chaque barrette. J’ai donc décidé de fabriquer moi-même des dissipateurs adaptés.

Lire la suite

Microcontrôleurs et boutons poussoirs : anti-rebonds et appui long

Si les boutons poussoirs sont des composants très simples à utiliser, ils possèdent tout de même un inconvénient de taille, ils sont sujets aux rebonds, c’est à dire qu’ils ont la désagréable habitude de ne pas passer directement de leur état ouvert à leur état fermé. Pendant une durée généralement inférieure à la milliseconde, il va en effet osciller plusieurs fois entre les deux états :

Illustration signal rebonds

Allure du signal obtenu lors de l’appui sur un bouton poussoir.

Si cela ne pose pas de problème pour des applications simples, par exemple allumer une LED, ou commander un relais par le biais d’un transistor, cela en pose en revanche avec les circuits fonctionnant sur changement d’état d’un signal, ceux-ci risquant d’interpréter chaque rebond comme un appui sur le bouton. je vous propose de découvrir plusieurs méthodes pour éviter ces désagréments.

Lire la suite

Librairie pour afficheurs LCD hd44780 sur PIC avec le compilateur Microchip XC8

/!\ Nouvelle version dispo ICI

Permettant la mise en place d’interfaces simples et lisibles avec l’utilisateur, les afficheurs LCD comptent parmi les périphériques les plus souvent utilisés en association avec les micro-contrôleurs. Cependant, sans être d’une grande complexité, leur contrôle n’est pas des plus évidents. De plus, passer du temps à faire fonctionner un afficheur LCD sur un projet bien plus grand est souvent frustrant, et l’utilisation de fonctions pré-existantes permet de grandement simplifier le code écrit.

example afficheur

Afficheur LCD alphanumérique 4 lignes 20 colonnes piloté par un PIC.

 

J’ai donc codé une petite librairie regroupant les fonctions essentielles à l’utilisation d’un afficheur LCD utilisant le protocole hd44780 (la grande majorité des afficheurs alphanumériques).

Lire la suite