Archive

Articles taggués ‘pic’

Librairie pour afficheurs LCD hd44780 sur PIC : Version 3

06/05/2015 2 commentaires

Ayant commencé un projet utilisant un afficheur LCD à contrôleur HD44780, j'ai ressorti ma petite bibliothèque qui va bien. Seulement, elle a l'inconvénient de modifier tous les bits du port connecté au LCD, même ceux qui peuvent être dédiés à autre chose. Ce comportement empêche par exemple le fonctionnement de l'afficheur sur la carte PICDEM2PLUS, sur laquelle je travaille. J'ai donc décidé d'y apporter quelques petites modifications, qui se sont rapidement transformées en réécriture d'une grande partie du code.

Avec des vrais morceaux de barre de progression à l'intérieur !

Avec des vrais morceaux de barre de progression à l'intérieur !

La nouvelle bibliothèque est disponible sur sa page GitLab, et son fonctionnement est décrit ci-dessous : Lire la suite...

Un radar tronçon pour circuit de voiture radioguidées

04/02/2015 Aucun commentaire

Ce projet a été réalisé pour le club de Mini-Z de Fontaine-lès-Dijon. L'idée était de concevoir un dispositif permettant de mesurer la vitesse des voitures dans la ligne droite. Le principe retenu est le suivant : 2 faisceaux infrarouges, séparés par une distance d, coupent la piste. Lorsqu'une voiture les franchit, un microcontrôleur (PIC16F628A) mesure le temps s'écoulant entre la coupure des deux faisceaux, et connaissant la distance les séparant, calcule la vitesse de déplacement de la voiture, puis l'affiche, et éventuellement la transmet vers un ordinateur via une liaison série (USB et/ou Bluetooth):

Animation Fonctionnement

Une image qui vaut tout le paragraphe précédent 🙂

Vous trouverez le projet Kicad ( schéma et typon ), le programme du PIC, ainsi que le programme d'affichage pour PC sur le page GitLab du projet.

Voilà, tout est dit. Enfin presque ...

Lire la suite...

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

03/01/2014 4 commentaires

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...

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

04/04/2013 4 commentaires

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

02/04/2013 6 commentaires

/!\ 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...