les ESP32 sont capables de fournir ou absorber une trentaine de mA sur les GPIO (fournir 40mA, recevoir 28 mA). En décâblant l'afficheur du LM8560 il parait possible d ele piloter par des GPIOs d'ESP32
Une résistance est a ajouter entre GPIO de l'ESP32 et les segments pour maintenir le courant dans cette limite
A savoir si cette valeur permet d'obtenir une luminosité acceptable avec l'afficheur 'vintage' à exploiter, segments formés chacun par une LED rouge ? (de la couleur dépend la tension nécessaire)
Ensuite il suffit de bien s'adapter au multiplexage un peu particulier de l'afficheur .
( segments câblés 2 par 2 semble-t-il et non le multipexage digit par digit souvent rencontré.)
Une photo nette etr de gros plan de l'afficheur permettrait de bien voir ses connections
Merci al1fch pour ces réponses auxquelles j'apporte ces précisions :
Il n'y a rien entre le LM8560 et l'affichage LED, c'est direct (je n'ai pas fait la photo du circuit).
Comme spécifié dans mon premier post, je n'y connais rien en électronique, alors s'il faut ajouter des composants entre l'arduino et l'affichage, il faut me dire quoi et où précisément.
Comme précisé dans le premier post, j'ai compris le fonctionnement de l'affichage et j'ai déjà la structure du code à écrire.
Pour info, bien que ce soit hors sujet :
Avec l'alimentation redressée avec un point milieu, il y a la moitié de l'affichage qui s'allume à chaque alternance.
Il y a 14 pins pour les segments et les points du haut ou du bas.
Il y a quelques autres pins reliés au point milieu de l'alimentation.
entre le circuit intégré et l'afficheur il y a..... des fils , s'il n'ya avait rien l'afficheur serait toujours éteint !!!
S'il ya 14 fils , cela permet de piloter 26 DELS (segments ou points) , 14 dans un premier temps, les 14 autres dans l'autre si l'afficheur est conçu comme cela.
Les fils sont à dessouder pour séparer afficheur et circuit intégré LM3850 puis reliés à 14 sorties numériques d'une carte Arduino (ou assimilée) insérant dans chaque fil une résistance dont la valeur dépend et de la couleur des LEDS et de la tension à l'état haut des sorties (5V ou 3,3V selon les cartes)
Si la carte 'Arduino' fonctionne avec un ESP32 et l'afficheur rouge tester avec 14 résistances de 100 Ohm
Merci alf1fch, mais je sais déjà tout ça.
De plus c'est explicite dans les extraits du datasheet de mon premier post.
Il y a 14 pins pour les segments et les points du haut ou du bas.
Il y a quelques autres pins reliés au point milieu de l'alimentation.
Ca fait donc un peu plus que 14 fils, et certains de ceux reliés au point milieu de l'alimentation sont doublés.
J'ai trouvé ceci, mais ça ne m'aide pas vraiment à avancer :
si tu sais déjà qu'il faut relier les sorties numériques de ta future carte aux 14 entres d el'afficheur à travers des résistances et si tu as une idée du code quel est le problème , ya plus qu'à !!
veux tu
1 : conserver le LM3850 en activité et le piloter par un code Arduino ?
2: contourner le LM3850 et piloter l'afficheur en direct (à travers des résistances) par le code Arduino ?
j'ai répondu implicitement sur l'hypothèse 2 qui est celle que je suivrais
Comme je n'y connais rien en électronique, c'est le "y a plus qu'à" qui coince.
Je ne sais quelles valeurs des composants je dois utiliser pour ne pas griller l'arduino ou l'esp.
Peut-être me suis-je mal exprimé dans le premier post :
Afin de toujours avoir la bonne heure, je voudrais remplacer le contrôleur de l'affichage par un arduino (par GPS) ou ESP32 (par NTP).
.../.... Mon souci est de relier l'afficheur à l'arduino ou à l'ESP32, sans le faire griller
Je ne sais quelles valeurs des composants je dois utiliser pour ne pas griller l'arduino ou l'esp.
As tu réellement lu mes réponses ?
Je propose une valeur pour les 14 résistanses à insérer en série avec les 14 fils (cas ou un ESP32 commande des leds rouges recevant environ 20mA chacune)
la couleur de l'afficheur n'est toujours pas connue et , comme je l'ai écrit, elle conditionne le choix des composants
je pensais avoir détaillé cela ....
l'objectif étant (cf message #1) :
je voudrais remplacer le contrôleur de l'affichage par un arduino (par GPS) ou ESP32 (par NTP).
N.B : Les extraits en anglais que tu as cité (message #6) évoquent eux, un pilotage du circuit LM3850 par une carte Arduino en remplacement des boutons du réveil , ce n'est pas moi qui ait invité cette alternative dans le fil de discussion !!
Soit l'affichage est piloté par un arduino et j'ai l'heure exacte depuis un module gps, soit il est piloté par un esp et j'ai l'heure exacte par internet (serveur NTP)
Faire un test avec une résistance de 100 Ohm pour chaque fils, pourquoi pas, mais quelles pins utiliser sur l'arduino ou l'esp ?
mais quelles pins utiliser sur l'arduino ou l'esp ?
n'importe quelle pin pouvant fonctionner en sortie numérique, n° à préciser pour chaque type de carte, il n'y a pas de réponse universelle plus précise.
'ESP32 me parait être une bonne piste, mes cartes 'Arduino' (au sens large) sont maintenant de ce type !
L'idée de glisser un ESP32 dans un vieux réveil me plait bien , qui sait en y ajoutant dans un second temps une lecture de mp3, une web radio......
Attention : ESP32 n'est pas un nom de carte mais un nom de microcontrolleur utilisé sur des cartes de taille diverses , toutes ne donnent pas accès au même nombre de GPIO
J'ai donné les liens vers 3 sujets parlant de l'affichage ou du contrôleur, pour montrer :
ce que d'autres ont déjà dit,
d'autres photos complémentaires,
que je n'attendais pas que ça tombe tout cuit
et c'est le site qui a remplacé les liens par le premier sujet de chaque post.
En fait, il ne faut pas cliquer à droite sur V mais à gauche sur le titre.
Il y en a un qui propose d'utiliser des transistors :
. Use two output pins and two small NPN transistors to switch the two cathodes to Ground and connect the 14 anodes to 14 output pins.
et / ou
you can use a 16-bit shift register
Arduino ou ESP, c'est fonction de l'endroit où il sera utiliser, je ne sais pas encore.
J'avais pensé au DCF77 à la place du module gps, mais ce module est assez difficile à trouver et la réception dans le sud ouest est délicate.
on peut bien entendu envisager plusieurs styles d'interface entre carte 'Arduino' et un afficheur 4 digits, 7 segments multiplexé en 2x1 , mais pourquoi ne pas tenter de faire le maximum côté software et reduire au minimum la partie matériel (=1 résistance par fil) ?
Si ça n'est pas viable il sera possible de reporter sur du matériel une partie du travail....
j'ai répondu dans cet esprit .....qui laisse au programmateur le gros du travail pour ne pas avoir à 'pondre' un schéma d'interface matérielle assurant le multiplexage approprié pour soulager le microcontrolleur tant pour le programme que pour le nombre de sorties monopolisées......
j'ai été un peu vite et me suis focalisé sur les 14 paires d'anodes de leds qui recoivent le courant et ait oublié les deux groupes de 14 cathodes qui en alternance drainent un courant vers la masse
Une entrée d'ESP32 ne peut encaisser tout ce courant si plusieurs sergments du groupe actif sont allumés Deux transistors NPN , ou mieux deux MOSFETS canal N sont à insérer entre 'Arduino' et cathodes groupées
Côté anodes pas de problème pour les coutrants à envoyer , côté cathodes il faut tenir le cumul dans le pire des cas (=courant de 14 leds)
Utiliser les 14 sorties disponibles (en fonctions des cartes) de l'arduino ou de l'esp, réduit considérablement la possibilité d'utiliser des boutons pour afficher les secondes ou le mois ou l'année, et ensuite d'ajouter un buzzer et modifier le code pour programmer l'heure du réveil ou la durée de la sieste ou l'extinction automatique (de quoi, je ne sais encore).
Mieux vaut établir un cahier des charges indiquant dès le départ toutes les fonctionnalités désirées, puis en déduire le nombre d'E/S nécessaires...
IL est certain qu'un registre à décalage série/parallète à 16 sorties pilotant les anodes réduirait forment l'occupation des pins....(solution avec 2 mosfets N pour les cathodes communes, registre à décalage pour les 14 paires d'anodes)
tension : lister les contraintes individuelles des composants,
3,3v pourraient suffire , l'afficheur n'étant probablement , vu son âge , pas doté de leds blanches !
Ce sont de sages conseils d'un électronicien.
Comme je n'y connais rien en électronique, pas étonnant que je n'ai pas vraiment d'approche.
Au début, c'était réutiliser l'affichage, dans un but didactique, puis en découvrant sur la toile ce qu'il se faisait, le champ des possibles s'agrandi.
Un peu comme avec arduino.
On commence avec un kit, pour expérimenter tout et n'importe quoi, puis au fur et à mesure, des projets plus élaborés se profilent.
Les leds sont rouges. Vu par "transparence" au travers du support de l'affichage.
idée de schéma à discuter.... utilisant un registre à décalage 16 bits (I2C ou SPI) pour piloter ls 14 entrés d'anodes de l'afficheur et 2 MOSFETS permettant d'activer l'un ou l'autre des 2 groupes de cathodes
Peu de GPIO utilsées côté microcontrolleur au choix la version SPI ou I2C ( MCP 23S17 ou MCP23217) pouvant fournir une vingtaine de mA dans les anodes
le code enverrait en alternance (à une cadence suffisante pour la persistence rétinienne) les infos de 14 segments + celle du MOSFET à activer et celui à désactiver
J'ai léissé la référence de MOSFET venat avec le symbole, c'est indicatif
en envoyant , à 'mi temps' un courant de 20ma dans les anodes , les 10mA moyens suffiront peut être pour la luminosité désirée
La ref 2N002 pour le MOFSET est indicatif ? Je ne peux pas m'y fier ?
R1 à R14 c'est des 100 0hms ?
Et pour R16 à R18 ? ça dépendra du MOFSET utilisé ?
Est-ce que à 100Hz ou 1000Hz le courant moyen est le même qu'à 50 ?
En théorie oui, mais j'ai un doute, comme il y a une persistance rétinienne, il y en a peut-être une côté matériel (comme pour les filaments incandescents) ?
MOSFET , deux contraintes :
-il doit supporter 14x20mA dans le pire des cas (prendre un MOSFET donne pour 500mA au minimum)
-il doit être franchement conducteur quand la sortie du MCP2317 est à 3,3V (cas d'un montage à ESP32+MCP2317 fontionnant sous 3,3V), Prendre un MOSFET dont le VGS est de 1,5V au grand maximum
attends un peu.... des propositions arriveront, certaines en minuscules boitiers CMS....
Alternative , remplacer les MOSFET par des transistors biolaire NPN ,2N2222 avec 1k entre sortie MCP2317 et Base
R1 à R14 , 100 ohm pour un montage alimenté en 3,3V , 150 ou 180 Ohm pour un montage alimenté en 5V
Pour les résistances des MOSFET le valeurs ne sont pas aussi 'pointues', par exemple 1K en série avec les Grilles, 100k entre Grilles et masse
courant moyen quasiment identique
pas d'inertie dans les LEDS contrairement aux filaments, 100Hz est suffisant pour la persistance rétinienne