RoomAlert-inbrottsskydd (3 / 10 steg)

Steg 3: programvara

Om vi tittar på vår enhet har att utföra funktioner kan vi beskriva vad vår kod som behöver göra och hur man skriver det. Jag kommer att ge min kod i slutet men för alla som vill förstå hur den fungerar eller vill skriva sin egen kod detta steg är var du ska leta. Jag bygger min kod mycket tungt på arduino exemplen som ingår i arduino IDE redan under exempel > GSM.

RoomAlerts första uppgift är att ansluta till mobilnätet. För att göra detta jag kopierat och klistrat in i början av GSM exempel arduino ger. Jag la i fyra extra variabler, remoteNum [20], textData [200], text / och buttonState. remoteNum är en matris med upp till 20 tecken som utgör telefonnummer du vill roomAlert till text. Det måste vara tecken eftersom alla arduino och gsm's interna funktioner som sendText arbete. textData är en rad upp till 200 tecken som utgör den meddelande roomAlert kommer att skicka dig. text / är ett booleskt värde att kontrollera om användaren har redan textas för då öppnades dörren. Slutligen buttonState håller reda på om den är påslagen eller off (dörren öppen eller stängd).

I setup() skapa vi ett stift som är indata och läser om växeln är på eller av. Se också en utgångsstiftet som kommer att lysa en LED när enheten har anslutit till nätverket så att användaren vet enheten är klar. Resten av setup() har kopierats från exemplet med undantag för den sista raden. Den sista raden i setup() var att ljus LED när allt är redo och ansluten.

Loop() har den arbetande delen av projektet i den och upprepas tills RoomAlert är avstängd. Det kommer att kontrollera om växeln var vänt sedan kontrollera om den tar emot ett samtal kontinuerligt efter varandra mycket snabbt. Om växeln är vänt det kommer att kontrollera om det har SMS: ade du redan (med text / variabeln) och om den har inte textas du och växeln på då det kommer texten du. Om växeln är avstängd kommer det att återställa den text / variabeln. Se till att hålla förseningarna eftersom de Dämpningstid växeln. Om bort du kommer att få 3-4 texter varje gång den ändras från på till off eller tillbaka eftersom mekaniska brytare flimra för en bråkdel av en sekund när de är vänt. För den ringa del kopierats detta från recieveCall programmet i arduino exemplen.

Slutligen används metoden sendText jag skapade ett par interna metoder från GSM-biblioteket. Du måste starta texten och ge numret, ge det textdata sedan avslutar texten.

Se Steg
Relaterade Ämnen