#include "Adafruit_FONA.h" #define FONA_RX 2 #define FONA_TX 3 #define FONA_RST 4 //vibration sensor //#define VS 10 // this is a large buffer for replies char replybuffer[255]; #include SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX); SoftwareSerial *fonaSerial = &fonaSS; Adafruit_FONA fona = Adafruit_FONA(FONA_RST); uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0); uint8_t type; int vs=10; int shockVal = HIGH; void setup() { while (!Serial); Serial.begin(115200); // Serial.println(F("FONA basic test")); // Serial.println(F("Initializing....(May take 3 seconds)")); fonaSerial->begin(4800); if (! fona.begin(*fonaSerial)) { // Serial.println(F("Couldn't find FONA")); while (1); } type = fona.type(); // Serial.println(F("FONA is OK")); // Serial.print(F("Found ")); switch (type) { case FONA800L: // Serial.println(F("FONA 800L")); break; case FONA800H: // Serial.println(F("FONA 800H")); break; case FONA808_V1: // Serial.println(F("FONA 808 (v1)")); break; case FONA808_V2: // Serial.println(F("FONA 808 (v2)")); break; case FONA3G_A: // Serial.println(F("FONA 3G (American)")); break; case FONA3G_E: // Serial.println(F("FONA 3G (European)")); break; default: // Serial.println(F("???")); break; } // Print module IMEI number. char imei[15] = {0}; // MUST use a 16 character buffer for IMEI! uint8_t imeiLen = fona.getIMEI(imei); if (imeiLen > 0) { // Serial.print("Module IMEI: "); Serial.println(imei); } pinMode(vs, INPUT); } void loop() { shockVal = digitalRead (vs) ; int t=0; char sendto[11]="YOUR NUMBER"; char sendto1[11]="YOUR NUMBER 2"; char message[27]="Accident has been detected"; if(shockVal == HIGH || shockVal == 1){ if(t==0){ Serial.println(shockVal); if (!fona.sendSMS(sendto, message) && !fona.sendSMS(sendto1, message)) { Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); t=1; } delay(1000); if(!fona.sendSMS(sendto1, message)) { Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); t=1; } } }else{ t=0; } }