vendredi 21 août 2015

Check and Control Security,Temperature,Gas,Ligntness using Arduino Uno and C Sharp PC Application !!

Check and Control Security,Temperature,Gas,Ligntness  using Arduino Uno and C Sharp Application !!

Comme il est inclus au titre, Aujourd'hui on va essayer de construire un System intelligent capable de manipuler votre maison.
Le système est composé d'une partie électronique composée d'une carte électronique Arduino reliée avec des autres composants (des capteurs et des actionneurs) . Une autre partie graphique représentée par une application crée en C Sharp capable de commander des taches et afficher des valeurs et des états.

Alors commençons par la première partie:
On aura besoin de :
Carte Arduino Uno
Capteur Gaz/fumée MQ-5
Capteur PIR
Capteur température LM35
Capteur de lumière LM393
Un ventilateur
Un buzzer
Une lampe électrique

Parlons un peu de capteur tout d'abord:

LM35 

C'est capteur analogique de température de caractéristiques suivantes :
Ce courbe fonctionne linéairement comme ça :







Le plage de tension de sortie de ce capteur est comme si dessous:


L'Arduino va lire la valeur de sortie analogiquement de capteur dans le plage analogique connu             [0-1023] donc elle va associée a chaque voltage une valeur qu'on va la convertir après pour savoir afficher la valeur réelle de température

Si 1023 === 5V alors La valeur réelle de température est:




(5.0 * 1000 / 1023) / 10 = 0.48828125    

5V c'est la valeur maximale qui associe la 1023

1000:  c'est la conversion de V en mV  

10 c'est une constante qui associe 10mV représentante 1 degré Celcius
Comme ça on pourra admettre que on pourra utiliser au programmation directement la constante 0.48828125   
LM393

C'est un module pret pour l'utilisation avec Arduino qui a deux sorties une analogique et une numérique et un potentiomètre pour régler la seuil. Ce dernier inclus un capteur de lumière LDR 
voila une photo de LDR


Voila une photo de Module LM393 

   

MQ-5



C'est un Capteur de Gaz essentiellement voila sa photo :

Il est très simple 3 pattes une on la relie a l'alimentation l'autre au GND et la dernière c'est la sortie

Calcul de pourcentage de Gaz :
si 1023 vaut 100 alors  La pourcentage de sortie vaut (Vout*100)/1023
Capteur PIR (REVB)



 




Simulation



Programmation Arduino 

//Lets electron,ic by Aymen Lachkhem
//let's electronic 
int temperature = A0;
int Light = A1;
int Gas = A2;
int mouv = A3;
int Lampe = 10;
int vent = 11;
int alarme = 12;
int fire_alarm = 13;
char aymen ;
void setup()
{
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);
  pinMode(A2,INPUT);
  pinMode(A3,INPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop()
{
  
  if (Serial.available() > 0) {
   aymen = Serial.read();
  if (aymen == '1')
{
 float temp = analogRead(temperature);
  temp = temp * 0.48828125;
  Serial.print("Temperature = ");
  Serial.print(temp);
  Serial.print("*C");
  Serial.println();
  }
  
  else if (aymen == '2')
  {    Serial.println("Wait Please");

    digitalWrite(11,HIGH);
  delay(1000);
      digitalWrite(11,LOW);
  }
  
  else if (aymen == '3')
  {
    float lightpp = analogRead(A1);
  float lightp = lightpp / 10;
Serial.print("    Ligntness = ");
Serial.print(lightp);
Serial.print("%");
Serial.println();
  }
  else if (aymen == '4')
  {    Serial.println(" Light + +");

    digitalWrite(10,HIGH);
  }
  else if (aymen == '5')
  {    Serial.println(" Light - -");

    digitalWrite(10,LOW);
  }  
   else if (aymen == '6')
  {
    float gaspp = analogRead(A2);
  float gasp = gaspp / 10;
Serial.print("    Gas/Smoke = ");
Serial.print(gasp);
Serial.print("%");
Serial.println();
  }
  
  
  
   else if (aymen == '7')
  {    Serial.println(" Fire Alarm is ON");

    digitalWrite(13,HIGH);
  }  
  
  
   else if (aymen == '8')
  {    Serial.println(" Fire Alarm is OFF");

    digitalWrite(13,LOW);
  }  
  
   else if (aymen == 'A')
  {    Serial.println("  Alarm is ON");

    digitalWrite(12,HIGH);
  }  
   else if (aymen == 'B')
  {    Serial.println("  Alarm is OFF");

    digitalWrite(12,LOW);
  }  
    else if (aymen == '9')
  {
    float movpp = analogRead(A3);
  float movp = movpp / 10;
Serial.print(" Security in  ");
Serial.print(movp);
Serial.print("%");
Serial.println();
  }}
delay(100);
  } 

Passons au deuxième partie maintenant (application C Sharp)
Notre objectif c'est d'avoir ça  







La partie design de l'application elle est comme ça se voit rien de spéciale que des boutons,des images,des Labels et des text box.


Le programme de l'application est comme ça :

Programmation C Sharp

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 WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        SerialPort connexion = new SerialPort("COM2", 9600);
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button2.Enabled = true;
            groupBox1.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            button2.Enabled = false;
            groupBox1.Enabled = false;
           
        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Clear();

            connexion.Open();
            connexion.Write("1");
            string retour = connexion.ReadLine();
            textBox1.Text += retour + "\n";
            connexion.Close();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Clear();

            connexion.Open();
            connexion.Write("2");
            string retour = connexion.ReadLine();
            textBox1.Text += retour + "\n";
            connexion.Close();
        }

        private void button13_Click(object sender, EventArgs e)
        {
            textBox3.Clear();

            connexion.Open();
            connexion.Write("7");
            string retour = connexion.ReadLine();
            textBox3.Text += retour + "\n";
            connexion.Close();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            textBox2.Clear();

            connexion.Open();
            connexion.Write("4");
            string retour = connexion.ReadLine();
            textBox2.Text += retour + "\n";
            connexion.Close();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox2.Clear();

            connexion.Open();
            connexion.Write("5");
            string retour = connexion.ReadLine();
            textBox2.Text += retour + "\n";
            connexion.Close();
        }

        private void button9_Click(object sender, EventArgs e)
        {
            textBox2.Clear();

            connexion.Open();
            connexion.Write("3");
            string retour = connexion.ReadLine();
            textBox2.Text += retour + "\n";
            connexion.Close();
        }

        private void button10_Click(object sender, EventArgs e)
        {
            textBox3.Clear();

            connexion.Open();
            connexion.Write("6");
            string retour = connexion.ReadLine();
            textBox3.Text += retour + "\n";
            connexion.Close();
        }

        private void button11_Click(object sender, EventArgs e)
        {
            textBox4.Clear();

            connexion.Open();
            connexion.Write("9");
            string retour = connexion.ReadLine();
            textBox4.Text += retour + "\n";
            connexion.Close();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            textBox4.Clear();

            connexion.Open();
            connexion.Write("A");
            string retour = connexion.ReadLine();
            textBox4.Text += retour + "\n";
            connexion.Close();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox4.Clear();

            connexion.Open();
            connexion.Write("B");
            string retour = connexion.ReadLine();
            textBox4.Text += retour + "\n";
            connexion.Close();
        }

        private void button12_Click(object sender, EventArgs e)
        {
            textBox3.Clear();

            connexion.Open();
            connexion.Write("8");
            string retour = connexion.ReadLine();
            textBox3.Text += retour + "\n";
            connexion.Close();
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {

        }
    }
}
J'ai vous mis cette vidéo qui vous montre comment on la fait l'application pas à pas.
PS: oublier pas d'ajouter le port série et le régler.



Pour tester l'application sur Proteus ISIScomme toujours on va utiliser Serial Virtual Port pour ajouter un couple de port série  et voila c'est tout


Vidéo Démonstrative


Vous Pouvez télécharger le projet complet et modifiable ici et oublier pas d'installer l'application avant de l'utiliser.



 Télécharger le projet complet ici :   LACHKHEM
  

1 commentaire:

  1. Let'S Electronic : Check And Control Security,Temperature,Gas,Ligntness Using Arduino Uno And C Sharp Pc Application !! >>>>> Download Now

    >>>>> Download Full

    Let'S Electronic : Check And Control Security,Temperature,Gas,Ligntness Using Arduino Uno And C Sharp Pc Application !! >>>>> Download LINK

    >>>>> Download Now

    Let'S Electronic : Check And Control Security,Temperature,Gas,Ligntness Using Arduino Uno And C Sharp Pc Application !! >>>>> Download Full

    >>>>> Download LINK

    RépondreSupprimer