Étape 3: logiciel
Si nous regardons les fonctions que notre dispositif a faire nous pouvons décrire ce que notre code doit faire et comment l’écrire. Je vais vous donner mon code à la fin, mais pour tous ceux qui veulent comprendre comment il fonctionne, ou veut écrire leur propre code, cette étape est où chercher. J’ai basé mon code très lourdement sur les exemples de l’arduino qui sont inclus dans l’arduino IDE déjà sous exemples > GSM.
RoomAlerts fonction première est d’être capable de se connecter au réseau cellulaire. Pour ce faire, j’ai copié et collé au début de l’arduino donne des exemples GSM. J’ai ajouté dans quatre variables supplémentaires, remoteNum [20], textData [200], envoyé un texto et buttonState. remoteNum est un tableau de jusqu'à 20 caractères qui constituent le numéro de téléphone, vous voulez roomAlert au texte. Il doit contenir des caractères car tous l’arduino et funtions interne du gsm comme travail sendText. textData est un tableau de jusqu'à 200 caractères qui composent le message roomAlert vous enverra. texto est une valeur booléenne pour vérifier si l’utilisateur a été envoyé un texto déjà à cette époque, que la porte était ouverte. Enfin, le buttonState suivi de si le commutateur est activé ou désactivé (porte ouverte ou fermée).
Dans le setup(), nous créons une épingle qui est une entrée et lit si l’interrupteur est allumé ou éteint. En outre, faire une broche de sortie qui s’allume une LED, une fois l’appareil branché sur le réseau afin que l’utilisateur sait que le périphérique est prêt. Le reste de setup() a été copié à partir de l’exemple à l’exception de la dernière ligne. La dernière ligne de setup() a été à la lumière de la LED, une fois que tout est prêt et connecté.
Le loop() a la partie de travail du projet dedans et se répète jusqu'à ce que RoomAlert est coupée. Il sera vérifier si l’interrupteur a été renversé puis vérifier si elle reçoit un appel en continu un après l’autre très rapidement. Si l’interrupteur est basculé il vérifie pour voir si il a envoyé un texto vous déjà (avec la variable envoyé un texto) et si elle n’a pas envoyé un texto vous et le commutateur est sur alors il sera texte vous. Si l’interrupteur est éteint il se réinitialisera la variable envoyé un texto. Veillez à garder les retards car ils debounce l’interrupteur. Si supprimé vous obtiendrez 3-4 textes chaque fois il change de sur off ou retour parce que les interrupteurs mécaniques scintillent pendant une fraction de seconde lorsqu’elles sont retournées. Pour la partie appelante, ceci a été copié dans le programme de recieveCall dans les exemples de l’arduino.
Enfin, la méthode de Mathias, que j’ai créé utilise deux méthodes internes de la bibliothèque GSM. Vous devez commencer le texte et donner le nombre, lui donner les données de texte puis terminer le texte.