Академический Документы
Профессиональный Документы
Культура Документы
h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
// These constants won't change. They're used to give names to the pins used:
#include <SoftwareSerial.h>
#define rxPin 3
#define txPin 2
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
char text[150];
String message="";
int i;
const int r1 = 8;
const int r2 = 9;
const int r3 = 10;
const int analogInPin = A0; // Analog input pin that the potentiometer is attached
to
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int sensorValue = 0;
int sensorValue1 = 0; // value read from the pot
void setup() {
lcd.begin();//Error in this line
lcd.backlight();// Включаем подсветку дисплея
lcd.setCursor(0, 0);
lcd.print("UNDER GROUND");
lcd.setCursor(0, 1);
lcd.print("CABLE FAULT");
// initialize serial communications at 9600 bps:
Serial.begin(9600);
mySerial.begin(9600);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(r3, OUTPUT);
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("R PHASE FAULT");
delay(1000);
message="R PHASE FAULT";
SendTextMessage();
if (buttonState2 ==LOW) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Y PHASE FAULT");
delay(1000);
digitalWrite(r2,LOW);
message="Y PHASE FAULT";
SendTextMessage();
} else {lcd.clear();
lcd.setCursor(0, 0);
lcd.print("scanning...");
digitalWrite(r2, HIGH);
}
if (buttonState3 == LOW) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("B PHASE FAULT");
digitalWrite(r3, LOW);
message="B PHASE FAULT";
SendTextMessage();
}
else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("scanning..");
digitalWrite(r3, HIGH);
}
sensorValue1 = analogRead(analogInPin);
//
//
if ( (sensorValue1>=0 && sensorValue1<=10) )
{lcd.setCursor(0,1);
lcd.print("F=LOC3");
delay(1000);
message="Malavli 18.7448,73.4817";
SendTextMessage();
}
else if ((sensorValue1>=325 && sensorValue1<=340) )
{lcd.setCursor(0,1);
lcd.print("F=LOC4");
message="Lonavla 18.7557,73.4091";
SendTextMessage();
delay(1000);
}
else if ((sensorValue1>=450 && sensorValue1<=780))
{lcd.setCursor(0,1);
lcd.print("F=LOC2");
message="Vadgaon 18.7372,73.6390";
SendTextMessage();
delay(1000);}
else if ((sensorValue1>=850 ) )
{lcd.setCursor(0,1);
lcd.print("F=LOC1");
message="Talegaon Dabhade 18.7376,73.6747";
SendTextMessage();
delay(1000);
}
else
{ lcd.setCursor(0,1);
lcd.print("F=OK");
delay(1000);
}
void SendTextMessage(){
mySerial.print("AT+CMGF=1\r");
delay(1000);
mySerial.print("AT+CMGS=\"+919823169255\"\r");
delay(1000);
mySerial.println(message);
mySerial.print("\r");
delay(1000);
mySerial.println((char)26);
mySerial.println();