Accueil > Forum > contrôleurs SlimLine e Netsyst (LogicLab) > Gérer un affichage alphanumérique avec un module SlimLine
- Ce sujet a 30 réponses, 1 participant et a été mis à jour pour la dernière fois 4 années, 2 mois da Sergio Bertana.
-
auteurPost
-
Juillet 8, 2013 à 8: 49 am #35379Anonymeinactif
Je me demandais si sur les systèmes SlimLine même le moins cher peut être connecté et géré via un logiciel sur le bus d'extension I2C un affichage, par exemple un 2 lignes x 16 caractères, pour visualiser les données.
Juillet 8, 2013 à 9: 24 am #37680Sergio BertanaAdministrateur du forumOui, sûr de tous les modèles de Processeur SlimLine même les modèles Compact (versions extensibles) peuvent être connectés à un écran LCD avec interface I2C. En cherchant parmi les différents distributeurs de matériel électronique, j'ai trouvé par exemple le modèle BTHQ 21605V de BATRON (code RS-Components 743-6134), ou le modèle MCCOG21605C6W (Voir la fiche technique) de MIDAS (Farnell Code 2063203). Nous avons créé une fonction spécifique pour la gestion SysI2CWrRd qui vous permet de gérer l'accès en lecture et en écriture de tout appareil I2C connecté au bus. Grâce à cette fonction, il est possible de faire coexister l'affichage sans problème avec nos modules d'extension. Bien entendu, vous devrez écrire un FB spécial qui, à l'aide de la fonction, initialise l'affichage et gère l'écriture des textes, en fournissant peut-être en entrée du FB une chaîne de 32 caractères qui sera transférée sur les deux lignes de 16 caractères de l'affichage. tirer son alimentation directement du connecteur d'extension du module SlimLine. Pour plus d'informations sur la connexion de l'écran au connecteur d'extension du module de la CPU, voir Manuel de référence du matériel.
Septembre 3, 2013 à 12: pm 04 #37750AnonymeinactifJe suis également intéressé par la réalisation du projet avec écran I2C. Je vous demande si vous êtes allé de l'avant dans le projet de réalisation du FB. Bonjour bon travail ...
Septembre 4, 2013 à 3: pm 08 #37751Sergio BertanaAdministrateur du forumStimulé par les demandes ici, je suis avec un FB qui gère l'écriture sur un écran MC21605GL6W-SPI de Midas acheté auprès de Farnell (Code 221-8947) dont je joins le Fiche technique. J'ai connecté l'affichage au bus d'extension d'un Module compact CPU ARM7 (Voir les photos), en utilisant les schéma électriqueComme le montre le programme (presse e Télécharger), le bloc de fonction MC21605LCDMng gère l'afficheur connecté au bus, il est nécessaire d'indiquer l'adresse I2C de l'afficheur, et l'adresse de la chaîne à afficher. Les 16 premiers caractères de la chaîne seront affichés sur la ligne supérieure de l'écran tandis que les 16 premiers sur la ligne inférieure. En activant la variable Écrire la chaîne est transférée à l'écran Le FB est exécuté par programme à relais et la commande d'écriture est activée sur le front montant de SysClock1000, donc l'affichage est mis à jour chaque seconde. La commande Écrire doit être utilisé pour synchroniser la mise à jour de l'affichage lorsque la chaîne à afficher est modifiée, car l'affichage est mis à jour cycliquement un caractère dans une boucle de programme si la chaîne change pendant que l'affichage est mis à jour Je cours le risque d'afficher un message constitué de une partie des anciennes données et une partie des nouvelles données.Le programme peut être modifié pour gérer des affichages autres que celui que j'ai choisi, peut-être avec un plus grand nombre de lignes et de colonnes.
Septembre 5, 2013 à 8: 45 am #37753AnonymeinactifExcellent travail ... il ne reste plus qu'à essayer ...
Septembre 24, 2013 à 8: pm 02 #37792AnonymeinactifSalut Bertaser, j'ai enfin eu le Midas Display pour le test SlimLine avec 2 × 16 LCD. J'ai fait le circuit comme décrit dans votre message, téléchargé le programme, mais au premier démarrage, je ne vois que tous les carrés qui forment les caractères, changer le contraste change la luminosité des carrés.
Dans votre diagramme, vous signalez aux broches 7 et 8 de l'affichage SA0, Réglage d'adresse SA1, j'ai mis un dip-sw pour faciliter l'insertion. dans le programme comme adresse I2C vous mettez 16 # 3C, je vous demande où je trouve le tableau qui spécifie les adresses, je ne le trouve pas sur la fiche technique.
Je pense que c'est un problème d'adresse, car le reste devrait aller bien, l'affichage est un MIDAS MC21605GL6W-SPTYI sur SlimLine il ne me semble pas qu'il y ait des paramètres matériels à faire pour activer I2C. Je l'ai SlimLine Version de carte OEM avec I2C.
Merci d'avance, j'attends votre réponse en attendant je procède aux tentatives ...
Septembre 25, 2013 à 7: 02 am #37793AnonymeinactifProblème LCD résolu, c’était un mauvais contact dans le câble plat reliant l’écran et SlimLine, l'un des connecteurs était défectueux. Reste maintenant à voir comment afficher les variables telles que la valeur de l'analogique »ou l'état des minuteries.
Je ferais mieux d'organiser le câblage, puis éventuellement placer une image.
Septembre 25, 2013 à 1: pm 08 #37794Sergio BertanaAdministrateur du forumJe suis content que l'affichage fonctionne, vous pouvez utiliser la fonction pour afficher les variables SysVarsnprintf, variable print to string, vous composez une chaîne avec le texte et la valeur des variables puis la transférez à l'écran. Concernant l'adressage de l'afficheur sur le bus I2C, je me suis référé à la fiche technique où il est rapporté.
Four 7-bit slave addresses (0111100, 0111101, 0111110 and 0111111) are reserved for the Controller. The least significant bit of the slave address is set by connecting the input SA0 (DB0) and SA1 (DB1) to either logic 0 (VSS) or logic 1 (VDD).
Dans mon circuit, les deux signaux SA0 et SA1 sont connectés à VSS, donc l'adresse est 16 # 3C.
Septembre 25, 2013 à 8: pm 29 #37797AnonymeinactifEn ce qui concerne la fonction SysVarsnprintf Je devrais voir sur l'affichage, la valeur des entrées analogiques en volts, utiliser les variables 2 REAL Volt_1 et Volt_2 provenant de SysGetAnInp. Avez-vous des exemples d'utilisation de SysVarsnprintf pour convertir et des valeurs REAL de la chaîne analogique à envoyer à l'affichage?
J'ai fait quelques tentatives en lisant les messages du forum et dans le manuel mais avec des "mauvais résultats", alors .. nous avons mis le programme à disposition pour être téléchargé. Merci et je laisse la carte connectée pour essayer ...
Septembre 26, 2013 à 12: pm 23 #37798Sergio BertanaAdministrateur du forumParmi les différents articles du forum, il y a certainement quelques exemples d'utilisation de la fonction SysVarsnprintfDans tous les cas, voici deux façons d'afficher les variables REAL sur l'affichage. La variable LCDMessage de type STRING est alors affiché sur l'écran.
(* Réel 1: xxx.xxx *)
(* Réel 2: xx.x *)i: = SysVarsnprintf (ADR (LCDMessage), 16 + 1, 'Real 1:% 7.3f', REAL_TYPE, ADR (RVar [0]));
i: = SysVarsnprintf (ADR (LCDMessage) +16, 16 + 1, 'Real 2:% 4.1f', REAL_TYPE, ADR (RVar [1]));Comme vous pouvez le voir, le premier appel à la fonction écrit le texte suivi de la valeur de la variable Rvar [0] sur les chiffres entiers 3 et les chiffres décimaux 3. Le deuxième appel à la fonction écrit le texte suivi de la valeur de la variable Rvar [1] sur 2 entiers et 1 chiffre décimal. J'utilise toujours la question pour publier un programme (presse, Télécharger la source), qui affiche cycliquement 2 messages différents (toutes les 3 secondes):
Un message texte seulement.
Un message avec les variables 2 REAL.
Un message avec la valeur de la date et de l'heure.Septembre 27, 2013 à 9: 42 am #37801AnonymeinactifMerci et passez aux "tests". Je dirais que l'afficheur I2C est une solution valable et économique pour afficher les variables de processus et les textes. À la prochaine ...
Octobre 7, 2013 à 1: pm 48 #37825AndreaPartecipanteJ'ai acheté cet écran Farnell Code 2063203 par erreur au lieu de ce Farnell Code 2218947, mais maintenant j'ai un problème avec le schéma de câblage, je n'ai pas CSB ou SA0 et SA1 ... Y a-t-il une solution pour l'utiliser ou je dois acheter la bonne ...
Octobre 7, 2013 à 2: pm 13 #37826Sergio BertanaAdministrateur du forumJ'ai vu la fiche technique de l'écran que vous avez acheté et au niveau des connexions électriques, aucun problème, connectez uniquement les deux signaux SCL et SDA, maintenez la broche RESET de l'écran à + 5VDC.
Je n'ai pas vu si toutes les commandes I2C sont exactement les mêmes que l'affichage que j'ai utilisé pour les tests, mais généralement les séquences logicielles de gestion sont les mêmes pour tous les affichages. Les séquences que j'utilise sont les mêmes que celles que j'utilise dans d'autres équipements où un écran avec interface parallèle est monté.
Faites attention à l'adresse de l'affichage à donner au bloc fonction, comme vous pouvez le voir sur la fiche technique de l'affichage Slaver address could only set to 0111110, no other slaver address could be set. L'adresse à utiliser est donc 16 # 37. Bien sûr, contrairement à l'autre écran qui avait la possibilité de définir l'adresse et donc plus d'écrans (jusqu'à 4) pouvaient partager le bus I2C, avec cet écran vous ne pouvez en connecter qu'un.
Octobre 7, 2013 à 2: pm 38 #37827AndreaPartecipanteMerci beaucoup, vous êtes toujours ultra-rapide et précis dans vos réponses ... J'essaye de le connecter et de vous le faire savoir ...
Octobre 7, 2013 à 3: pm 05 #37828Sergio BertanaAdministrateur du forumS'il y a un modérateur gratuit, nous essayons de répondre rapidement, nous sommes souvent engagés dans un travail hors site et / ou une assistance à distance via TeamViewer et nous n'avons pas le temps de répondre.
-
auteurPost
- Vous devez être connecté pour répondre à ce sujet.