Afficheur 7 segments Adafruit
Modérateur : Francois
- la_couenne
- Messages : 15
- Enregistré le : lun. 2 févr. 2015 07:32
Afficheur 7 segments Adafruit
Bonjour à tous!
Je suis dégouté car j'ai l'impression qu'il n'y a rien de compliqué mais pourtant je ne trouve pas l'information..
J'ai fait un projet de réveil qui se connecte à mon agenda pour définir l'heure du lever du lendemain.
Je souhaite allumer mes afficheurs à 7 segments via l'interface I2C.
J'utilise la distribution Jessie sur mon Raspberry, une fois mon afficheur connecté, j'ai vérifié qu'il soit reconnu en tapant la commande:
sudo i2cdetect -y 1
Maintenant je ne parviens pas à trouver un exemple de code python, ni les librairies sur le site d'adafruit
Sur leur page il y a bien un readme ici: https://github.com/adafruit/Adafruit-Ra ... ython-Code
mais il ne m'aide pas, ou alors je passe à côté...
Si quelqu'un peut m'aider, je serai éternellement reconnaissant car ça fait une semaine que je sèche
Merci d'avance
Je suis dégouté car j'ai l'impression qu'il n'y a rien de compliqué mais pourtant je ne trouve pas l'information..
J'ai fait un projet de réveil qui se connecte à mon agenda pour définir l'heure du lever du lendemain.
Je souhaite allumer mes afficheurs à 7 segments via l'interface I2C.
J'utilise la distribution Jessie sur mon Raspberry, une fois mon afficheur connecté, j'ai vérifié qu'il soit reconnu en tapant la commande:
sudo i2cdetect -y 1
Maintenant je ne parviens pas à trouver un exemple de code python, ni les librairies sur le site d'adafruit
Sur leur page il y a bien un readme ici: https://github.com/adafruit/Adafruit-Ra ... ython-Code
mais il ne m'aide pas, ou alors je passe à côté...
Si quelqu'un peut m'aider, je serai éternellement reconnaissant car ça fait une semaine que je sèche
Merci d'avance
Re: Afficheur 7 segments Adafruit
Salut,
Quelle est la référence de tes afficheurs ? Ce sont des afficheurs classique ou a l’arrière il y a une platine intégrée pour les gérer ?
Quelle est la référence de tes afficheurs ? Ce sont des afficheurs classique ou a l’arrière il y a une platine intégrée pour les gérer ?
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Afficheur 7 segments Adafruit
Et quel est le résultat d'i2cdetect ?
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
- la_couenne
- Messages : 15
- Enregistré le : lun. 2 févr. 2015 07:32
Re: Afficheur 7 segments Adafruit
Merci de vos réponses rapides
Ce sont des afficheurs normaux avec 10 pins, mais je les ai reliés à la place d'un petit afficheur qui lui était soudé sur une platine I2C munie de 4 fils (5v, GND, SCL et SDA)
Voici le résultat d'i2cdetect:
le 38 est en face du 8
(i2cdetect ne retourne rien quand je débranche l'afficheur..)
Merci
Ce sont des afficheurs normaux avec 10 pins, mais je les ai reliés à la place d'un petit afficheur qui lui était soudé sur une platine I2C munie de 4 fils (5v, GND, SCL et SDA)
Voici le résultat d'i2cdetect:
Code : Tout sélectionner
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
(i2cdetect ne retourne rien quand je débranche l'afficheur..)
Merci
Edit La modération a écrit : Je me suis permis j'ajouter les balises code/code pour passer en police proportionnelle. Ainsi, on comprend mieux le le retour d'i2cdetect.
En bref, adresse 38, quoi !
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Afficheur 7 segments Adafruit
Ben, du plus simple au plus compliqué :
- il faut que tu trouves la référence AdaFruit de la carte I2C, ce qui te permettra de trouver le driver
- sinon, trouver le numéro du chip driver LED : celui qui controle les segments LED par l'I2C et à ce moment, tu trouveras le driver correspondant ou alors, avec le datashit, tu sauras quelles sont les commandes à envoyer
- si tu ne trouves pas, il faut que tu cherches sur le Net quels serait le chip qui pourrait répondre à l'adresse 38
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
-
- Raspinaute
- Messages : 735
- Enregistré le : lun. 22 déc. 2014 16:50
- Localisation : 67380 LINGOLSHEIM
Re: Afficheur 7 segments Adafruit
Bonjour,la_couenne a écrit :Merci de vos réponses rapides
Ce sont des afficheurs normaux avec 10 pins, mais je les ai reliés à la place d'un petit afficheur qui lui était soudé sur une platine I2C munie de 4 fils (5v, GND, SCL et SDA)
Tout cela est clair comme du jus de boudin et ne favorise pas le dépannage.
Dans l'ordre, il faudrait préciser:
1) référence de la carte d'origine (à priori, une Adafruit qui interface un (ou des) afficheurs 7 segments en I2C
2) référence du gros afficheurs 7 segments qui, semble-t-il, remplace le petit afficheur d'origine.
Le risque principal étant que ce nouvel afficheur soit incompatible avec l'ancien:
- technologie (anode ou cathode commune, driver différent, intensité consommée, tension, câblage, multiplexage...)
Avoir une réponse I2C signifie juste que la partie I2C de la carte d'origine n'est pas HS. Le lien donné explique juste la "nouvelle" politique d'adafruit qui a mis ses logiciels dans des git car la maintenance des versions en téléchargement était devenue trop lourde.
Comme toujours, un problème bien exposé est souvent un problème à moitié résolu. Il faut être précis, même si ce n'est pas toujours facile pour un newby.
Sylvain
- la_couenne
- Messages : 15
- Enregistré le : lun. 2 févr. 2015 07:32
Re: Afficheur 7 segments Adafruit
Alors non le module n'est pas directement celui d'AdaFruit, mais sur le site du commerçant il me renvoie sur eux pour les dirvers.
Voici la page où je l'avais acheté: http://www.play-zone.ch/en/dk-4-zeichen ... kpack.html
Ils me renvoient ici: https://github.com/adafruit/Adafruit_LED_Backpack
Est-ce que je peux utiliser ces fichiers avec un raspberry ou sont-ils prévus pour un Arduino?
Car dans les exemples d'Adafuit, dans le script "clock_sevenseg_ds1307", il fait appel aux librairies Adafruit_LEDBackpack.h et Adafruit_GFX.h
Je dois les placer dans un dossier spécial pour que Python les trouve? (et je le trouve où?)
Pour ce qui est des références de mes afficheurs, pour le moment j'utilise ceux d'origine soudés au module I2C. (Pas encore remplacés par mes grand afficheurs).
Bon je vais chercher encore, merci pour votre aide
Voici la page où je l'avais acheté: http://www.play-zone.ch/en/dk-4-zeichen ... kpack.html
Ils me renvoient ici: https://github.com/adafruit/Adafruit_LED_Backpack
Est-ce que je peux utiliser ces fichiers avec un raspberry ou sont-ils prévus pour un Arduino?
Car dans les exemples d'Adafuit, dans le script "clock_sevenseg_ds1307", il fait appel aux librairies Adafruit_LEDBackpack.h et Adafruit_GFX.h
Je dois les placer dans un dossier spécial pour que Python les trouve? (et je le trouve où?)
Pour ce qui est des références de mes afficheurs, pour le moment j'utilise ceux d'origine soudés au module I2C. (Pas encore remplacés par mes grand afficheurs).
Bon je vais chercher encore, merci pour votre aide
-
- Raspinaute
- Messages : 735
- Enregistré le : lun. 22 déc. 2014 16:50
- Localisation : 67380 LINGOLSHEIM
Re: Afficheur 7 segments Adafruit
Du bon et du moins bon:
1) Donc la carte est dans son état d'origine, interfacée en I2C et pouvant même s'alimenter en 5 V et en 3.3V (au prix d'une légère perte de luminosité (cf. description en allemand sur le site que vous avez indiqué).
2) en suivant votre lien pour le driver (qui conduit chez Adafruit), je tombe sur un tableau de compatibilité QUI NE MENTIONNE PAS LE RASPBERRY.
Pour moi, il faut donc oublier ce "pilote" . Si un autre participant pouvait confirmer mon interprétation, ça serait bien.
3) Heureusement, le Raspberry supporte l'I2C. Voici un lien, en français, qui donne pas mal d'explications:
http://innovelectronique.fr/2013/03/02/ ... spberrypi/
4) Vous pourrez donc utiliser cette carte mais, il va falloir étudier la documentation du contrôleur pour connaître ses registres et les valeurs à envoyer car vous devrez tout gérer à la main. C'est toujours très instructif, même si ça pique un peu les yeux:
http://pdf1.alldatasheet.fr/datasheet-p ... 16K33.html
On se rend compte que ce circuit, comme souvent, est très largement sous-exploité. D'ailleurs Adafruit reconnaît (dans les readme du driver), ne pas avoir su exploiter la fonction clavier (ce contrôleur est capable de gérer aussi un clavier ce qui pourrait être utile pour votre projet).
5) Je suis surpris de l'adresse de retour donnée par l'interrogation du bus I2C. Toujours sur le lien de votre fournisseur (mais aussi chez Adafruit), cette carte possède 3 straps à souder, qui déterminent son adresse I2C. Il y a 8 adresses qui vont de 0x70 à 0x77:
Bon courage
Sylvain
PS (donc après la signature): Je ne connais pas votre niveau mais comme on est dans la section "Débutants", je vous rappelle qu'un circuit I2C possède 2 adresses, une pour la lecture, l'autre pour l'écriture (on peut considérer que l'adresse est codée sur les 8 bits, chaque esclave a alors deux adresses, l'adresse paire qui sert à lui envoyer des données, l'adresse impaire pour lui demander d'en envoyer).
1) Donc la carte est dans son état d'origine, interfacée en I2C et pouvant même s'alimenter en 5 V et en 3.3V (au prix d'une légère perte de luminosité (cf. description en allemand sur le site que vous avez indiqué).
2) en suivant votre lien pour le driver (qui conduit chez Adafruit), je tombe sur un tableau de compatibilité QUI NE MENTIONNE PAS LE RASPBERRY.
Pour moi, il faut donc oublier ce "pilote" . Si un autre participant pouvait confirmer mon interprétation, ça serait bien.
3) Heureusement, le Raspberry supporte l'I2C. Voici un lien, en français, qui donne pas mal d'explications:
http://innovelectronique.fr/2013/03/02/ ... spberrypi/
4) Vous pourrez donc utiliser cette carte mais, il va falloir étudier la documentation du contrôleur pour connaître ses registres et les valeurs à envoyer car vous devrez tout gérer à la main. C'est toujours très instructif, même si ça pique un peu les yeux:
http://pdf1.alldatasheet.fr/datasheet-p ... 16K33.html
On se rend compte que ce circuit, comme souvent, est très largement sous-exploité. D'ailleurs Adafruit reconnaît (dans les readme du driver), ne pas avoir su exploiter la fonction clavier (ce contrôleur est capable de gérer aussi un clavier ce qui pourrait être utile pour votre projet).
5) Je suis surpris de l'adresse de retour donnée par l'interrogation du bus I2C. Toujours sur le lien de votre fournisseur (mais aussi chez Adafruit), cette carte possède 3 straps à souder, qui déterminent son adresse I2C. Il y a 8 adresses qui vont de 0x70 à 0x77:
Pouvez-vous vérifier l'activation du support de l'I2c, la présence du module (lsmod) et retester ?Mit 3 Adress-Jumpern (Lötbrücken) lassen sich die Module auf 8 verschiedene Adressen von 0x70-0x77 setzen - so können bis zu 8 Module gleichzeitig betrieben werden.
Bon courage
Sylvain
PS (donc après la signature): Je ne connais pas votre niveau mais comme on est dans la section "Débutants", je vous rappelle qu'un circuit I2C possède 2 adresses, une pour la lecture, l'autre pour l'écriture (on peut considérer que l'adresse est codée sur les 8 bits, chaque esclave a alors deux adresses, l'adresse paire qui sert à lui envoyer des données, l'adresse impaire pour lui demander d'en envoyer).
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Afficheur 7 segments Adafruit
Oui et nonspourre a écrit :2) en suivant votre lien pour le driver (qui conduit chez Adafruit), je tombe sur un tableau de compatibilité QUI NE MENTIONNE PAS LE RASPBERRY.
Pour moi, il faut donc oublier ce "pilote" . Si un autre participant pouvait confirmer mon interprétation, ça serait bien.
En fait, il suffirait de convertir les appelles wire.* en leur pendant pour rPI pour que ca fonctionne ... et ça doit existé car elle ne font que gérer la communication bas niveau I2C.
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
- la_couenne
- Messages : 15
- Enregistré le : lun. 2 févr. 2015 07:32
Re: Afficheur 7 segments Adafruit
Re bonjour à vous,
Merci Sylvain pour ta réponse complète et ton lien! Ca me semble trop complexe pour moi de modifier les wire.*
Du coup j'ai complètement changé de façon de faire! Car comme tu me demandais j'ai revu les caractéristiques de tous les composants, et je me suis aperçu que mes super grand digit consomment 15mA par segments! donc je ne pourrai pas les utiliser avec mon module I2C...
Au final je les ai branchés multiplexés sur 7 Gpio et utilisé encore 4 Gpio pour mettre l'afficheur à la masse afin de l'allumer. Avec le script je veux afficher chaque afficheur à tour de rôle durant 20msec, et ça devrait le faire. On verra si ça ne scintille pas trop
En tout cas un grand merci à tous pour vos réponses précises, et rapides!
Bon début de semaine
Merci Sylvain pour ta réponse complète et ton lien! Ca me semble trop complexe pour moi de modifier les wire.*
Du coup j'ai complètement changé de façon de faire! Car comme tu me demandais j'ai revu les caractéristiques de tous les composants, et je me suis aperçu que mes super grand digit consomment 15mA par segments! donc je ne pourrai pas les utiliser avec mon module I2C...
Au final je les ai branchés multiplexés sur 7 Gpio et utilisé encore 4 Gpio pour mettre l'afficheur à la masse afin de l'allumer. Avec le script je veux afficher chaque afficheur à tour de rôle durant 20msec, et ça devrait le faire. On verra si ça ne scintille pas trop
En tout cas un grand merci à tous pour vos réponses précises, et rapides!
Bon début de semaine