Stap 3: Software
Als we kijken naar de functies van onze apparaat om uit te voeren kan duidelijk naar voren komt wat onze code moet doen en hoe te schrijven. Ik zal mijn code aan het eind maar voor iedereen wie wil begrijpen hoe het werkt of wil schrijven hun eigen code deze stap is waar hij moet zoeken. Ik mijn code zeer sterk gebaseerd op de arduino voorbeelden die zijn opgenomen in de arduino IDE al onder voorbeelden > GSM.
RoomAlerts eerste functie is om te kunnen verbinden met het mobiele netwerk. Om dit te doen ik heb gekopieerd en geplakt van het begin van de voorbeelden van de GSM arduino geeft. Ik heb toegevoegd in vier extra variabelen, remoteNum [20], textData [200], texted en buttonState. remoteNum is een matrix van maximaal 20 tekens bevatten die het telefoonnummer dat vormen u wilt roomAlert tekst. Het moet tekens omdat alle van de arduino en gsm van interne funtions graag sendText werk. textData is een array van maximaal 200 tekens die het bericht roomAlert make-up je stuurt. texted is een Boolean-waarde om te controleren of de gebruiker is texted al voor die tijd die de deur werd geopend. Tot slot, buttonState controleren of als de schakelaar in- of uitschakelen (deur open of gesloten).
In de Setup maken we een pin die is een input en leest als de switch in- of uitschakelen is. Zorg ook voor een uitgang-pins die een LED brandt zodra het apparaat is aangesloten op het netwerk, zodat de gebruiker weet dat het apparaat klaar is. De rest van Setup wordt gekopieerd uit het voorbeeld met uitzondering van de laatste regel. De laatste regel van Setup was aan het licht de LED zodra alles klaar en aangesloten is.
De loop is het werkzaam deel van het project erin en wordt herhaald totdat RoomAlert is uitgeschakeld. Het zal controleren als de schakelaar is omgedraaid dan controleren als het is een gesprek continu achter elkaar erg snel. Als de schakelaar is gespiegeld het zal controleren om te zien als het texted heeft u al (met de texted variabele) en als er geen texted u en de schakelaar brandt dan het tekst zal u. Als de schakelaar uitstaat zal op beginstand zetten naar de texted variabele. Zorg ervoor dat de vertragingen te houden omdat ze debounce de schakelaar. Als verwijderd u zal krijgen van 3-4 teksten everytime het verandert van op uit of terug omdat mechanische schakelaars flikkeren voor een fractie van een seconde wanneer ze zijn omgedraaid. Voor het bellen gedeelte was dit gekopieerd uit het recieveCall-programma in de arduino voorbeelden.
Ten slotte gebruikt de sendText-methode die ik heb gemaakt een paar interne methoden van de GSM-bibliotheek. Je moet beginnen met de tekst en geven het nummer, geef het de tekstgegevens dan einde van de tekst.