Gsm shield 2 con sensore PIR

Share


Ecco un esempio di codice Arduino che utilizza un GSM Shield 2 e un sensore PIR per rilevare il movimento e inviare un messaggio SMS quando viene rilevato un movimento.

#include <GSM.h>

#define PIR_PIN 2 // Pin di collegamento per il sensore PIR
#define PHONE_NUMBER "+1234567890" // Numero di telefono per l'invio del messaggio SMS

GSM gsmAccess; // Oggetto per l'accesso GSM
GSM_SMS sms; // Oggetto per la gestione degli SMS

void setup() {
  pinMode(PIR_PIN, INPUT); // Imposta il pin del sensore PIR come input
  Serial.begin(9600); // Inizializza la comunicazione seriale

  // Connessione GSM
  boolean connected = false;
  while (!connected) {
    if (gsmAccess.begin("<PIN_DEL_SIM_CARD>") == GSM_READY) { // Inserire il PIN della SIM card
      connected = true;
    } else {
      Serial.println("Connessione GSM fallita...");
      delay(1000);
    }
  }

  Serial.println("Connessione GSM riuscita");
}

void loop() {
  int pirState = digitalRead(PIR_PIN); // Leggi lo stato del sensore PIR

  if (pirState == HIGH) {
    Serial.println("Movimento rilevato!");

    // Invia un messaggio SMS
    sms.beginSMS(PHONE_NUMBER);
    sms.print("Movimento rilevato!");
    sms.endSMS();

    delay(5000); // Attendi per evitare l'invio di messaggi multipli in rapida successione
  }
}

Assicurati di avere installata la libreria GSM nella tua IDE di Arduino per poter compilare e caricare il codice correttamente. Inoltre, dovrai sostituire ‘<PIN_DEL_SIM_CARD>‘ con il PIN effettivo della tua SIM card e ‘<PHONE_NUMBER>‘ con il numero di telefono al quale desideri inviare il messaggio SMS.