IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Multiples écrans LCD


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut Multiples écrans LCD
    Bonjour,

    J'en suis encore au niveau de l'étude de faisabilité mais je réfléchis sur un projet qui utiliserait 10 écrans LCD 16*2 ou 20*2 et deux 20*4 autour d'un Arduino 2560.
    J'ai vu qu'avec une connexion I2C je pouvais commander plusieurs écrans mais les modèles que j'ai trouvés jusqu'à maintenant ne pouvaient être paramétrés que sur 8 adresses différentes (0x20 à 0x27).

    Je me demandais donc s'il y existait un moyen de doubler le réseau I2C en utilisant d'autres broches de la carte pour SDA et SCL.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Salut,
    Petites questions avant de donner mon avis :

    Quelle est la distance entre les afficheurs ?
    J'imagine que c'est pour faire de l'affichage déporté ?
    Je demande car le bus I2C n'est pas un bus de terrain, il n'est pas du tout prévu pour sortir d'un circuit imprimé. Il faut le savoir et le prendre en compte surtout en fonction de l'endroit où le montage sera utilisé.

    A tout à l'heure.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Merci de t'intéresser à mon projet.

    Ce serait pour un pédalier de commande donc en gros un boitier métallique solide (tôle de 10 ou 15 dixièmes) de 70 * 25 cm et une épaisseur de 3 à 6 cm)
    Si j'arrive à placer le contrôleur au milieu, ça ferait des conducteurs d'au plus 40 à 50 cm, sous blindage si nécessaire.

    Alimentation à découpage externe, 2 entrées/sortie MIDI (31250 bauds).
    Les seules sources de perturbation électromagnétique seraient les douze contacteurs (stomp box button), une vingtaine de leds, et deux relais 1RT, tous connectés à l'Arduino.
    Les contrôles potentiométriques seront à l'extérieur du boitier.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    50cm, ne me semble pas une distance excessive... Il existe des routeurs I2C, nous en parlons un petit peu dans cette discussion :
    https://www.developpez.net/forums/d1...e/#post8502567

    Je me demande aussi si placer 2 de ces routeurs (1 à gauche et 1 à droite du microcontrôleur, 1 routeur pour 5 écrans) à mi-chemin pour limiter les parasites ne serait pas une idée à creuser...

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Bonsoir

    Comme tout problème, il y a plusieurs solutions.
    Durant mes études, en cours de microcontrôleurs, on avait dû programmer une interface I2C software en ASM sur un ATMegaxxxx, ce n'est pas bien sorcier, mais la boucle de fond doit être interrompue pendant la transmission.
    Dans la famille des 4000 (les antiques circuits logiques CMOS), il y a deux puces qui vont bien: 4066 et 4052. Avec une ou deux sorties de l'Arduino on peut ainsi rediriger les deux lignes de l'I2C vers l'un ou l'autre demi-bus. Doubler la valeur des pull-up et en mettre 3 paires. histoire de maintenir l'état haut sur les demi-bus déconnectés.

    Pour la longueur des connections, il faut au besoin réduire la fréquence du bus, et surtout soigner le découplage de chaque écran.

    Delias

  6. #6
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    +1 pour les solutions de Auteur et Delias.

    Si tu as assez de broches de libres sur le Arduino et que tu ne veux pas t'encombrer de l'I2C tu peux aussi mettre en parallèle tous les afficheurs LCD 2x16, voir même tous les LCD y compris les 4x16 si les contrôleurs sont identiques. Il n'y a qu'a piloter la broche Enable de l'afficheur concerné, un peu comme on le fait en gérant des composants SPI.

    Dans le schéma de principe ci dessous, tout est en parallèle sauf les broches "Enable" de chaque afficheur qui se pilote indépendamment. On peut même prendre un bon vieux câble en nappe pour le câblage. Si tu as 18 broches de libres et que les contrôleurs des afficheurs sont les mêmes alors ce type de câblage pour tes 12 LCD, est possible.

    Nom : Capture du 2017-05-19 22-01-41.png
Affichages : 1514
Taille : 36,0 Ko

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    +1 également pour Vincent

    En complément de sa solution, l'utilisation de deux 74HC238, pour démultiplexer de 4 à 6 sorties Arduino en 12 (jusqu'à 16) lignes E pour les LCD.
    4 Sorties: 3 pour les addr des dmux, 1 pour la selection d'un DMUX (en branchant sur E pour le 1er et sur /E sur le 2ème). Limite à 15 LCD
    5 Sorties: 3 pour les addr des dmux, 1 pour chaque E d'un dmux, limite à 16LCD.
    6 Sorties: 3 pour les addr des dmux, 1 pour chaque /E d'un dmux et 1 commun pour les 2 E des dmux, permet l'utilisation de la lib LCD standard qui agit sur E.

    En plus des 6 lignes communes pour tous les LCD, on est à 10/12 sorties au lieu des 18 de la solution originale.

    Je peux développer si souhaité.

    Delias

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 49
    Dernier message: 17/03/2010, 13h03
  2. 1 écran LCD wide pour remplacer 2 CRT ?
    Par antoinev2 dans le forum Périphériques
    Réponses: 4
    Dernier message: 03/07/2009, 09h12
  3. Réponses: 3
    Dernier message: 02/05/2008, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo