Paso 3: Software
Si nos fijamos en las funciones que tiene nuestro dispositivo para llevar a cabo podemos delinear lo que nuestro código debe hacer y cómo escribirlo. Ofrezco mi código al final, pero para quien quiera entender cómo funciona o quiere escribir su propio código en este paso es dónde buscar. Basé mi código muy pesadamente en los ejemplos de arduino que se incluyen en el arduino IDE en ejemplos > GSM.
RoomAlerts primer función debe ser capaz de conectarse a la red celular. Para ello yo copiar y pegar el principio de los ejemplos GSM da arduino. He añadido en cuatro variables extras, remoteNum [20], textData [200], texted y buttonState. remoteNum es una matriz de hasta 20 caracteres que constituyen el número de teléfono que desea roomAlert al texto. Caracteres debe ser porque el arduino y funciones internas de gsm como sendText trabajo. textData es una matriz de hasta 200 caracteres que componen el roomAlert mensaje le enviaremos. TextEd es un valor booleano para comprobar si el usuario ha sido texted ya para ese momento que se abrió la puerta. Por último, buttonState realiza un seguimiento de si el interruptor está encendido o apagado (puerta abierta o cerrada).
En el setup() creamos un pin que es una entrada y Lee Si el interruptor está activado o desactivado. También, hacer un pin de salida que se encenderá un LED una vez que el dispositivo se ha conectado a la red para que el usuario sepa que el dispositivo está listo. El resto de setup() fue copiado del ejemplo excepto la última línea. La línea final de setup() era a la luz el LED una vez que todo está listo y conectado.
El loop() tiene la parte activa del proyecto y se repite hasta que se apague RoomAlert. Será comprobar si el interruptor se voltea luego comprobando si está recibiendo una llamada continuamente uno tras otro muy rápidamente. Si se gira el interruptor comprobará para ver si tiene texted ya (con la variable texted) y si tiene no texted tú y el interruptor es en le texto. Si el interruptor está apagado se restablecerá la variable texted. Asegúrese de mantener los retrasos porque ellos debounce el interruptor. Si elimina va a conseguir 3-4 textos cada vez cambia de a fuera o porque mecánicos parpadean para una fracción de segundo cuando se voltea de nuevo. Para la porción llamada esto fue copiado del programa recieveCall en los ejemplos de arduino.
Por último, el método sendText creé utiliza unos métodos internos de la biblioteca GSM. Tienes que abrir el texto y dar el número de, darle los datos de texto y terminar el texto.