Arduino + LCD 128*64 compatible KS0108

Dans cet article, je ne vais pas vous faire un cours détaillé pour la simple et bonne raison que je ne connais pas les détails du truc. Je vais juste vous expliquer comment installer cette librairie et comment faire les branchements.  Je vous tutote (oui, je sais, ça ne se dit pas) ceci car ça m’a pris une plombe pour trouver des sites expliquant comment faire et que tous étaient en anglais et/ou foutrement mal expliqué. Donc comme vous ne parlez pas tous la langue de Shakespeare et que je suis gentil, je vous offre mon expérience.

NB : il faut absolument que votre écran soit compatible KS0108 ; Sinon, ce qui est écrit en dessous ne fonctionnera pas.

Je possède cet écran, acheté chez Kibuck. Bien évidemment (sinon ça ne serait pas drôle), le datasheet n’est pas disponible.

Premièrement, veuillez vous rendre ici et téléchargez l’archive. Ensuite, créez un dossier glcd dans sketchbook/libraries puis dézippez l’archive dans ce dossier.

Deuxièmement, dans votre IDE, ouvrez le fichier GLCDdemo en allant dans Fichier -> Exemples -> glcd puis cliquez sur vérifier. A partir de ce moment, 2 solutions. Soit ça compile correctement et donc vous êtes content soit ça vous fout pleins d’erreurs de compilation. Si comme moi vous êtes dans la réponse B, n’ayez crainte, il y a une solution (merci à @semageek pour son aide).

Normalement l’erreur est du genre : /sketchbook/libraries/glcd/fonts/Arial14.h:55:27: error: variable ‘Arial_14’ must be const in order to be put into read-only section by means of ‘__attribute__((progmem))’.

Pour remédier à ça, il vous faut juste ouvrir le fichier mentionné par l’erreur (ici Arial14.h) et de rajouter const après tous les static. Dès que vous avez fait ça sur tous les fichiers en cause, ça compilera.

Maintenant, passons au branchement. Pour cela, il faut vous munir du datasheet. Ensuite, admirez ce tableau :

Grâce au datasheet, déterminez dans quel panel vous êtes. Pour trouver le bon, il suffit de regarder, dans le datasheet, à quoi correspond chaque trou sur le module lcd. Par une puissante analyse du tableau, vous remarquez qu’il suffit de regarder à quoi correspond le premier trou. Si celui-ci correspond au 5V alors c’est le panel A. Si il correspond à la masse alors c’est le panel B. Sinon, c’est le panel C.

Vous vous demandez peut-être comment j’ai fait pour déterminer mon panel alors que je n’ai pas le datasheet. Et bien, j’ai fait l’aventurier. Même si ce n’est pas recommandé, j’ai fait des tests. Déjà, je savais que ce n’était pas le panel C car j’avais essayé ce branchement et que celui-ci allumait l’écran. J’ai testé le panel A. Cela n’a rien donné donc j’ai essayé le B. Et là, VICTOIRE !

Ensuite, il suffit de brancher suivant votre panel, de cette manière (pour arduino uno/duemilanove/leonardo. Pour les cartes mega/sanguino/teensy, référez-vous au tableau) :

Pour finir, vous n’avez plus qu’à téléverser GLCDdemo pour voir si tout fonctionne.

J’ai eu le droit à deux surprises à ce moment-là :

  • Si vous avez l’erreur avrdude: stk500_recv(): programmer is not responding alors il faut débrancher le pin reset. Ce pin (pour une raison que j’ignore) fait foirer le téléversement. Dès que le programme est chargé, vous pouvez rebrancher le pin reset.
  • Si, lors de la démo, vous constatez que la droite et la gauche sont inversées, il suffit d’inverser les pins qui ont pour fonction CSEL1 et CSEL2 (voir tableau).

Et voilà. Maintenant, vous pouvez vous la péter.

Voici une vidéo qui montre le résultat.

Si vous voulez plus de détails concernant l’utilisation de cette librairie, voici quelques liens :

http://playground.arduino.cc/Code/GLCDks0108

http://playground.arduino.cc/uploads/Code/GLCD_Documentation.pdf

Le tableau et les images des branchements viennent du pdf. Il est très bien expliqué donc je vous le recommande.

Publicités

Une réflexion sur “Arduino + LCD 128*64 compatible KS0108

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s