Le tableau d'affichage sans fil est un terme très sélectif pour ce projet, car il a une portée très large plutôt que d'être simplement un simple tableau d'affichage. Tout d'abord, nous devons comprendre le but de ce projet, dans ce système, nous pouvons afficher un message ou un avis sur un périphérique d'affichage tel que l'écran LCD, et ce message peut être facilement défini ou modifié de n'importe où dans le monde, simplement en utilisant la fonction SMS de votre combiné mobile. Quel que soit l'avis que nous voulons afficher, envoyez simplement le SMS de ce texte, avec un préfixe et un suffixe.
Ceci est très utile dans les hôtels, les centres commerciaux, les collèges, les bureaux et peut être utilisé n'importe où, même à la maison. Comme vous pouvez définir le message comme "Ne pas déranger" à la porte de la chambre de votre hôtel, vous pouvez définir un message à la porte de votre maison lorsque vous êtes absent, et bien sûr, il est utilisé comme panneau d'affichage dans les écoles, les collèges, les salles de cinéma, etc. Et oui, ce n'est tout simplement pas un simple babillard électronique, l'utilité de ce projet est que vous pouvez définir ou modifier le message ou l'avis de n'importe où, en envoyant simplement des SMS depuis votre téléphone. Vous pouvez également vérifier un projet similaire mais sur un type d'affichage différent: Tableau de bord Arduino utilisant l'affichage matriciel LED P10 extérieur.
Nous avons précédemment utilisé la fonction SMS du téléphone mobile pour la sécurité de la maison et contrôler les appareils ménagers à distance: capteur PIR et système de sécurité basé sur GSM et domotique basée sur GSM utilisant Arduino
Explication de travail:
Dans ce projet, Arduino UNO est utilisé pour contrôler l'ensemble du processus, module GSM (SIM900A) pour recevoir le SMS / message envoyé depuis le téléphone mobile et l' écran LCD pour afficher le message.
Nous pouvons envoyer des messages ou des avis tels que «#Circuit Digest *», «#We Welcome You *» par SMS. Ici, nous avons utilisé un préfixe dans la chaîne de message qui est «#». Ce préfixe est utilisé pour identifier le début du message ou de l'avis. Et «*» est utilisé comme suffixe pour indiquer la fin du message ou de l'avis.
Lorsque nous envoyons des SMS du téléphone mobile au module GSM, GSM reçoit ce SMS et l'envoie à Arduino. Maintenant, Arduino lit ce SMS et extrait le message de notification principal de la chaîne reçue et stocke dans une autre chaîne. Et puis envoie le message extrait à l'écran LCD 16x2 en utilisant les commandes appropriées.
Le fonctionnement ultérieur de ce système est expliqué dans la section «Description du code» ci-dessous. Avant d'entrer dans les détails de la programmation, nous devons connaître le module GSM.
Module GSM:
Le module GSM est utilisé dans de nombreux appareils de communication basés sur la technologie GSM (Global System for Mobile Communications). Il est utilisé pour interagir avec le réseau GSM à l'aide d'un ordinateur. Le module GSM ne comprend que les commandes AT et peut répondre en conséquence. La commande la plus basique est «AT», si le GSM répond OK alors il fonctionne bien sinon il répond par «ERREUR». Il existe diverses commandes AT comme ATA pour répondre à un appel, ATD pour composer un appel, AT + CMGR pour lire le message, AT + CMGS pour envoyer les sms, etc. Les commandes AT doivent être suivies par Carriage return ie \ r (0D en hexadécimal), comme «AT + CMGS \ r». Nous pouvons utiliser le module GSM en utilisant ces commandes:
ATE0 Pour écho désactivé
AT + CNMI = 2,2,0,0,0
ATD
À + CMGF = 1
AT + CMGS = "Numéro de mobile"
>> Maintenant, nous pouvons écrire notre message
>> Après avoir rédigé le message
Commande d'envoi de message Ctrl + Z (26 en décimal).
ENTRÉE = 0x0d dans HEX
Le SIM900 est un module GSM / GPRS quadri-bande complet qui offre des performances GSM / GPRS 850/900/1800 / 1900MHz pour la voix, les SMS et les données avec une faible consommation d'énergie.
Description du circuit:
Les connexions du tableau d'affichage sans fil utilisant GSM et Arduino sont simples et illustrées dans la figure ci-dessous. Ici, un écran à cristaux liquides (LCD) est utilisé pour afficher la «notification» ou le message, qui est envoyé par le téléphone mobile sous forme de SMS. Les broches de données de l'écran LCD, à savoir RS, EN, D4, D5, D6, D7, sont connectées aux broches numériques arduino 7, 6, 5, 4, 3, 2. Et les broches Rx et Tx du module GSM sont directement connectées à Tx et Rx broche d'Arduino respectivement. Et le module GSM est alimenté à l'aide d'un adaptateur 12 volts.
Description du code:
Le code du programme est facilement compréhensible; la nouveauté ici est la fonction d' initialisation GSN gsm_init (), qui est expliquée à la fin.
Dans le programme, nous incluons tout d'abord une bibliothèque pour l'affichage à cristaux liquides (LCD), puis nous définissons des données et des broches de contrôle pour LCD et certaines variables.
#comprendre
Après cela, la communication série est initialisée à 9600 bps et donne la direction à la broche utilisée. Et initialisez le module GSM dans la boucle de configuration.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, sortie); digitalWrite (led, HIGH); lcd.print ("GSM Initilizing…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("Avis sans fil");
Pour recevoir des données en série, nous utilisons deux fonctions, l'une est Serial.available qui vérifie que les données série arrivent ou non et l'autre est Serial.read qui lit les données qui arrivent en série.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; si (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Message reçu"); retard (1000); }}}
Après avoir reçu les données en série, nous les stockons dans une chaîne et cette chaîne est vérifiée pour «#» et «*», pour trouver le début et la fin de l'avis ou du message. Enfin, l'avis est imprimé sur l'écran LCD à l'aide de lcd.print:
boucle void () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); si (temp == 1) {x = 0, k = 0, temp = 0; tandis que (x
La fonction d'initialisation «gsm_init () » pour GSM est importante ici, où tout d'abord, le module GSM est vérifié s'il est connecté ou non en envoyant la commande «AT» au module GSM. Si la réponse OK est reçue, cela signifie qu'elle est prête. Le système continue de rechercher le module jusqu'à ce qu'il soit prêt ou jusqu'à ce que «OK» soit reçu. Ensuite, ECHO est désactivé en envoyant la commande ATE0, sinon le module GSM fera écho à toutes les commandes. Enfin, la disponibilité du réseau est vérifiée via le 'AT + CPIN?' commande, si la carte insérée est une carte SIM et que le code PIN est présent, il donne la réponse + CPIN: READY. Ceci est également vérifié à plusieurs reprises jusqu'à ce que le réseau soit trouvé. Cela peut être clairement compris par la vidéo ci-dessous.
void gsm_init () {lcd.clear (); lcd.print ("Module de recherche.."); booléen at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } retard (1000); }