Bonjour, je viens de me procurer (récupération) un écran LCD 24*16, qui peut gérer 6 couleurs, mais je n'arrive pas à l'utiliser avec ma carte Dueminalove, je n'ai pu trouver aucun datasheet, et je n'arrive pas à trouver le protocole à utiliser. Quand je l'allume, on peut y voir les gros pixels de 2mm², mais sans aucune couleur.
J'ai pris plusieurs photos, mais je suis pas sûr de donner suffisamment d'informations...
J'aimerais pouvoir éclairer un pixel cibler d'une couleur choisie, mais je ne sais pas comment communiquer à la carte les coordonnées du pixel et sa couleur...
Merci de ta réponse taddot :
Je n'ai pas soudé les fils, je les ai récupérer tel quel sur un robot méccano qui ne marchait plus. Voici ce qu'il y a d'écrit sous les fils :
noir (le plus fin) : AP3, blanc AP1, gris AP2, vert RESET, noir (le plus gros) GND, et bleu VCC.
Voilà, j'espère que quelqu'un pourra m'aider...
Si quelqu'un avait une idée du protocole à utiliser, ou une petite piste, je lui en serait reconnaissant...
Merci.
Ou en interrogeant directement Meccano (je sais, je suis un réveur )
Le reset, il agit comment ? (connecté à la masse ou connecté au Vcc ?)
A vue de pif, je dirais que selon la tension sur chaque borne APx, tu sélectionnes le pix et sa couleur. Genre AP1 = abscisse, AP2 = ordonnée, AP3 = couleur (au fait : 6 couleurs = 6 niveaux de gris ?).
J'ai en fait récupérer mon écran LCD sur un robot Spykee vox de meccano qui ne fonctionnait plus... Mais n'étant pas vraiment du meccano "classic" je doute de trouver ma solution sur le "web-ring".
Pour le bouton reset, je ne sais malheureusement pas, désolé, et les 6 couleurs ne sont pas 6 niveaux de gris, mais 6 couleur différentes.
Je sais pas si tu l'as vu sur les photos, mais il y a un fil (marron) qui n'a aucune légende.
Pour ton hypothèse, devrais-je envoyer une suite de bits ? Si oui, à quel intervalle, et une suite de combien de bits ?
pour le marron, se trouvant à coté d'un gnd, je dirais réglage de la luminosité / contraste (mais aucune certitude) - Essaie de suivre les pistes pour savoir. C'est toi qu'il l'a démonté ? Il était raccordé à quoi ?
Pour le débit, en liaison "série", aucune idée. Commence à 9600, 7 bits, sans parité, sans bit de stop. Mais je voyais ça plus en version "analogique" : en fonction de la tension appliquée à chaque entrée, tu détermines la pos et la couleur.
Page 22 et 23 de la notice on voit dans les exemples d'édition des écrans que la couleur choisie concerne l'ensemble du texte ou l'ensemble du dessin.... ça peut sans doute permettre d'orienter les recherches.
En revoyant les photos je penche en faveur d'un afficheur monochrome et d'un rétroéclairage à 6 couleurs (R,B,G + 3 mélanges de 2 couleurs)
Les 7 fils pourraient éventuellement être : (edit = mal lu les infos précédentes , oubli du Reset !)
-une entrée de données (serie synchrone) et son horloge, (a relier par ex à MOSI et CLK)
-les 3 couleurs pour gérer les Leds
-l'alimentation.
Merci pour toutes vos réponses, le fil marron sert effectivement à régler le contraste, mais comment pourrais-je envoyer des bits à un certain débit ? Sinon taddot, pour ta version analogique, il suffirais juste d'envoyer une fréquence sur PA1, PA2 et PA3 grâce à la fonction analogWrite ?
Sachant maintenant (merci al1fch) que l'on ne peut régler la couleur que pour tous l'écran...
analogique = une tension (une différence de potentiel si tu préfères), pas une PWM.
A mon avis, tes fils ne servent qu'au rétro-éclairage.
Sur l'une des faces du PCB, il semble y avoir des contacts. Le pilotages des pixels se fait peut-être par là. N'y avait-il pas des connecteurs en plus sur ton circuit ?
Sur mon circuit, il n'y avait pas de connecteur en plus, je n'ai rien enlever/ajouter. Pour l'"analogique", c'est en fait le même système utiliser dans l'infrarouge ? Et si oui, à quel intervalle penserais-tu que je devrais envoyer mes impulsions ? Et des impulsions de quelle grandeur ?
Je pourrais aussi essayer d'envoyer des bits, mais je ne sais vraiment pas comment faire...
je continue de mon côté à creuser la piste de la communication série pour gérer les pixels.
24 lignes et 16 colonnes = 384 éléments que l'on pourrait programmer en série par l'envoi de 48 octets sur 2 ou 3 fils.
Regardez un composant comme le HT1623G d'HOLTEK : il est capable de piloter 384 éléments LCD (points, segments, symboles...) à partir de sa RAM que l'on remplit avec une interface '3fils'. Peut être la puce sous l'epoxy !! http://www.holtek.com/english/docum/consumer/1623.htm
Peu importe comment les éléments sont répartis sur la plaque de verre (matrice, lignes de symboles spéciaux....). Bien sûr cela n'explique pas comment seraient en plus gérée la couleur du retroéclairage par les 4 leds RGB. Une astuce peut être à l'aide des quelques transistors...
Je suis désolé, mais ce que je prenais pour un PA3, la légende qui se trouve sous le plus petit fil noir, était en fait un PAC (avec le C à l'envers).
Je ne sais pas si ça change quelque chose...
Je pense à une transmission 'série synchrone' par laquelle les 384 bits repésentants les états des 384 pixels seraient envoyées un par un, les uns après les autres, sur un fil unique, une horloge donnant le rythme sur un autre fil.
C'est ce qui se fait pour les shields SD, Ethernet, RTC, Dallas1820.... avec 2 possibilités en sorties :
Bus SPI : MOSI (digital 11) , SCK (digital 13), SS (digital 10) + (librairie SPI)
Bus I2C : SDA (Analog 4) et SCL (Analog 5) + (librairie Wire)
Avec un chronogramme tel que ci-dessous l'envoi se ferait bit par bit en 96 groupes de 4 bits
Mais si j'utilise le protocole I2C, il faut que je spécifie une adresse, serait-ce la première adresse non réservée ?
Voici mon code :
#include <Wire.h>
void setup(){
Wire.begin();
}
void loop(){
for(int i = 0; i < 96; i++){ //les 96 groupes
Wire.beginTransmission(0x58); //envoie a l'adresse du bus 0xB0
for(int h = 0; h < 4; i++) //les 4 bits
Wire.send(0x01); //mise dans le buffer en attente de fin de transmission
Wire.endTransmission(); // fin de la transmission
}
}
Non, l'adresse d'un périphérique I2C est codée dans le composant lui même avec parfois la possibilité de choisir parmi 2,3 ou 4 adresses prédéfinies. Il est de toutes façons assez difficile de gérer un composant I2C sans sa documentation. J'espère pour toi que ce n'est pas le cas !!
Bon courage !!