mardi 18 août 2015

Control Arduino/Pic/... With Your Own Serial Communication Read/Write C sharp Application !!

Control Arduino/Pic/... With Your Own Serial Communication Read/Write C sharp Application  !!

Cette article comme il est inclus au titre il va nous aidez a bien comprendre de quoi il s'agit lorsque on entend Serial Communication, Va nous aidez a découvrir le C Sharp  (C#).
 
   Alors aujourd'hui on va construire une application en se basant sur le logiciel Microsoft Visual Studio 
C# (C Sharp).
Cette application sera utilisable presque dans tout les projet qui assure une interface de communication série et surtout pour tester la communication.
 








Tout d'abord c'est quoi C Sharp ? 

Le C#  est un langage de programmation orienté objet , créé par la société Microsoft, et notamment un de ses employés, Anders Hejlsberg, le créateur du langage Delphi.
Il a été créé afin que la plate-forme Microsoft .NET soit dotée d'un langage permettant d'utiliser toutes ses capacités. Il est très proche du Java dont il reprend la syntaxe générale ainsi que les concepts (la syntaxe reste cependant relativement semblable à celle de langages tels que le C++ et le C). Un ajout notable au C# est la possibilité de surcharge des opérateurs, inspirée du C++. Toutefois, l'implémentation de la redéfinition est plus proche de celle du Pascal Objet.

Alors,Parlons un peu de l'application qu'on va réaliser. c'est tout simplement un interface graphique qui va relier l'ordinateur avec le microcontrôleur via un câble série.   

L'application comme j'ai déja dis dans les deux tutoriels précédents elle inclus deux grandes parties une appelé Design et l'autre code


Design 






Code 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace Serial_Communication_By_Aymen_Lachkhem
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            getAvailablePorts();
        }
        void getAvailablePorts()
        {
            string[] Ports = SerialPort.GetPortNames();
            comboBox1.Items.AddRange(Ports);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                if (comboBox1.Text == "" || comboBox2.Text == "")
                {
                    comboBox2.Text = "Please select port setting ? ";
                }
                else
                {

                    serialPort1.PortName = comboBox1.Text;
                    serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
                    serialPort1.Open();
                    progressBar1.Value = 100;
                    button1.Enabled = true;
                    button2.Enabled = true;
                    textBox1.Enabled = true;
                    button3.Enabled = false;
                    button4.Enabled = true;
                }
            }
            catch (UnauthorizedAccessException)
            {
                textBox2.Text = "Unauthorized Access";
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            serialPort1.Close();
            progressBar1.Value = 0;
            button1.Enabled = false;
            button2.Enabled = false;
            button4.Enabled = false;
            button3.Enabled = true;
            textBox1.Enabled = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            serialPort1.WriteLine(textBox1.Text);
            textBox1.Text = "";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                textBox2.Text = serialPort1.ReadLine();
            }
            catch(TimeoutException)
                {
                    textBox2.Text="time out exeption";
                }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void label4_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }
    }
}



J'ai vous mis ce vidéo qui va vous expliquer comment j'ai la réaliser cette application 





Apres avoir créer votre propre application le reste sera facile, il suffit de relier votre ordinateur avec la carte électronique dédiée un simple câble RS est capable d'assurer cette mission.

Tant que on va tester cette application sur PROTEUS il faut pas oublier d'ajouter un couple de Port Virtuelle en utilisant Serial Port Virtual comme il est indiquée dans les deux tutoriels précédents.

Simulation

  
  

Programme




Comme ça se voit ici rien est spécial, si on envoi un A la LED va s'allumer et si on va envoyer B cette dernière va s’éteindre.

Une video démonstrative pour bien comprendre le fonctionnement 

  



Exactement La même simulation sera passée avec une Arduino:
Rélier sa cable usb vers l'ordinateur est se communiquer avec l'application voila le programme a televerser dans l'Arduino.  







Et Voila, C'est tout, Vous Pouvez me contacter pour avoir une copie complète de ce tutoriel.


Aucun commentaire:

Enregistrer un commentaire