Tablón de anuncios inalámbrico es un término muy selectivo para este proyecto, ya que tiene un alcance muy amplio en lugar de ser un simple tablón de anuncios. Primero debemos entender el propósito de este proyecto, en este sistema podemos mostrar un mensaje o aviso a algún dispositivo de visualización como LCD, y este mensaje se puede configurar o cambiar fácilmente desde cualquier parte del mundo, simplemente usando la función de SMS de su teléfono móvil. Cualquiera que sea el aviso que queramos mostrar, solo envía el SMS de ese texto, con algún prefijo y sufijo.
Esto es muy útil en hoteles, centros comerciales, universidades, oficinas y se puede usar en cualquier lugar, incluso en casa. Puede configurar el mensaje como "No molestar" en la puerta de la habitación de su hotel, puede configurar el mensaje en la puerta de su casa cuando no está y, por supuesto, se usa como tablón de anuncios en escuelas, universidades, salas de cine, etc. sí, no es un simple tablero de mensajes, la utilidad de este proyecto es que puede configurar o cambiar el mensaje o aviso desde cualquier lugar, simplemente enviando SMS desde su teléfono. También puede verificar un proyecto similar pero en un tipo diferente de pantalla: Marcador de Arduino usando la pantalla de matriz LED P10 para exteriores.
Anteriormente hemos utilizado la función de SMS del teléfono móvil para la seguridad del hogar y controlar los electrodomésticos de forma remota: sensor PIR y sistema de seguridad basado en GSM y automatización del hogar basada en GSM usando Arduino
Explicación de trabajo:
En este proyecto, Arduino UNO se utiliza para controlar todo el proceso, módulo GSM (SIM900A) para recibir el SMS / mensaje enviado desde el teléfono móvil y LCD para mostrar el mensaje.
Podemos enviar algún mensaje o aviso como “#Circuit Digest *”, “#We Welcome You *” a través del SMS. Aquí hemos utilizado un prefijo en la cadena del mensaje que es '#'. Este prefijo se utiliza para identificar el inicio del mensaje o aviso. Y '*' se usa como sufijo para indicar el final del mensaje o aviso.
Cuando enviamos SMS desde el teléfono móvil al módulo GSM, GSM recibe ese SMS y lo envía a Arduino. Ahora Arduino lee este SMS y extrae el mensaje de aviso principal de la cadena recibida y lo almacena en otra cadena. Y luego envía el mensaje extraído a una pantalla LCD de 16x2 usando los comandos apropiados.
El funcionamiento adicional de este sistema se explica en la sección "Descripción del código" a continuación. Antes de entrar en detalles de programación, debemos conocer el módulo GSM.
Módulo GSM:
El módulo GSM se utiliza en muchos dispositivos de comunicación que se basan en la tecnología GSM (Sistema global para comunicaciones móviles). Se utiliza para interactuar con la red GSM utilizando una computadora. El módulo GSM solo comprende los comandos AT y puede responder en consecuencia. El comando más básico es "AT", si GSM responde bien, entonces está funcionando bien, de lo contrario responde con "ERROR". Hay varios comandos AT como ATA para responder una llamada, ATD para marcar una llamada, AT + CMGR para leer el mensaje, AT + CMGS para enviar el sms, etc. Los comandos AT deben ir seguidos de retorno de carro, es decir, \ r (0D en hexadecimal), como "AT + CMGS \ r". Podemos usar el módulo GSM usando estos comandos:
ATE0 Para eco desactivado
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = "Número de móvil"
>> Ahora podemos escribir nuestro mensaje
>> Después de escribir el mensaje
Ctrl + Z comando enviar mensaje (26 en decimal).
ENTRAR = 0x0d en HEX
El SIM900 es un módulo GSM / GPRS cuatribanda completo que ofrece un rendimiento GSM / GPRS 850/900/1800/1900 MHz para voz, SMS y datos con bajo consumo de energía.
Descripción del circuito:
Las conexiones del tablón de anuncios inalámbrico mediante GSM y Arduino son sencillas y se muestran en la siguiente figura. Aquí se utiliza una pantalla de cristal líquido (LCD) para mostrar el "Aviso" o mensaje, que se envía a través del teléfono móvil como SMS. Los pines de datos de la pantalla LCD, a saber, RS, EN, D4, D5, D6, D7 están conectados al pin digital arduino número 7, 6, 5, 4, 3, 2. Y el pin Rx y Tx del módulo GSM está conectado directamente en Tx y Rx pin de Arduino respectivamente. Y el módulo GSM se alimenta mediante un adaptador de 12 voltios.
Descripción del código:
El código del programa es fácilmente comprensible; lo nuevo aquí es la función de inicialización GSN gsm_init (), que se explica al final.
En el programa, en primer lugar incluimos la biblioteca para pantalla de cristal líquido (LCD) y luego definimos los pines de control y datos para LCD y algunas variables.
#incluir
Después de esto, la comunicación en serie se inicializa a 9600 bps y da la dirección al pin utilizado. E inicialice el módulo GSM en el ciclo de configuración.
configuración vacía () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, SALIDA); digitalWrite (led, ALTO); lcd.print ("Inicialización GSM…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("Aviso inalámbrico");
Para recibir datos en serie utilizamos dos funciones, una es Serial.available, que verifica si los datos en serie están llegando o no, y otra es Serial.read, que lee los datos que vienen en serie.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Mensaje recibido"); retraso (1000); }}}
Después de recibir los datos en serie, los almacenamos en una cadena y esta cadena se verifica para '#' y '*', para encontrar el inicio y el final del aviso o mensaje. Luego, finalmente el Aviso se imprime en la pantalla LCD usando lcd.print:
bucle vacío () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); si (temp == 1) {x = 0, k = 0, temp = 0; mientras (x
La función de inicialización 'gsm_init () ' para GSM es importante aquí, donde en primer lugar, el módulo GSM se verifica si está conectado o no enviando el comando 'AT' al módulo GSM. Si se recibe una respuesta OK, significa que está listo. El sistema sigue comprobando el módulo hasta que esté listo o hasta que se reciba "OK". Luego, ECHO se apaga enviando el comando ATE0; de lo contrario, el módulo GSM repetirá todos los comandos. Luego, finalmente, la disponibilidad de la red se verifica a través de 'AT + CPIN?' comando, si la tarjeta insertada es la tarjeta SIM y el PIN está presente, da la respuesta + CPIN: READY. Esto también se comprueba repetidamente hasta que se encuentra la red. Esto se puede entender claramente en el video a continuación.
void gsm_init () {lcd.clear (); lcd.print ("Módulo de búsqueda…"); booleano at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } retraso (1000); }