Bacheca wireless è un termine molto selettivo per questo progetto, in quanto ha una portata molto ampia piuttosto che essere solo una semplice bacheca. Per prima cosa dovremmo capire lo scopo di questo progetto, in questo sistema possiamo mostrare un messaggio o un avviso a qualche dispositivo di visualizzazione come LCD, e questo messaggio può essere facilmente impostato o modificato da qualsiasi parte del mondo, semplicemente utilizzando la funzione SMS del tuo microtelefono mobile. Qualunque sia l'avviso che vogliamo visualizzare, invia semplicemente l'SMS di quel testo, con un prefisso e un suffisso.
Questo è molto utile in hotel, centri commerciali, college, uffici e può essere utilizzato ovunque, anche a casa. Ad esempio, puoi impostare il messaggio come "Non disturbare" al cancello della camera del tuo hotel, puoi impostare il messaggio sul gradino della porta di casa quando sei lontano e, naturalmente, viene utilizzato come bacheca nelle scuole, college, sale cinematografiche ecc. sì, non è solo una semplice bacheca, l'utilità di questo progetto è che puoi impostare o modificare il messaggio o l'avviso da qualsiasi luogo, semplicemente inviando SMS dal tuo telefono. Puoi anche controllare un progetto simile ma su un diverso tipo di display: Tabellone segnapunti Arduino con display a matrice LED P10 per esterni.
In precedenza abbiamo utilizzato la funzione SMS del telefono cellulare per la sicurezza domestica e il controllo degli elettrodomestici da remoto: sensore PIR e sistema di sicurezza basato su GSM e automazione domestica basata su GSM utilizzando Arduino
Spiegazione di lavoro:
In questo progetto, Arduino UNO viene utilizzato per controllare l'intero processo, modulo GSM (SIM900A) per ricevere l'SMS / messaggio inviato dal cellulare e LCD per visualizzare il messaggio.
Possiamo inviare messaggi o avvisi come "#Circuit Digest *", "#We Welcome You *" tramite SMS. Qui abbiamo usato un prefisso nella stringa del messaggio che è "#". Questo prefisso viene utilizzato per identificare l'inizio del messaggio o dell'avviso. E '*' viene utilizzato come suffisso per indicare la fine del messaggio o dell'avviso.
Quando inviamo SMS dal telefono cellulare al modulo GSM, il GSM riceve quell'SMS e lo invia ad Arduino. Ora Arduino legge questo SMS ed estrae il messaggio di avviso principale dalla stringa ricevuta e lo memorizza in un'altra stringa. Quindi invia il messaggio estratto a 16x2 LCD utilizzando i comandi appropriati.
L'ulteriore funzionamento di questo sistema è spiegato nella sezione "Descrizione del codice" di seguito. Prima di entrare nei dettagli di programmazione, dovremmo conoscere il modulo GSM.
Modulo GSM:
Il modulo GSM è utilizzato in molti dispositivi di comunicazione basati sulla tecnologia GSM (Global System for Mobile Communications). Viene utilizzato per interagire con la rete GSM utilizzando un computer. Il modulo GSM comprende solo i comandi AT e può rispondere di conseguenza. Il comando più semplice è "AT", se il GSM risponde bene allora funziona bene altrimenti risponde con "ERRORE". Ci sono vari comandi AT come ATA per rispondere a una chiamata, ATD per comporre una chiamata, AT + CMGR per leggere il messaggio, AT + CMGS per inviare l'sms, ecc. I comandi AT dovrebbero essere seguiti da Carriage return ie \ r (0D in esadecimale), come "AT + CMGS \ r". Possiamo utilizzare il modulo GSM utilizzando questi comandi:
ATE0 Per l'eco disattivato
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = "Numero di cellulare"
>> Ora possiamo scrivere il nostro messaggio
>> Dopo aver scritto il messaggio
Ctrl + Z invia il comando del messaggio (26 in decimale).
INVIO = 0x0d in HEX
Il SIM900 è un modulo GSM / GPRS quad-band completo che fornisce prestazioni GSM / GPRS 850/900/1800/1900 MHz per voce, SMS e dati con un basso consumo energetico.
Descrizione del circuito:
Le connessioni della bacheca wireless utilizzando GSM e Arduino sono semplici e mostrate nella figura seguente. Qui un display a cristalli liquidi (LCD) viene utilizzato per visualizzare l '"Avviso" o il messaggio, che viene inviato tramite il telefono cellulare come SMS. I pin dati dell'LCD, vale a dire RS, EN, D4, D5, D6, D7, sono collegati ai pin digitali arduino numero 7, 6, 5, 4, 3, 2. E i pin Rx e Tx del modulo GSM sono collegati direttamente a Tx e Rx pin di Arduino rispettivamente. E il modulo GSM è alimentato utilizzando un adattatore da 12 volt.
Codice Descrizione:
Il codice del programma è facilmente comprensibile; la novità qui è la funzione di inizializzazione GSN gsm_init (), che viene spiegata alla fine.
Nel programma, prima di tutto includiamo la libreria per i display a cristalli liquidi (LCD) e poi definiamo i dati e i pin di controllo per LCD e alcune variabili.
#includere
Successivamente, la comunicazione seriale viene inizializzata a 9600 bps e fornisce la direzione al pin utilizzato. E inizializza il modulo GSM nel ciclo di configurazione.
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 ("Avviso wireless");
Per ricevere i dati in modo seriale utilizziamo due funzioni, una è Serial.available che controlla che i dati seriali siano in arrivo o meno e l'altra è Serial.read che legge i dati che arrivano in modo seriale.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Messaggio ricevuto"); ritardo (1000); }}}
Dopo aver ricevuto i dati in modo seriale, li memorizziamo in una stringa e questa stringa viene controllata per "#" e "*", per trovare l'inizio e la fine dell'avviso o del messaggio. Quindi, infine, l'avviso viene stampato sul display LCD utilizzando lcd.print:
void loop () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); se (temp == 1) {x = 0, k = 0, temp = 0; mentre (x
La funzione di inizializzazione "gsm_init () " per GSM è importante qui, dove in primo luogo, il modulo GSM viene controllato se è connesso o meno inviando il comando "AT" al modulo GSM. Se si riceve una risposta OK, significa che è pronto. Il sistema continua a verificare la presenza del modulo finché non è pronto o finché non viene ricevuto "OK". Quindi ECHO viene spento inviando il comando ATE0, altrimenti il modulo GSM farà eco a tutti i comandi. Quindi, infine, la disponibilità della rete viene verificata tramite "AT + CPIN?" comando, se la scheda inserita è SIM e il PIN è presente, dà la risposta + CPIN: READY. Anche questo viene controllato ripetutamente finché non viene trovata la rete. Questo può essere chiaramente compreso dal video qui sotto.
void gsm_init () {lcd.clear (); lcd.print ("Finding Module.."); booleano at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } ritardo (1000); }