Ecran LCD 2*16 série/USB via AVR Attiny2313

Décidément aujourd’hui je n’arrête pas ! Cela faisait longtemps que j’avais cette idée en tête : monter un afficheur LCD alpha-numérique sur USB/série. Voilà chose faîte avec un petit AVR Attiny2313.

La connectique est simple :
LCD (1 ) : Masse
LCD(2) : Vcc +5V
LCD(3) : Contraste ((connecté à Masse)
LCD(4) : RS (1=data, 0=commande) : AVR Port D PD5
LCD(5) : RW (1=read, 0=write) : AVR Port D PD4
LCD(6) : Enable : AVR Port D PD3
LCD(7-14) : data 0-7 : AVR Port B PB0-PB7

L’Attiny2313 est configuré pour la communication série à 19200 avec un quartz à 14.7456 Mhz.

Le code n’est qu’un début mais il permet déjà d’afficher du texte sur les deux lignes de l’afficheur. Quelques essais montrent qu’il est relativement facile de créer les 8 caractères programmables si on respecte bien la datasheet et les timings. Le code est, pour l’instant, relativement bouillon. C’est normal ;)
serialint.c
makefile
common.mk

Le but n’est pas vraiment d’obtenir un firmware complet permettant toutes les opérations possibles comme ce qui existe déjà dans les boutiques sur le Web (quoi que, si j’ai le temps). Il s’agit d’avoir un périphérique d’affichage simple pouvant se connecter en TTL, RS232 et/ou USB sur un système embarqué comme une Fonera, Fonera+ ou Fonera 2. Je pourrai alors voir en temps réel les connexions Wifi et autres informations de base pour un AP.

Décidément, j’adore le 2313, c’est vraiment mon microcontrôleur préféré.

Quelques liens :
http://www.quinapalus.com/hd44780udg.html
http://home.iae.nl/users/pouweha/lcd/lcd0.shtml
http://www.geocities.com/dinceraydin/lcd/custom.htm

3 commentaires sur “Ecran LCD 2*16 série/USB via AVR Attiny2313

  1. Grâce à (l'extraordinaire) avr-libc, on à même la possibilité d'utiliser les bons vieux printf!
    Il y a même tout le code pour controller un lcd compatible hd44780 en mode 4 bits dans les "exemples" d'utilisation ( http://www.nongnu.org/avr-libc/user-manual/group__stdiodemo.html ), écrit par un lutin sous licence beerware.
    Par contre, il vaut mieux éviter les sorties formatées. J'ai voulu utiliser un %x, et je me suis pris 1300bytes dans les dents. Ça fait mal quand on l'intègre avec usbtiny.
    A quand un attiny2313 avec 10Mo de flash? :D

  2. bonjour j'ai vraiment aimer ce que tu fait avec ces petit écrans et j aimerai savoir si tu pouvais m'aider vu ta grande expérience
    j'ai un petit projet qui est de faire afficher un mot ou une phrase suivant un état logique sur un bus de donnée 8 bit par exemple si sur ce bus j'ai le mot binaire 0000 0001 j aimerai qu'il s'afiche sur l'écran "machine prête" et franchment je suis dans un peu dépasser lol
    si tu aurait une petite piste sa serai super gentil merci

  3. Très intéressant comme projet ! Il a de quoi faire un bon article dans LinuxMag, ou dans un hors-série.

    A défaut, pourrais-tu donner une archive avec le code complet ?

Les commentaires sont fermés.