[TUTORIEL] Module GSM Sparkfun SM5100B part 3 : Montage

Forum dédié aux produits Sparkfun

[TUTORIEL] Module GSM Sparkfun SM5100B part 3 : Montage

Message non lude Stéphane » Mar 11 Sep 2012 14:01

Suite de la partie 2 du tuto, maintenant, place à un montage pratique !

Dans notre cas, nous allons coupler un capteur de distance à ultrasons avec le module GSM.
Admettons, vous êtes au travail et Jeannine (*), votre voisine de bureau, a tendance lors de vos absences à pousser votre bureau contre le mur du fond pour s'allouer un peu plus de place à votre insu ! Que nenni Jeannine, tout ceci est terminé ! Ce petit montage vous enverra un sms pour vous prévenir dès que le capteur ultrason aura détecté une distance inférieure à un seuil donné, entre lui et l'obstacle lui faisant face. Vous pourrez ainsi appeler jeannine via le central de votre entreprise et lui signifier sa prise sur le vif ainsi que votre mécontentement !
Vous pouvez également coupler le module GSM avec un capteur PIR tel celui mentionné dans ce tuto, pour recevoir un sms à chaque fois qu'un mouvement est détecté dans une pièce, ou bien couplé avec un module GSM pour connaitre la position de votre voiture en temps réel.


Allez, c'est parti !
Pour le montage, vous avez besoin de :
- matériel cité ici
- capteur à ultrasons (x1)
- fils/câbles de connection
- breadboard (x2)
- led (x1)
- résistance de 150Ohms (x1)

Schéma de câblage sous fritzing des différents éléments :
Schéma_SM5100B_HC-SR04.png
Schéma_SM5100B_HC-SR04.png (263.99 Kio) Vu 1914 fois


ATTENTION ! Comme stipulé dans la partie, ne branchez JAMAIS votre montage sans connecter une antenne au module GSM !

Une photo d'ensemble :
IMG_0423.jpeg
IMG_0423.jpeg (249.49 Kio) Vu 1915 fois


Ainsi qu'une photo détaillée des connections TX0/RX0 sur le module GSM :
IMG_0427.JPG
IMG_0427.JPG (231.78 Kio) Vu 1917 fois


Code à charger dans l'Arduino:
Code: Tout sélectionner
/*
Code by Sn00tlab 2012

This code is used to provide an example of GSM module SM5100B
and an ultrasound range sensor.

All this products are sold by :
www.snootlab.com
contact@snootlab.com

Share it, improve it, it's free !
*/
#include <SoftwareSerial.h> 
#include <Ultrasonic.h>
#include <string.h>         


const int Trig = 6;             // pin "Trig" du HC-SR04 connectée à pin 3 de l'Arduino
const int Echo = 7;             // pin "Echo" du HC-SR04 connectée à pin 2 de l'Arduino
char incoming_char=0;           //utile à des fins de debug
const int red = 12;
SoftwareSerial cell(2,3);       //Emulation d'un port série, Pin 2 Rx et pin 3 Tx pin
Ultrasonic HCSR04(Trig,Echo);
long cm=0;
char telephone[] = "0613371337";    //numéro de téléphone du destinataire de l'alerte


/*    WARNING !!!    */
/*  Attendre 30s APRES la mise en route du module GSM pour lancer l'Arduino  */

void setup()
{
                                //Init des ports série pour la communication
Serial.begin(57600);
cell.begin(9600);    //init de la liaison série vers le cellulaire
cell.println("AT+CMGF=1");     // se mettre en mode texte pour les SMS
}

void loop()
{
  delay(10000);
 
  cm = HCSR04.convert(HCSR04.timing(), 1);

  if(cm >0 && cm < 50)          // objet très proche
  {
    cell.print("AT+CMGS=");     // initialisation de la procédure d'envoi
   
    cell.print("\"");           // caractère "
   
    cell.print(telephone);
   
    cell.print("\"\r\n");       // caractère "
 
    delay(1000);                 // on attend que le module soit pret

    cell.println("Snootest");   // le message à envoyer
     
    cell.print("\x1A");          // caractère ASCII hen hexadécimal pour Ctrl-Z
 
    digitalWrite(red, HIGH);    // mise à 1 de la led servant à signaler un évenement
  }

}


Dans ce cas de figure, l'ensemble est prévu pour envoyer un sms si le capteur à ultrason détecte un obstacle à moins de 50cm de lui. La distance est bien sûr variable, mais faites attention à la portée maximale du capteur. De plus, dans notre cas, on ne mesure la distance que toutes les 10s, mais il est possible d'abaisser cette limite. Un bon moyen de vérifier ce que fait votre module, est de faire suivre ce que votre module échange avec l'Arduino sur une liaison série Arduino <-> PC. Pour ceci, insérer le code suivant juste apres l'entrée dans la fonction loop() :

Code: Tout sélectionner
while(cell.available() >0)      // tant qu'il y a des caractères présents sur la liaison Arduino <-> GSM
{
incoming_char=cell.read();    //récupérer le caractère sur le port série du GSM
Serial.print(incoming_char);  //envoyer ce caractère sur la liaiso série USB de l'Arduino
}


Voila, notre premier montage GSM+capteur est opérationnel !
Pour tout ce qui est relatif à la communication avec le module GSM via commandes AT, je vous conseille très très fortement de lire le document donné dans la partie 2 de ce tuto. Pour tout montage découlant de celui-ci ou complètement différent, faites parler votre créativité, créez et partagez, car les modules GSM sont de super bases pour des projets extraordinaires, épatez nous !

(*) fonctionne aussi dans d'autres situations, et avec d'autres prénoms.
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Retourner vers Sparkfun

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron