Controlling a PIC Microcontroller from a PC Graphical User Interface diagramFigure 1: Figure 1: Commande d’un Microcontrôleur PIC à partir d’un ordinateur

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 le projet: Contrôle d’un microcontrôleur PIC à partir d’une interface utilisateur graphique (GUI) d’un Ordinateur, nous avons conçu un logiciel d’interface utilisateur graphique (GUI) à l’aide de Microsoft Visual C # pour contrôler les LED connectées au microcontrôleur PIC. Ce logiciel peut être installé sur n’importe quel ordinateur exécutant des systèmes d’exploitation Windows. L’ordinateur se connecte au microcontrôleur à l’aide d’un câble série RS232. Le microcontrôleur PIC recevra des commandes de l’ordinateur pour contrôler les appareils qui lui sont connectés tels que les moteurs, les LED, etc.

Comme le port d’interface série RS-232 (port COM) est maintenant rarement trouvé sur un ordinateur personnel (PC), cette interface commune a été virtuellement remplacée par le bus série universel ou USB.

Aujourd’hui, l’USB s’est développé au-delà des PC pour devenir l’interface commune de nombreux produits industriels et grand public intégrés comme les appareils photo, les GPS, les imprimantes, etc.

Cela a créé un problème car de nombreux logiciels PC ont été conçus pour communiquer avec les applications intégrées à l’aide de l’interface RS-232, car l’USART est toujours l’un des protocoles série les plus simples à utiliser avec n’importe quel microcontrôleur, de nombreux appareils l’utilisent toujours comme communication principale. protocole comme les modules GSM / GPRS, GPS, etc.

Dans ce projet, nous allons émuler l’interface du port série en utilisant le port USB pour contrôler le PIC à partir de l’interface GUI du PC. En utilisant l’USB dans la classe CDC, aucune modification ne sera requise sur le logiciel PC.

Cela peut être utilisé pour migrer facilement d’anciens projets en utilisant RS232 vers USB rapidement sans changer le logiciel de l’ordinateur, nous aurons juste besoin de changer le PIC en PIC avec interface USB et changer le code du microcontrôleur.

 

Figure 2: Émulation de l’interface du port série

Pour en savoir plus, veuillez d’abord lire ces articles:

USB Communication With PIC Microcontroller CDC – XC8

USB Communication With PIC Microcontroller CDC – mikroC

Contrôle d’un microcontrôleur PIC à partir d’une interface utilisateur graphique (GUI) d’un Ordinateur

Pour le prototypage rapide ou pour les produits commerciaux, il est toujours indispensable d’utiliser un fabricant de PCB spécialisé de bonne réputation au lieu de le faire vous-même et, heureusement, de nos jours, vous n’avez pas à dépenser une fortune pour faire fabriquer vos cartes de manière professionnelle.

Nous recommandons PCBWay un fabricant de PCB basé en Chine spécialisé dans le prototypage de PCB, la production en petit volume et le service d’assemblage de PCB avec plus d’une décennie d’expérience, vous pouvez en obtenir 10 PCB de bonne qualité (1-2 couches) pour seulement 5 $. Ils ont également une fonction de suivi de 24 heures sur leur page de commande, vous pourrez surveiller chaque étape de la façon dont ils fabriquent vos PCB jusqu’à ce qu’ils soient prêts pour l’expédition.

Alors que le monde entier se bat contre le coronavirus, c’est le moment de la solidarité et de la collaboration mondiales pour combattre le COVID-19, l’amour vaincra la peur!

PCBWay.com, s’associe aussi à la communauté mondiale. En ce moment de besoin car il y a une pénurie de masques dans le monde entier, ils envoient maintenant des masques faciaux gratuits (10 pièces) au hasard avec vos commandes. La priorité est donnée aux zones à épidémies sévères. Si vous avez des questions ou si vous avez besoin du masque, vous pouvez contacter directement votre représentant commercial.

Pour en savoir plus sur la façon d’obtenir vos masques gratuits ou sur la façon d’obtenir des PCB de grande qualité à bas prix, veuillez cliquer sur l’image ci-dessous ou aller à la page d’accueil de PCBWay

Vous pouvez également télécharger gratuitement le Manuel de prévention et de traitement de COVID-19 (en Anglais) qui fournit des directives complètes et les meilleures pratiques des meilleurs experts chinois pour faire face à COVID-19.

Restez en sécurité et en bonne santé! Nous vous accompagnons! #StandWithPCBWayers

Vous pouvez acheter un microcontrôleur PIC USB dans notre boutique en ligne:

Boutique en ligne

Configuration USB avec configurateur de code MPLAB

Vous pouvez consulter la configuration et l’explication dans l’article Communication USB avec microcontrôleur PIC CDC – XC8, dans ce projet, nous ajouterons la configuration des broches LED.

Nous utilisons le PIC18F45K50, trois LED sont connectées au PORTB, une LED rouge sur RB0, une LED jaune sur RB1 et une LED verte sur RB2. Lorsque l’utilisateur clique sur le bouton LED ROUGE, il enverra un ‘1’ au microcontrôleur PIC pour allumer la LED ROUGE uniquement, si la LED JAUNE est cliquée, un ‘2’ sera envoyé pour allumer la LED JAUNE et si le bouton LED VERTE est cliqué, un ‘3’ sera envoyé pour allumer la LED VERTE.

Paramètres d’horloge USB

Démarrez un nouveau projet MPLAB X et sélectionnez le PIC18F45K50. Démarrez le MCC pour configurer nos périphériques.

Cliquez sur le module système dans les ressources du projet. Lorsque le PIC18F45k50 est utilisé pour la connectivité USB, 6 MHz ou 48 MHz doit être fourni au module USB pour fonctionner en mode basse vitesse (1,5 Mbit / s) ou pleine vitesse (12 Mbit / s). Pour y parvenir, nous aurons besoin d’une fréquence USB de 48 MHz que nous pouvons obtenir en utilisant l’horloge interne de 16 MHz avec PLL (Phase-locked loop). Ce PIC a des multiplicateurs d’horloge 3x et 4xPLL comme indiqué sur la figure ci-dessous. En utilisant le 16 MHz interne avec 3 PLL, nous pouvons augmenter la fréquence d’horloge USB à 48 MHz.

Figure 3: PIC18F45K50 Paramètres d’horloge pour USB 48 MHz pleine vitesse avec MCC

Le HFINTOSC est réglé à l’aide d’événements USB pleine vitesse. L’ACT est activé en définissant le bit ACTEN du registre ACTCON. L’ACT utilise l’horloge de référence ACT sélectionnée pour régler l’oscillateur interne à 16 MHz avec une précision de 16 MHz ± 0,2%. Le réglage ajuste automatiquement le registre OSCTUNE à chaque cycle d’horloge de référence

Figure 4: PIC18F45K50 Registre ACTON

MLA USB Device Lite

Sous les ressources du périphérique, double-cliquez sur le périphérique USB MLA Lite pour l’ajouter aux ressources des propriétés sous les périphériques. Sélectionnez-le pour définir ses propriétés. C’est ici que nous allons configurer tous les paramètres USB, avec MCC, la configuration est super facile.

Figure 5: Configuration de MLA USB Device Lite dans MCC

Paramètres CDC:

Figure 6: Paramètres USB CDC

Module de broche

Les broches RB0, RB1 et RB2 sont définies comme broches de sortie et reçoivent des noms personnalisés dans le MCC comme Red, Yellow et Green respectivement.

Figure 7: Module de broche

Code de microcontrôleur complet avec compilateur MPLAB XC8

Configuration USB avec mikroC

Pour la configuration USB avec mikroC pro pour PIC, veuillez vous référer à cet article:

USB Communication With PIC Microcontroller CDC – mikroC

Logiciel GUI de l’Ordinateur

Regardez le tutoriel vidéo partie 1: Concevoir avec C#

La figure 8 ci-dessous montre l’interface PC GUI. Le composant de port série C # est utilisé pour envoyer des données au port série de l’ordinateur, le même code sera utilisé que ce soit en utilisant USB ou RS232.

PC GUI Software InterfaceFigure 8: Logiciel GUI de l’ordinateur

Nous avons trois boutons LED sur le formulaire. Les boutons rouge, jaune et vert. Cliquer sur un bouton enverra 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 #

La figure 9 ci-dessous montre l’interface PC GUI envoyant des commandes au microcontrôleur PIC. Dans cet exemple, lorsque le bouton rouge est cliqué, la LED rouge PIC s’allume (le caractère 1 est envoyé à PIC), lorsque le bouton jaune est cliqué, la LED jaune PIC s’allume (le caractère 2 est envoyé à PIC) et enfin lorsque le Le bouton vert est cliqué, la LED verte PIC est allumée (le caractère 3 est envoyé au PIC). Si un bouton est cliqué à nouveau alors que déjà le caractère 4 est envoyé au PIC pour éteindre toutes les LED.

PC GUI Software interface sending commands to PIC microcontrollerFigure 9: Logiciel GUI PC envoyant des commandes au microcontrôleur PIC

Regardez le tutoriel vidéo partie 2: Projet d’installation

Code C# complet du GUI

Télécharger MPLAB projet: PIC-USB-CDC-GUI

Télécharger le projet C#: pic_gui_c_project