Figure 1: Commande d’un PIC Microcontroller à partir d’un PC graphique Schéma de l’interface utilisateur

Une interface utilisateur graphique est un dispositif d’interface homme-machine, dans lequel les objets à manipuler sont dessinés sous forme d’icônes sur l’écran, l’utilisateur peut envoyer des commandes par un dispositif de pointage, généralement une souris ou un clavier.

C’est facile et ça nécessite moins de compétences pour faire fonctionner un dispositif à partir d’ une représentation visuelle de l’espace de travail  (GUI) en cliquant simplement une souris ou à l’ aide d’ un clavier plutôt que d’une ligne de commande.  
L’interface graphique peut également être utilisé pour l’ interface avec d’ autres périphériques externes situés dans des endroits différents. 

Il y a beaucoup de différents types de logiciels qui peuvent être utilisés pour concevoir une plate – forme graphique, le choix dépend généralement des préférences personnelles, les capacités logicielles et les systèmes d’exploitation (Windows, Linux, Mac …).
Parmi les plus populaires , nous avons Microsoft Visual Studio avec ses langages de programmation comme Visual Basic et C#, Labview, Python, Matlab etc.

Dans cet article, nous allons concevoir une interface utilisateur graphique en utilisant Microsoft Visual C #.

Ce logiciel peut être installé dans n’importe quel ordinateur exécutant les systèmes d’exploitation Windows. L’ordinateur se connecte au microcontrôleur en utilisant un câble série RS232 comme illustré sur la figure 2 ci-dessous ou avec un câble USB utilisant un convertisseur USB-série comme illustré sur la figure 3 ci-dessous. Le microcontrôleur PIC recevoir des commandes provenant de l’ordinateur pour contrôler des dispositifs qui lui sont connectés, comme les moteurs, les LED, etc.

Figure 2: mâle à femelle câble série RS232

Ces derniers jours, le port RS232 généralement appelé le port COM est remplacé par un port USB. Vous ne pouvez pas trouver ce genre de port sur votre ordinateur, surtout si vous utilisez un ordinateur portable, dans ce cas, un câble USB à convertisseur RS232 peut être utilisé comme indiqué sur la figure 3 ci-dessous.

Figure 3: USB câble convertisseur RS232

Interfacer le COM Port de l’ordinateur avec le USART du Microcontrôleur

Un microcontrôleur PIC utilise UART de niveau TTL (5 V pour la logique 1 et 0V pour le niveau logique 0) , tandis que le port série du PC (port COM) utilise RS-232 (+3 à + 15V pour logique 0 et -3 à -15V pour la logique 1) . Étant donné que les normes utilise le protocole logiciel similaire, les deux sont en mesure de communiquer via UART. Cependant, en raison des différences de niveau de tension et la polarité, nous aurons besoin d’un décalage de niveau pour interfacer le niveau TTL UART avec le RS-232. De nos jours, cela peut être fait facilement avec le circuit intégré couramment disponibles tels que le  MAX2322  de  Maxim . 
Le diagramme ci – dessous à la figure 4 illustre la façon dont le MAX232 IC peut être connecté à l’UART d’un microcontrôleur (TX de PIC relié à la broche T1IN MAX232 et RX à R1OUT de MAX232) et un ordinateur personnel avec connecteur DB9.

Figure 4: L’utilisation d’MAX232 IC pour convertir des niveaux TTL de microcontrôleur à niveau RS232

USART Configuration avec le Configurateur de code MPLAB 

Nous allons utiliser le même code source que nous avons fait dans l’article  communication PIC Microcontroller avec RS232 Bus. Dans cet exemple , nous utilisons le PIC18F26K20. Le E du EUSART signifie Enhanced (Amélioré) USART, c’est fondamentalement la même chose avec le USART mais avec quelques fonctionnalités supplémentaires comme le sommeil/réveil sur réception. Le PIC18F26K20 est connecté à un PC via un convertisseur de tension MAX232. Trois voyants sont connectés à PORTB, LED rouge sur RB0, LED jaune sur RB1 et LED verte sur RB2.

Dans cet exemple, si 1 a été reçu de l’émulateur de terminal Windows, le microcontrôleur PIC allumera la LED rouge, si 2 est reçu la LED jaune sera allumée et si c’est 3 la LED verte sera allumée.

Figure 5: PIC18F26K20 Connecté à un PC via MAX232

Regardez le tutoriel vidéo

Figure 6: Code Main.c du Microcontrôleur

Pour plus d’informations sur le code source du microcontrôleur PIC, s’il vous plaît lire l’article:

PIC Microcontroller Communication avec RS232 Bus – XC8

Pour savoir comment configurer le PIC USART avec mikroC Pro pour PIC, s’il vous plaît lire l’article:

PIC Microcontroller Communication avec RS232 Bus – mikroC

Pour savoir comment configurer le PIC USART avec Flowcode pour PIC, s’il vous plaît lire l’article:

PIC Microcontroller Communication avec RS232 Bus – Flowcode

Si vous n’utilisez pas de carte de développement PIC, vous utilisez probablement une plaque à prototypage (breadboard). Bien qu’une plaque à prototypage soit idéale pour le prototypage, elle n’est pas toujours fiable pour les applications basées sur un microcontrôleur, en particulier si vous utilisez votre oscillateur PIC à une fréquence plus élevée, un circuit imprimé peut résoudre ce problème..

Vous n’avez pas à dépenser une fortune pour obtenir un circuit imprimé professionnel de nos jours, car il existe de nombreuses entreprises de fabrication de circuits imprimés qui produisent d’excellents PCB de prototypage à des prix vraiment abordables, dont PCBWay.com , un fabricant basé en Chine à Shenzhen et spécialisé dans les circuits imprimés, le prototypage, la production en petit volume et l’assemblage de circuits imprimés sous un même toit. Vous pouvez en obtenir 10 (1-2 couches) pour seulement 5 $.

De nombreux clients ont choisi PCBWay comme fabricant de circuits imprimés, non seulement en raison de la haute qualité et du prix imbattable, mais également parce qu’ils peuvent fournir d’excellents services sur PCBWay.com. Et l’un d’entre eux qui a été beaucoup mentionné par les clients est « Statut de production »

Figure 7: Statut de production

Une fois que vous avez passé une commande en ligne, vous pouvez connaître l’état d’avancement de la fabrication en temps réel en cliquant sur le statut de la production. Vous verrez chaque étape de la fabrication de votre circuit imprimé une fois celle-ci terminée et ce qu’il reste avant que votre commande puisse être finalisée.

Pour plus d’informations et passer une commande, s’il vous plaît visitez leur site Web en cliquant sur l’image ci-dessous:

PCBWay Home Page

Dans cet article, au lieu d’utiliser l’émulateur de terminal Windows, nous allons concevoir une interface utilisateur graphique (GUI) en utilisant C # pour envoyer des commandes au microcontrôleur PIC pour allumer ces LED par un clic de souris.

Le Logiciel GUI de l’ordinateur

Regarder le tutoriel video 1: Conception avec C #

La figure 8 ci-dessous montre l’interface graphique de PC. Le composant de port série C # est utilisé pour envoyer des données au port série de l’ordinateur..

Figure 8: Logiciel d’interface GUI de l’ordinateur

Nous avons trois boutons LED sur notre forme. les boutons rouge, jaune et vert. En cliquant sur un bouton, nous allons envoier une commande au microcontrôleur.

Quelques méthodes de la classe port série:

  • Close():  Ferme la connexion du port, définit la IsOpen propriété à false (faux ), et dispose de l’objet Stream interne. Appelez cela pour déconnecter votre port série.
  • DiscardInBuffer (): Supprime les données du tampon de réception du pilote série.
  • Dispose (): Libère toutes les ressources utilisées par le composant.
  • Open (): Ouvre une nouvelle connexion du port série.
  • Lire (Char [], Int32, Int32): Lit un nombre de caractères de la mémoire tampon d’entrée SerialPort et les écrit dans un tableau de caractères à une position donnée.
  • ReadExisting (): Lit tous les octets immédiatement disponibles, en fonction du codage, dans le flux et dans le tampon d’entrée de l’objet SerialPort.
  • ReadLine (): lit jusqu’à la valeur NewLine dans le tampon d’entrée.
  • Write (String): Ecrit la chaîne spécifiée au port série.
  • Ecrire (Char [], Int32, Int32): Écrit un nombre spécifié de caractères sur le port série à l’aide des données d’un tampon, comme indiqué sur le code ci-dessous.

Avant d’ envoyer des données, le port série doit être ouvert d’abord en utilisant le serialPort.Open () ;

Pour en savoir plus en détail comment concevoir une interface de port série avec C#, s’il vous plaît lire l’article:

Création d’une interface de port série avec C #

Figure 9 ci-dessous montre l’interface graphique de l’ordinateur pour envoyer des commandes microcontrôleur PIC. Dans cet exemple, lorsque le bouton rouge est cliqué, la LED rouge PIC s’allume (le caractère 1 est envoyé au PIC), lorsque le bouton jaune est cliqué, la LED jaune PIC s’allume (caractère 2 est envoyé à PIC) et, enfin, lorsque le bouton vert est cliqué, la LED verte PIC est activée (caractère 3 est envoyé à PIC). Si un bouton est de nouveau cliqué alors qu’il est déjà allumé, le caractère 4 est envoyé à PIC pour éteindre toutes les LED..

Figure 9: Interface de l’interface graphique de l’ordinateur envoyant des commandes au microcontrôleur PIC

Dans cette simulation, le composant Proteus COMPIM est utilisé.

Le COMPIM modèle est une interface physique modèle d’un port série. Les données série entrant est tamponnée et présentée au circuit en tant que signal numérique, tandis que des données numériques en série générées par un modèle PIC UART apparaît au port COM physique de l’ordinateur. Le modèle COMPIM prévoit également la traduction de la vitesse de transmission, et pour le matériel en option ou prise de contact logicielle sur les deux côtés physiques et virtuels du dispositif. Cela permet à tout le matériel réel du monde équipé d’un port série pour interagir avec une simulation de VSM. Par exemple, vous pouvez l’ utiliser pour élaborer un programme pour un microcontrôleur au sein de Proteus VSM qui fonctionnerait un vrai modem physique ou un débogueur de moniteur en cours d’exécution sur un PC peut être utilisé pour déboguer une conception simulée en cours d’ exécution au sein de VSM.

La broche COMPIM RXD est relié à la broche et la broche PIC RX COMPIM TXD est relié à la broche PIC TX. Cliquez droit sur le COMPIM et sélectionnez Modifier les propriétés. Sélectionnez le port physique, vitesse de transmission physique et la vitesse de transmission virtuelle comme indiqué sur la figure 10 ci-dessous.

Figure 10: COMPIM Modifier les propriétés

Bien que les ports COM soient encore utilisés dans de nombreux périphériques, la plupart des ordinateurs récents et des modèles d’ordinateurs portables n’ont pas cette interface série simple, c’est pourquoi nous utilisons Virtual Serial Port Driver Pro, un utilitaire professionnel qui permet de créer des ports série virtuels qui émulent complètement le comportement et les paramètres de interfaces matérielles COM. Avec le logiciel, vous pouvez créer autant de ports série virtuels que nécessaire. Nous avons créé une paire série virtuelle COM1 et COM2.

http://www.studentcompanion.co.za/wp-content/uploads/2016/10/Virtual-Serial-Port-Driver-Pro.jpgFigure 11: Virtual Serial Port Driver Pro

Vous pouvez en apprendre plus et télécharger le logiciel Virtual Serial Port Driver à partir du site Web de Eltima Software.

Regarder le tutoriel video la partie 2: Creation du ficher executable exe

Le code C# complet  du projet

Télécharger MPLAB projet:  EUSART MPLAB Projet XC8

Télécharger Proteus Schéma:  pic-GUI-Proteus

Télécharger C # GUI projet:  pic_gui_c_project

(Visited 614 times, 1 visits today)