I am trying to use a SeeedStudioV1.4 GPRS shield along with a PIR sensor. The else triggered when the value goes low is stuck on high. Any help would be greatly appreciated. The shield works by itself and the sensor works by itself.
//1. Includes for Sheild
#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>
//3.Sensor vars
int ledPin = 5; // choose the pin for the LED
int inputPin = 3; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
//2.shield vars
#define PIN_TX 7
#define PIN_RX 8
#define BAUDRATE 9600
#define PHONE_NUMBER "077********"
#define MESSAGE "Alert"
GPRS gprs(PIN_TX, PIN_RX, BAUDRATE); //RX,TX,BaudRate
void setup() {
gprs.checkPowerUp();
//4.setup and test
Serial.begin(9600);
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
while(!gprs.init()) {
delay(1000);
Serial.println("Initialization failed!");
}
while(!gprs.isNetworkRegistered())
{
delay(1000);
Serial.println("Network has not registered yet!");
}
}
void loop() {
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
if (gprs.sendSMS(PHONE_NUMBER, MESSAGE)) //define phone number and text
{
Serial.print("Send SMS Succeed!\r\n");
digitalWrite(ledPin, HIGH); // turn LED ON
}
}
else {
digitalWrite(ledPin, LOW); // turn LED OFF
}
}
SimSec-V1.094.ino (1.36 KB)