Wireless Schwarzes Brett ist ein sehr selektiver Begriff für dieses Projekt, da es einen sehr großen Anwendungsbereich hat und nicht nur ein einfaches Schwarzes Brett ist. Zuerst sollten wir den Zweck dieses Projekts verstehen. In diesem System können wir eine Nachricht oder einen Hinweis auf einem Anzeigegerät wie dem LCD anzeigen, und diese Nachricht kann von überall auf der Welt einfach eingestellt oder geändert werden, indem Sie einfach die SMS-Funktion Ihres Geräts verwenden Mobiltelefon. Unabhängig davon, welchen Hinweis wir anzeigen möchten, senden Sie einfach die SMS dieses Textes mit einem Präfix und einem Suffix.
Dies ist sehr nützlich in Hotels, Einkaufszentren, Hochschulen und Büros und kann überall verwendet werden, auch zu Hause. So können Sie die Nachricht wie "Bitte nicht stören" am Zimmertor Ihres Hotels einstellen, die Nachricht an der Haustür Ihres Hauses einstellen, wenn Sie nicht da sind, und sie wird natürlich als Anschlagtafel in Schulen, Hochschulen, Kinosälen usw. verwendet Ja, es ist einfach kein einfaches Message Board. Der Nutzen dieses Projekts besteht darin, dass Sie die Nachricht oder Benachrichtigung von überall aus einstellen oder ändern können, indem Sie einfach SMS von Ihrem Telefon aus senden. Sie können auch ein ähnliches Projekt überprüfen, jedoch auf einem anderen Anzeigetyp: Arduino Scoreboard mit Outdoor P10 LED Matrix Display.
Wir haben zuvor die SMS-Funktion des Mobiltelefons für die Sicherheit zu Hause verwendet und die Haushaltsgeräte ferngesteuert: PIR-Sensor und GSM-basiertes Sicherheitssystem sowie GSM-basierte Hausautomation mit Arduino
Arbeitserklärung:
In diesem Projekt wird Arduino UNO zur Steuerung des gesamten Prozesses verwendet. Das GSM-Modul (SIM900A) empfängt die vom Mobiltelefon gesendete SMS / Nachricht und das LCD, um die Nachricht anzuzeigen.
Wir können eine Nachricht oder einen Hinweis wie "#Circuit Digest *", "#We Welcome You *" per SMS senden. Hier haben wir ein Präfix in der Nachrichtenzeichenfolge verwendet, das '#' ist. Dieses Präfix wird verwendet, um den Beginn der Nachricht oder des Hinweises zu identifizieren. Und '*' wird als Suffix verwendet, um das Ende der Nachricht oder des Hinweises anzuzeigen.
Wenn wir SMS vom Mobiltelefon an das GSM-Modul senden, empfängt GSM diese SMS und sendet sie an Arduino. Jetzt liest Arduino diese SMS und extrahiert die Hauptbenachrichtigung aus der empfangenen Zeichenfolge und speichert sie in einer anderen Zeichenfolge. Anschließend wird die extrahierte Nachricht mit den entsprechenden Befehlen an das 16x2-LCD gesendet.
Die weitere Funktionsweise dieses Systems wird im folgenden Abschnitt "Codebeschreibung" erläutert. Bevor wir uns mit Programmierdetails befassen, sollten wir uns mit dem GSM-Modul vertraut machen.
GSM-Modul:
Das GSM-Modul wird in vielen Kommunikationsgeräten verwendet, die auf der GSM-Technologie (Global System for Mobile Communications) basieren. Es wird verwendet, um über einen Computer mit dem GSM-Netz zu interagieren. Das GSM-Modul versteht nur AT-Befehle und kann entsprechend reagieren. Der grundlegendste Befehl ist "AT". Wenn GSM in Ordnung antwortet, funktioniert es gut, andernfalls antwortet es mit "ERROR". Es gibt verschiedene AT-Befehle wie ATA zum Beantworten eines Anrufs, ATD zum Wählen eines Anrufs, AT + CMGR zum Lesen der Nachricht, AT + CMGS zum Senden der SMS usw. Auf AT-Befehle sollte Wagenrücklauf folgen, dh \ r (0D in hex), wie "AT + CMGS \ r". Wir können das GSM-Modul mit den folgenden Befehlen verwenden:
ATE0 Für Echo aus
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = "Handynummer"
>> Jetzt können wir unsere Nachricht schreiben
>> Nach dem Schreiben einer Nachricht
Strg + Z Befehl zum Senden einer Nachricht (26 in Dezimalzahl).
ENTER = 0x0d in HEX
Das SIM900 ist ein komplettes Quad-Band- GSM / GPRS-Modul, das eine GSM / GPRS-Leistung von 850/900/1800 / 1900MHz für Sprache, SMS und Daten bei geringem Stromverbrauch bietet.
Schaltungsbeschreibung:
Die Verbindungen der drahtlosen Pinnwand über GSM und Arduino sind einfach und in der folgenden Abbildung dargestellt. Hier wird eine Flüssigkristallanzeige (LCD) verwendet, um die „Mitteilung“ oder Nachricht anzuzeigen, die über das Mobiltelefon als SMS gesendet wird. Die Datenpins des LCD, nämlich RS, EN, D4, D5, D6, D7, sind mit dem digitalen Arduino-Pin Nr. 7, 6, 5, 4, 3, 2 verbunden. Der Rx- und Tx-Pin des GSM-Moduls ist direkt mit Tx und Rx verbunden Pin von Arduino jeweils. Das GSM-Modul wird über einen 12-Volt-Adapter mit Strom versorgt.
Code Beschreibung:
Der Code des Programms ist leicht verständlich; Neu ist hier die GSN-Initialisierungsfunktion gsm_init (), die am Ende erklärt wird.
Im Programm enthalten wir zunächst eine Bibliothek für die Flüssigkristallanzeige (LCD) und dann Daten- und Steuerpins für das LCD und einige Variablen.
#einschließen
Danach wird die serielle Kommunikation mit 9600 Bit / s initialisiert und gibt dem verwendeten Pin die Richtung vor. Und initialisieren Sie das GSM-Modul in der Setup-Schleife.
void setup () {lcd.begin (16,2); Serial.begin (9600); PinMode (LED, OUTPUT); digitalWrite (LED, HIGH); lcd.print ("GSM Initilizing…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("Wireless Notice");
Für den seriellen Empfang von Daten verwenden wir zwei Funktionen: Die eine ist Serial.available, die überprüft, ob serielle Daten eingehen oder nicht, und die andere ist Serial.read, die die seriell eingehenden Daten liest.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Nachricht empfangen"); Verzögerung (1000); }}}
Nachdem wir die Daten seriell empfangen haben, speichern wir sie in einer Zeichenfolge. Diese Zeichenfolge wird auf '#' und '*' überprüft, um den Anfang und das Ende der Mitteilung oder Nachricht zu ermitteln. Anschließend wird Notice mit lcd.print auf dem LCD gedruckt:
void loop () {for (vorzeichenloses int t = 0; t <60000; t ++) {serialEvent (); wenn (temp == 1) {x = 0, k = 0, temp = 0; während (x
Die Initialisierungsfunktion 'gsm_init () ' für GSM ist hier wichtig, wobei zunächst das GSM-Modul überprüft wird, ob es verbunden ist oder nicht, indem der Befehl 'AT' an das GSM-Modul gesendet wird. Wenn die Antwort OK empfangen wird, bedeutet dies, dass sie bereit ist. Das System sucht so lange nach dem Modul, bis es bereit ist oder bis 'OK' empfangen wird. Dann wird ECHO durch Senden des ATE0-Befehls ausgeschaltet, andernfalls gibt das GSM-Modul alle Befehle wieder. Anschließend wird die Netzwerkverfügbarkeit über die 'AT + CPIN?' Befehl: Wenn die eingelegte Karte eine SIM-Karte ist und eine PIN vorhanden ist, wird die Antwort + CPIN: BEREIT angezeigt. Dies wird auch wiederholt überprüft, bis das Netzwerk gefunden wurde. Dies kann durch das folgende Video klar verstanden werden.
void gsm_init () {lcd.clear (); lcd.print ("Finding Module.."); boolean at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } delay (1000); }}