Horloge multifonction (1ère partie)

Voici un projet qui est dans mes cartons depuis maintenant pas mal de mois et qui arrive enfin à un niveau de finition montrable. Le temps que j’y consacre est inversement proportionnel au temps passé à jouer sur console, ce qui en explique l’avancée laborieuse.

L’idée est d’avoir une horloge autonome multifonction utilisant un double afficheur led de 24x16 … J’avais déjà parlé de ces afficheurs lors d’un post précédent: achetés chez SureElectronics pour une bouchée de pain (14$), ils sont très bien finis, un peu inégaux au niveau de l’intensité des leds, mais globalement d’un excellent rapport qualité/prix.

Du point de vue fonctionnalité de l’horloge, il y a évidemment l’heure, la date mais aussi la température et l’humidité relative.

Je voulais aussi une horloge sympa niveau design qui n’ai pas trop l’air d’être un proto fait sur un breadboard à la va-vite. Je me suis donc procuré une plaque de plexi dans laquelle j’ai découpé une face avant et une arrière. Pour éviter les vis et boulons en façade, je me suis pris un kit de tarauds pour visser les tiges filetées directement dans le plexi sans qu’elles ressortent à l’avant … 

  Je n’avais jamais taraudé avant cela, mais finalement c’est simple et le résultat est très propre et solide. J’ai pris 1m de tige filetée que j’ai découpé pour avoir mon afficheur, le circuit et l’arduino pris en sandwich entre la face avant et la face arrière. La face arrière n’est pas encore placée actuellement, mais voici ce que donne la fixation de l’afficheur sur la face avant :

Pour surélever l’afficheur, j’ai découpé des petites sections de tube en alu afin d’éviter de voir le filetage. De plus, cela me permet d’avoir une distance fixe entre le plexi et le circuit imprimé. J’ai placé en tout 4 fixations par afficheur pour être certain que rien ne bouge au final. 

Pour ce qui est de la partie électronique:

  • un arduino comme élément central.
  • un DS1307 pour assurer une base de temps relativement solide et éviter de perdre l’heure en cas de coupure de courant.
  • un DC-SS500 de chez sure electronics pour la température et l’humidité
  • une photorésistance pour régler l’intensité de l’afficheur en fonction de l’éclairage ambiant.
  • un RFM12B pour la communication externe.

La communication externe n’est pas encore présente actuellement mais la place du chip est réservée sur le circuit. 

L’afficheur led est géré grâce à la librairie de Miles Burton que vous pouvez trouver ici. Son utilisation est simple et peut contrôler jusqu’à 4 afficheurs chaînés. Sur ce projet, je n’en ai que 2 chaînés et 4 fils sont utilisés : clock, data, CS1, CS2 … ainsi que l’alimentation, évidemment. J’ai juste fait quelques ajouts à la librairie pour avoir des fonts de taille double, vu que je compte pouvoir configurer le type d’affichage dans le futur. 

Voici le schéma complet du circuit (cliquez dessus pour l’avoir en plus haute définition) :

 

  Le tout a été monté sur un petit circuit expérimental, mais vu la simplicité du cablage, cela me semblait acceptable comme solution : 

L’arduino et le circuit sont posés sur du tape double face qui les maintiens en place mais surtout les isole des afficheurs.

Actuellement, l’heure est affichée en permanence sur la première ligne de texte, et sur la deuxième ligne, on a le jour/la date, l’humidité et la température en alternance. Le code est encore très expérimental … dès que celui-ci sera un peu plus finalisé, je le posterai.

Une fois la partie RF connectée, je compte faire communiquer l’horloge avec le reste de mes circuits. Je pourrai tracer les variations de température, humidité et luminosité sur mon poste central, et je pourrai aussi envoyer de commandes à l’horloge, telles que : 

  • remise à l’heure
  • changement d’affichage
  • message personnalisé 

A suivre dans un prochain post.

Joystick arcade V2.1

J’ai été confronté récemment à une limitation de mon joystick arcade maison: il est impossible de jouer au nouveau Mortal Kombat … pas assez de boutons. Pour rappel, j’ai utilisé des joypads xbox360 dont j’ai connecté les boutons A,B,X,Y, LB et RB. Mais c’est insuffisant car MK utilise aussi les deux gâchettes LT et RT, et il est très difficile de faire sans.

Jusqu’à présent tous les boutons et pads directionnels étaient de simples boutons on/off, mais ici, les gâchettes sont des petits potentiomètres (de 10K Ohm) comme vous pouvez voir sur la photo ci-dessous :  

 

Pour simuler le comportement du potentiomètre, j’ai simplement considéré les deux positions extrêmes de celui-ci en utilisant un bouton poussoir inverseur et deux résistances. Dans la positions de repos, un fil est en contact direct et l’autre passe par une résistance de 10K Ohm. Une fois que l’on pousse sur le bouton, la situation est inversée. Le schéma suivant représente ce que j’avais avant et ce que j’ai maintenant : 

Ce qui donne une fois monté sur un microswitch de bouton d’arcade : 

La partie soudure sur le circuit imprimé du joypad a été bien plus simple que pour les boutons précédents. J’ai retiré les potentiomètres à l’aide d’une pompe à dessouder et j’avais ensuite une place nette pour connecter mes trois fils. Le tout est suivi d’un coup de pistolet à colle pour éviter tous mouvements intempestifs des fils.

 

Pour des raisons ergonomiques, j’ai ajouté les deux boutons en dessous du bloc de six existant.

J’aurais aimé aussi déporter les leds placées sur le joypad afin de voir quand il est connecté et quel joueur est sélectionné. Devoir dessouder des leds surface mounted n’est déjà pas simple, mais essayer de connecter des fils après sur une aussi petite zone, cela me parait encore plus compliqué … Si quelqu’un a déjà fait ce genre d’opérations, je serais intéressé par la marche à suivre et/ou les outils à utiliser :-) … 

Radio retro V1.1

C’est reparti pour une amélioration de ma radio rétro avec media player intégré … Je n’aimais pas du tout l’écran externe et j’ai donc décidé de l’intégrer dans le meuble pour avoir une solution monobloc.

J’ai retiré toute la partie habillage de ce qui était un haut parleur dans la radio d’origine. Le tout était maintenu par des vis, ce fut très simple.

J’ai gardé une partie de la ‘grille’ du haut parleur pour maintenir l’écran en place. Cet écran ne couvrant qu’une partie de la zone dégagée, j’ai essayé de conserver au maximum le look de la radio. 

Je n’ai pas découpé le tissus à raz pour pouvoir le rabattre et le coller afin d’avoir une finition un peu plus propre.

J’ai ensuite collé l’écran grâce à un pistolet à colle. C’est assez barbare, j’en convient, mais je n’avais pas du tout le courage et l’outillage pour mettre en place une système de fixation propre et démontable.

L’avantage principal, en dehors de l’esthétique de la radio, est une simplification non négligeable du câblage. L’écran est alimenté directement par le transformateur du PC intégré et le câble VGA reste caché dans le boitier de la radio.

Seconde amélioration apportée à la radio, elle peut maintenant communiquer avec des modules externes grâce à un arduino accompagné d’un shield RF maison.

Mes premiers essais de communication sans fil entre arduinos utilisait des xbees, mais ceux-ci s’avèrent chers et j’avoue ne pas avoir su mettre en place une communication rapide et réactive avec plus de deux postes.

Je me suis donc replié sur une solution plus simple et qui répond à mes attentes, des modules RFM12B … le prix est très démocratique (5.5€ sur Jeelabs) et l’utilisation est relativement simple avec les librairies fournies par Jeelabs. Voici mon prototype de shield : 

L’ensemble des pins est câblé car je prévois des extensions futures.

De l’autre côté, j’ai aussi un prototype de module multifonction. Celui-ci est basé sur un arduino mini pro, un capteur de température et d’humidité (Sure electronics), un capteur de luminosité (Sure electronics) et deux leds multicolores (BlinkM).

L’idée est de créer plusieurs de ces modules afin de relever la température et l’humidité dans les différentes pièces de ma maison. J’ai ajouté ici deux leds multicolores pour permettre un éclairge léger de l’arrière de mon téléviseur qui sera le premier emplacement de test.

J’ai monté le module RF sur des pin headers que j’ai plié pour me retrouver avec un module facilement utilisable sur un breadboard, l’espacement de base des connecteurs du module RF étant plus faible que la normale.

Les autres modules : 

Voici l’ensemble assemblé avec un régulateur de tension en prime pour alimenter le tout via un petit transformateur bon marché : 

J’ai modifié l’interface de mon media player pour pouvoir changer facilement la couleur de mes leds, c’est encore un proto, mais je peux déjà jouer avec.

Je n’ai pas encore intégré l’affichage de la température, humidité et luminosité …  la partie sketch arduino est terminée, il ne reste plus que la partie c# de l’interface à mettre à jour.

Il reste encore quelques améliorations à apporter, principalement au niveau du software qui est encore assez limité pour le moment. Mais pour une utilisation au quotidien, cela s’avère assez efficace.

Intervallomètre - essais

Comme promis, voici deux vidéos réalisées grâce à mon intervallomètre maison.

J’ai utilisé un canon 550d avec un objectif sigma 50mm 1.4 … le tout en manuel pour éviter d’avoir des variations d’intensité d’une photo à l’autre.

Je profite de ce post, pour signaler que je viens de lancer une version ‘internationale’ de mon blog : Domoduino world. Mais, lecteurs francophones, rassurez-vous, je vais continuer à écrire tous mes articles en français et les traduire ensuite en anglais … 

Intervallomètre

Voici un petit projet autour d’un arduino mini pro qui a été relativement simple à faire et qui me permet de me relancer un peu dans mes projets électroniques quelque peu délaissés ces derniers mois.

Qu’est-ce qu’un intervallomètre ? Il s’agit d’une fonction que l’on retrouve sur certains appareils photos ou sur des boitiers de contrôle externes qui permet de prendre des photos à intervalle régulier, généralement dans le but d’en faire des vidéos. Typiquement, on photographie la progression de nuages dans le ciel et on repasse le tout à grande vitesse. Je n’ai pas encore de fichiers d’exemple à poster, mais dès que j’aurai un résultat acceptable, je l’ajouterai à mon blog.

Pour m’interfacer sur le reflex, j’utilise simplement l’entrée jack 2.5mm “remote control” qui permet de déclencher le focus et le zoom à distance. Le cablage est le suivant :

 

Pour isoler le contrôle de l’appareil du reste du circuit, deux optocoupleurs 4n35 font parfaitement le boulot. Ils sont tout deux reliés à une pin digital de l’arduino accompagnés chacun de leur résistance de 560 Ohm. 

Ça, c’est pour la partie contrôle, mais il faut maintenant avoir une interface digne de ce nom … j’ai opté pour un petit afficheur LCD de 4cm de large (HMC16223SG) que j’avais acheté chez Pollin. Il est muni d’un contrôleur HD44780 que je contrôle en 4bits pour limiter le cablage (7 pins utilisés à la place de 11). Petit désavantage, il n’y a pas de backlight, mais bon, ce n’est pas des plus critique sur ce projet.

J’ai trouvé un petit boitier sympa qui m’a permis de caser tout ça, il fait 13x6x3cm, est muni d’un emplacement pour une pile 9v et permet l’intégration d’un LCD grâce à une petite fenêtre en plastique. J’ai du malgré tout me battre pour que tout rentre dedans …

Voici ce que cela donne de l’intérieur :

  

J’ai placé en façade 3 boutons poussoirs pour se promener dans les menus. J’ai repris les mêmes que ceux de ma télécommande vu le peu d’espace qu’ils occupent.

Et l’extérieur :

Les boutons de droite permettent de se déplacer dans les menus, le bouton de gauche sélectionne l’entrée courante du menu et une fois cela fait, les deux autres boutons permettent de changer la valeur associée.

Le menu est organisé comme suit :

  • GO - démarre la prise de photo 
  • Automatique (Nombre de photos/Intervalle/Temps total) - permet de choisir le paramètre qui sera calculé automatiquement. Par ex : si Nombre de photos est sélectionné, il sera calculé automatiquement en fonction du temps total et de l’intervalle entre les photos.
  • Intervalle - temps de pause entre chaque photo.
  • Nombre de photo.
  • Temps total.
  • Utilisation du focus - Active ou non la mise au point avant de prendre la photo.
  • Durée du focus.
  • Délai avant la première photo.
  • Mode de test.

Il y a deux leds en façade, la verte permet de voir si l’appareil est allumé. La deuxième permet de voir si une entrée menu est actuellement selectionnée (allumée en continu) ou si une session de photo est en cours (clignotement à chaque seconde).

Petite cerise sur le gâteau, je stocke les paramètres dans l’eeprom et donc d’une session à l’autre, pas besoin de tout régler à nouveau.

Le soft représente quand même 650 lignes de code, mais j’avoue avoir été assez fainéant et ce n’est pas des plus optimisé … mais tout fonctionne, c’est le principal :-).

Des extensions sont facilement envisageables: le déclenchement de prise de photos en fonction du son ou de la lumière. Il me reste encore quelques pins de libres sur l’arduino, donc, tout est faisable … si j’arrive à caser encore quelque chose dans le boitier.

J’espère pouvoir faire bientôt quelques essais et poster cela ici.D’autre part, si le code vous intéresse, je peux le poster, mais j’ai la fâcheuse habitude de nommer toutes mes variables en anglais … 

--Tagged under: arduino photo--

Joystick arcade

Question de changer un peu, je vais poster quelques images d’un projet que j’ai commencé il y a maintenant un paquet d’années et que je remets à jour régulièrement. Peu de rapport avec les arduinos ou la domotique, mais on reste dans le domaine du fait maison … 

J’ai toujours été grand amateur de jeux vidéos et, en particulier, de jeux d’arcade. Il y a maintenant quelques années, je me suis commandé de quoi monter mon propre joystick arcade à partir de véritables pièces de bornes d’arcade. En cherchant un peu je suis tombé sur un magasin en ligne où l’on peut trouver de tout et au détail : http://www.happcontrols.com/. Ils sont visiblement toujours en activité. 

L’ensemble du matériel est de très bonne qualité, tous les boutons sont à microswitch et donc très résistants malgré tous les mauvais traitements qu’ils pourraient subir.

Dans un premier temps, j’avais utilisé une petite carte USB I-PAC (http://www.ultimarc.com/ipac1.html) qui émulait un clavier et qui avait le grand avantage d’autoriser autant de boutons/touches pressées simultanément que l’on désire, ce qui n’est pas le cas d’un clavier classique. Mais, depuis quelques années, j’ai un peu délaissé mon PC comme plateforme de jeu pour une XBOX 360, ce qui rendait mon joystick inutile.

J’ai donc vampirisé deux manettes Xbox360 sans fils qui avaient fait leur temps et ne fonctionnaient plus tout à fait comme elles devaient. J’ai gratté les surface conductrices et soudé à même le circuit imprimé des nappes de fils.

 

Je n’ai raccordé que les contrôles digitaux question de me simplifier la vie. Et, de l’autre côté de la nappe j’ai raccordé les boutons à microswitchs :

Le tout deux fois, question de pouvoir jouer à deux … c’est un minimum pour une partie d’arcade réussie :-). Le résultat final :

Si vous avez des questions sur ce projet, n’hésitez pas, j’espère que cela donnera des idées à certains … au final, ce n’est pas très complexe à réaliser et le fun est maximal !

Plus tard, j’aimerais pousser le projet plus loin jusqu’à monter le tout dans un meuble d’arcade … mais ce sera pour une autre fois, quand j’aurai un peu plus d’espace … et surtout de temps … 

Radio retro & co.

Avant tout, une excellente année 2010 à tous … J’espère arriver à poster un peu plus régulièrement cette année … Ca ne devrait pas être trop difficile remarquez … :p …

News tout récente: le blog Domoduino est maintenant référencé par http://planet.madeinfr.org/ … Je vais faire mon possible pour être à la hauteur et ne pas (trop) raconter de stupidités.

Vu que mes posts sont plutôt étallés dans le temps, j’ai pas mal de choses à raconter (il faut bien voir les côtés positifs). J’ai d’abord mis au point un petit prototype d’éclairage pour ma cage d’escalier qui utilise un détecteur de mouvements PIR, ensuite, j’ai intégré un petit pc basé sur une ASUS AT3N7A-I dans une vieille radio accompagné d’un petit ampli.

        Eclairage d’appoint déclenché par infrarouges

J’ai utilisé un détecteur pir standard, 3 connecteurs : +5v, ground et signal. Le signal est à haut quand quelque chose entre dans le champ de vision du détecteur autrement il est à bas … rien de plus simple de ce côté-là. Pour ce qui est de l’éclairage led, j’ai utilisé une barette led de 1W de chez sure electronics (http://www.sureelectronics.net/) … Je recommande chaudement ce magasin en ligne, ils ont des produits incroyables à des prix ridiculement bas. Les barettes leds par example sont à 2.2$ pièce et elles ressemblent à ceci :

Leur luminosité est trop forte pour l’usage que je voulais en faire, je n’ai pas spécialement envie d’avoir un escalier pleinement éclairé au milieu de la nuit, j’ai donc opté pour un contrôle de leur intensité en utilisant une modulation de fréquence d’alimentation (PWM). Le problème est que ces leds consomment 80ma par plaque, ce qui est supérieur à ce que supporte une sortie arduino, de plus elles sont alimentées en 12V et non 5V. Après un peu de recherche, j’ai trouvé ce qu’il me fallait : Un ULN2003A, c’est à dire un Darlington array contrôlable en 5V supportant plusieurs dizaines de volts en charge et jusqu’à 500ma, tout à fait ce qu’il me fallait. Pour gérer tout ça, j’ai utilisé un mini arduino pro … oui, c’est plutôt ‘Overkill’ comme solution, mais l’idée à terme est d’y ajouter un détecteur de température, d’humidité et autres joyeusetés.

Le système a fonctionné plus ou moins 15 jours, ensuite l’arduino a cessé toute activité … la led d’alimentation fonctionne encore, mais le reste est mort. Après autopsie, j’ai détecté une erreur de connexion de ma part … le +5v de détecteur PIR était branché sur la pin Reset et non sur la VCC … Je ne comprends toujours pas comment le détecteur pouvait fonctionner. J’ai rectifié le branchement et j’ai profité de l’occasion pour y ajouter un régulateur de tension digne de ce nom afin d’éviter de faire chauffer celui qui est placé sur le board du mini. L’alimentation que j’utilise est de 9.5v, ce qui est dans les normes du mini, mais bon … dans le doute et vu que j’avais quelques régulateurs sous la main …

Une fois que le système aura fait ses preuves, je brancherai 2 ou 3 plaques de leds avec du plexi poncé devant afin de diffuser la lumière de manière un peu plus propre et définitive que ce que j’ai actuellement.

Le software actuel est on ne peut plus simple: si il y a détection de mouvement, il y a un ‘fade’ vers le niveau maximal de luminosité … après 15 secondes sans aucune activité dans le champ de vision du détecteur, il y a un ‘fade to black’. Si vous êtes intéressé par le code, je le posterai.

        Radio rétro

J’utilisais depuis quelques temps un petit pc comme media player dans mon living, mais il était vieux, consommait pas mal et niveau performances, c’était assez déplorable. J’ai craqué pour une carte mère AT3N7A-I de chez Asus (processeur ATOM et contrôleur ION), 2Gb de RAM et Windows 7 … je ne le regrette pas du tout. L’avantage de Seven est d’intègrer un support touchscreen de base et mon PC est justement connecté sur un petit écran 7 pouces tactile (acheté sur Ebay).

Pour éviter d’avoir un pc et un ampli sous les yeux tous les jours, j’ai décidé d’intégrer le tout dans une vieille radio à lampes qui était totalement hors d’usage. En plus de cela, j’ai du ajouter une alimentation PC et un préampli.

Pour le préampli, j’ai tenté un kit velleman stéréo alimenté sur du 2x12V et j’avoue avoir été TRES déçu par le son … impossible d’éviter le bourdonnement du au transformateur, même en éloignant celui-ci du circuit. Au final je l’ai complètement supprimé (les photos suivantes ont été prises alors qu’il était encore présent) et la qualité du son est maintenant bien supérieure à ce que je pouvais avoir. Le réglage du volume doit maintenant se faire sur le PC et non plus via un potentiomètre … mais je compte bien y remédier bientôt.

Pour la partie ampli, la aussi j’ai été chez Sure electronics pour y trouver un ampli 2x100W classe D qui est vraiment impeccable vu son prix de 40$.

Voici l’ampli et le préampli intégré dans le boitier :

Les deux potentiomètres visibles sont pour les basses et trebles, la nappe de fils déporte le troisième potentiomètre en façade pour pouvoir régler le volume. Le petit ventilateur situé sur l’ampli est totalement inaudible … il y en a même un de remplacement fourni avec.

Le PC lui est dans un boitier ouvert, ce qui m’a permis de retirer le ventilateur de base qui était particulièrement bruyant car trop petit et tournant trop vite. Pour compenser ce manque, j’ai installé un ventilo 12 cm sous volté à l’arrière de la radio … je n’ai absolument aucun problème de chauffe. Je dois encore remplacer le ventilo 12cm (qui était une récup’) par un noisebocker ou similaire afin de supprimer tout bruit venant de la radio. Je dois aussi me commander une alimentation fanless qui rendra l’ensemble totalement silencieux, ce qui n’est pas encore le cas.

Voici l’arrière une fois le tout refermé :

Et l’avant :

 

Le bouton gauche est un bouton poussoir servant à démarrer le pc, j’ai simplement démonté un bouton existant et collé le bouton d’origine avec de la colle forte.

Le bouton de droit est sur un potentiomètre qui devrait servir à régler le volume … mais vu que j’ai supprimé le préampli, il est maintenant inutilisé. Je pense sérieusement à intégrer une partie électronique customisée pour pouvoir l’utiliser … je pourrais aussi le remplacer par un potentiomètre digital (comme je l’ai fait pour ma télécommande) de manière à pouvoir contrôler le niveau sonore sur le PC directement et/ou sur la radio.

Pour ce qui est du software, c’est du fait maison aussi. Le tout est en c# et utilise le protocole UPNP pour énumérer les source sons (mp3, webradios …). Je posterai quelques screenshots si cela vous intéresse …

Ceci cloture don le premier long post de 2010 … je vous tiendrai au courant de l’évolution de ces deux projets et aussi d’un troisième dont je n’ai pas encore parlé : une horloge basée sur un affichage de type matrice à led.

Télécommande V0.2

L’intégration de la nouvelle télécommande est finalisée (temporairement :p) … Niveau fonctionnalité, je suis très proche de ce que j’avais dans la V0.1, la différence principale réside dans le LCD graphique et les commandes et menus s’y affichant.

J’ai adopté aussi un look très industriel années 70 … je dois encore modifier le potentiomètre numérique blanc qui va sans doute passer au noir un pour être plus assorti aux boutons.

Je me suis fait plaisir aussi en ajoutant un détecteur infrarouge qui permet d’allumer automatiquement la backlight du LCD quand j’approche la main … la preuve en image :

J’ai un peu ramé pour le déclenchement de la backlight, elle tire quand même 500ma et les PCF8574 que j’utilise sont assez limités de ce côté-là … dans un premier temps j’ai utilisé un relais, mais il générait un problème aléatoire qui faisait passer toutes les entrées du PCF8574 à haut. Finalement, le vendeur de mon magasin d’électronique m’a proposé d’utiliser un Mosfet IRLZ34N qui s’avère fonctionner parfaitement … et en plus j’évite le bruit du relais.

Du point de vue menu/boutons , j’ai un changé d’approche: La rangée supérieure active la commande reprise sur le bas du LCD (XBOX 360, Bureau …), la rangée du bas permet de changer la commande active.

J’ai donc sur la première colonne la possibilité de changer l’entrée active de mon ampli et du switch DVI : Xbox, PC, ON ou OFF. En pratique, le ON ne sert à rien puisque le passage à PC ou Xbox allume l’ampli aussi. La deuxième colonne me permet de basculer l’éclairage du bureau ou de la salle de bain adjacente. La dernière colonne sert de menu de configuration et ne contient pas grand chose pour le moment, mis à part un reset forcé du LCD.

Le boitier est un peu plus grand que la version précédente, mais le LCD est bien plus lisible et va me permettre d’ajouter quelques informations comme la date, l’heure, la température … etc.

En parallèle à la finalisation du boitier, j’ai commandé quelques “gadgets” chez http://www.sure-electronics.com/, le choix et surtout les prix sont carrément bluffants. Je dois dire que je suis très satisfait de la qualité de leur matériel, c’est très professionnel surtout si l’on considère le prix de revient. J’ai, entre autre, commandé des affichages leds 16x24 (11.64$ !!!) afin d’en faire une horloge murale … mais ce sera l’objet d’un futur billet.

Les lenteurs d’I2C …

Après quelques essais, je me suis rendu compte que I2C fonctionnait bien … mais … TRES lentement. J’affiche des éléments graphiques sur mon LCD et quand il est brnaché en direct sur l’Arduino, c’est quasi instantané, mais quand je passe par I2C pour les lignes de contrôle, on peut clairement voir la façon dont il remplit les rectangles.

J’abandonne donc l’idée du I2C pour le contrôle du LCD, par contre, je vais toujours l’utiliser pour lire l’état des boutons de la nouvelle version de l’interface ainsi que pour avoir quelques pins de sorties en plus vu que la majorité des pins sont maintenant réservés pour le LCD.

J’ai donc une fois de plus changé la répartition des pins de ma librairie LCD pour tout mettre sur les pins de 2 à 13. J’ai figé le reset qui n’est pas nécessaire pour mon LCD (Je ne sais pas si c’est le cas pour tous les 6963) et le font select vu qu’une fois pour toute j’utilise l’espacement le plus faible.

J’ai bien trouvé le moyen d’augmenter la vitesse de l’i2C de 100khz à 400khz, mais ça reste franchement faible par rapport à une connexion directe.

J’ai une autre solution mais que je n’utiliserai que si il n’y a pas moyen de faire autrement: utiliser un deuxième arduino (j’ai 3 pro en réserve) pour en faire un controlleur graphique … j’enverrais juste les commandes haut niveau d’affichage et l’arduino pro lui servirait de ‘carte graphique’. Le concept me plait assez bien, mais je le trouve un peu ‘overkill’ pour une simple télécommande.

J’espère avoir une version 2 bientôt fonctionnelle pour poster quelques photos.

Sources t6963c

Pour ceux que ça intéresse, voici les liens vers la librairie t6963c modifiée … C’est toujours la version ‘full pins’, pas encore la version I2C.

Les connections sont les suivantes

Data : 0->7 : digital pins 2->9

Ctrl : WR : analog pin 0

Ctrl : RD : analog pin 1

Ctrl : CE : analog pin 2

Ctrl : CD : analog pin 3

Ctrl : RESET : analog pin 4

Ctrl : FS : analog pin 5

http://www.mediafire.com/file/4uyyj54yo1u/GDt6963c.h

http://www.mediafire.com/file/dwj2mqztloy/GDt6963c.cpp

En I2C, j’ai la partie contrôle qui fonctionne, par contre, impossible pour le moment d’avoir les datas qui passent. Je continue mes investigations …

Theme created by: Roy David Farber and Hunson. Powered By: Tumblr...
1 of 2