Étape 3: Le code !
Laissez-moi vous expliquer ce qu’exactement le programme devrait faire.
Comme le dit le titre du projet, le Linkit enverra un message texte à un numéro donné après qu’une certaine valeur sur le capteur analogique est franchie. Donc, fondamentalement, ce que nous devons faire est d’écrire un programme qui lit la valeur de la sonde après des durées particulières et vérifie la valeur avec un seuil spécifié. Si la valeur dépasse cette marque, un pré définis SMS sera envoyé au numéro donné !
Semble facile, n’est-elle pas ?
Nous allons coder !
Assurez-vous d’inclure les GSM et les bibliothèques de votre capteur. J’ai connecté le capteur de température de Grove qui repose sur 22 de DHT.
#include « LGSM.h »
#include « DHT.h »
#define DHTPIN 2 / / quelle broche nous avons connecté le capteur de température à
#define DHTTYPE DHT22 / / DHT 22 (AM2302)
Message de chaîne = "Attention ! Traversée de température de 30 degrés Celsius. ";
DHT dht (DHTPIN, DHTTYPE) ;
void setup()
{
Serial.Begin(9600) ;
DHT.Begin() ;
while (!. LSMS.ready()) / / attendre que la carte sim pour initialiser
{
Delay(1000) ; Attendez une seconde et puis essayez à nouveau
}
Serial.println ("Sim initialisée") ; Démarrage de SIM, imprimer « Sim initialisé » dans le port série
LSMS.beginSMS("0123456789") ; Enregistre le nombre où l’utilisateur souhaite envoyer des SMS. Être modifiés avant de télécharger les croquis
}
void loop()
{
flotteur t = 0,0 ;
flotter h = 0.0 ;
LSMS.print(message) ; Préparer la variable message pour être envoyé par MVL
Si (dht.readHT (t, & h))
{
Serial.println("---") ;
Serial.Print ("température =") ;
Serial.println(t) ;
Serial.Print ("humidité =") ;
Serial.println(h) ;
}
int temp = (int) t ;
if(Temp>30)
{
Si (LSMS.endSMS())
Si oui, envoyez le SMS
{
Serial.println ("SMS envoyé") ; Imprimer « SMS envoyé » serial port si l’envoi est réussi
}
d’autre
{
Serial.println ("la SMS n’est pas envoyé") ;
Else print « SMS n’est pas envoyé »
}
}
d’autre
{
Serial.println ("température pas plus de 30.") ;
}
Delay(10000) ;
faire attendre pendant 10 secondes !
}