top of page

Détection automatique d'Obstacle en utilisant ultrasonique module et un GSM 900 pour envoyer des SMS

By Bernice Zuiya

Introduction

                     Détection automatique d'un obstacle à l'aide d'un capteur à ultrasons et envoi d'un feedback à l'aide du module GSM 900. Il s'agit de construire un système qui utilise deux modules:

  • GSM900 module

  • Capteur à ultrasons (Pour mesurer la distance)

Lorsqu'un objet est détecté près de 4 cm par exemple, le contrôleur envoie des commandes au module GSM900 pour envoyer un SMS avec la distance détectée. Cela peut être mis en œuvre de manière différente, comme dans un système qui est utilisé pour informer un utilisateur si quelqu'un se rapproche d'une porte. 

GSM900 module

Ultrasonic sensor

Working

              

             Le fonctionnement de ce projet est une combinaison de deux projet majeur qui se référer aux deux projets dont leur liens sont donnés : Ultrasonic distance meter project , GSM900 send Message project ; Une fois que vous comprenez comment ces deux projets fonctionnent, alors il peut être plus facile pour vous de faire votre propre schéma de circuit, laissez maintenant expliquer le fonctionnement de ce projet en deux étapes:

  1. La première étape consiste à connecter un capteur à ultrasons à un microcontrôleur 16F877A via ses deux broches d'interface (TRIG et ECHO), puis le microcontrôleur trouver la distance expliquée dans le projet, après avoir trouvé la distance réelle, il compare le seuil Distance "d") si la distance est supérieure à d le rien ne se passera, mais s'il n'est pas vérifié alors il va générer un message "SMS" à envoyer à un utilisateur.

  2. Le travail le plus dur est déjà effectué dans la première étape, ici nous allons simplement envoyer des commandes AT via UART au module GSM 900 pour envoyer des SMS pour informer la distance détectée à l'utilisateur.

 

Note:  Respectez la connexion comme l'a mentionné le projet pour l'interface GSM 900 avec un microcontrôleur PIC et la connexion entre le capteur ultrasonique et le contrôleur 16F877A.

Circuit Diagram

            Vous pouvez faire votre propre schéma de circuit si vous comprenez l'interface de GSM 900 avec MCU 16F877A et le capteur ultrasonique pour la mesure de distance avec le contrôleur.

Code and Comment

Download the full project here

#define baudrate 9615
char txt_message[] = "Real Distance Cm";
char Warning_message[] = "- Out Of Range - ";
char numero[]="+919728458177";        // Number
char message[]=" Msg Automatic OSat, Distance is : ";  // MESSAGE
char txt0[7];
int t1;
int _Enter_Button(){
 UART1_Write(13);
 UART1_Write(10);
}
   int _Message_Send(){
   UART1_Write(26);
   UART1_Write(26);
  }
  void main() {
            UART1_Init(baudrate);
            Delay_ms(10);
            TRISB.B1 = 0;
            PORTB.B1 = 0;
            TRISB.B7 = 0;
            TRISB.B6 = 1;
            T1CON = 0X30;
                while(1)  {
                                  TMR1H = 0;
                                  TMR1L = 0; 
                                  PORTB.F7 = 1;
                                  Delay_us(10);
                                  PORTB.F7 = 0;
                                  while(!PORTB.F6);
                                          T1CON.F0 = 1; 
                                  while(PORTB.F6);
                                                        T1CON.F0 = 0;
                                                        t1 = (TMR1L | (TMR1H<<8));  // valuer
                                                        t1 = t1/36.76;
                                                        if ( t1<=30){
                                                        ShortToStr(t1,txt0);
                                                        UART1_Write_text("Real Distance is :");
                                                        UART1_Write_text(txt0);
                                                        UART1_Write(13);
                                                        UART1_Write(10);
                                                 }

                                                    else{
                                                             UART1_Write_text(Warning_message);
                                                             UART1_Write(13);
                                                             UART1_Write(10);
                                                         }
                                     Delay_ms(1000);
                                     PORTB.B1 = 1;
                                                      if (t1 <=5){
                                                          UART1_write_Text("AT+CMGS=");
                                                          UART1_Write(0X22);              // double quotes
                                                          UART1_write_Text(numero);      
                                                          UART1_Write(0X22);              // double quotes
                                                          _Enter_Button();
                                                          Delay_ms(1000);
                                                          UART1_write_Text(message);
                                                          UART1_write_Text(txt0);
                                                          _Message_Send();
                                                          _Enter_Button();
                                                          Delay_ms(5000);
                                                          PORTB.B1 = 0;
                                                }
                                     }
                        }

bottom of page