FISHERMAN ASSISTING AND RESCUE SYSTEM

CIRCUIT

PROGRAM

#include <Servo.h>
 Servo myservo;  // create servo object to control a servo
int a=0,y=0,duration;
void setup()
{
   pinMode(2, INPUT);   digitalWrite(2, HIGH);//switch
pinMode(8, OUTPUT);   digitalWrite(8, LOW);//buzzer
     
  displayinit();
  displaytest();
  myservo.attach(3);
  usinit();
  serialstart();
 
}
void loop()
{

  swwater ();
myservo.write(0); delay(1000);  us();
if(a>10 && a<20){digitalWrite(A4, HIGH);  delay(100);}  else digitalWrite(A4, LOW);
  swwater ();
myservo.write(20); delay(1000); us();
if(a>10 && a<20){digitalWrite(A3, HIGH);  delay(100);}  else digitalWrite(A3, LOW);
  swwater ();
myservo.write(40); delay(1000);  us();
if(a>10 && a<20){digitalWrite(A2, HIGH);  delay(100);}  else digitalWrite(A2, LOW);
myservo.write(60); delay(1000); us();
if(a>10 && a<20){digitalWrite(A1, HIGH);  delay(100);}  else digitalWrite(A1, LOW);
  swwater ();
myservo.write(80); delay(1000);  us();
if(a>10 && a<20){digitalWrite(A0, HIGH);  delay(100);}  else digitalWrite(A0, LOW);
  swwater ();
myservo.write(100); delay(1000); us();
if(a>10 && a<20){digitalWrite(13, HIGH);  delay(100);}  else digitalWrite(13, LOW);
  swwater ();
myservo.write(120); delay(1000);  us();
if(a>10 && a<20){digitalWrite(12, HIGH);  delay(100);}  else digitalWrite(12, LOW);
  swwater ();
myservo.write(140); delay(1000); us();
if(a>10 && a<20){digitalWrite(11, HIGH);  delay(100);}  else digitalWrite(11, LOW);
  swwater ();
myservo.write(160); delay(1000);  us();
if(a>10 && a<20){digitalWrite(10, HIGH);  delay(100);}  else digitalWrite(10, LOW);
  swwater ();
myservo.write(180); delay(1500); us();
if(a>10 && a<20){digitalWrite(9, HIGH);  delay(100);}  else digitalWrite(9, LOW);
 
 
  /*
 
   */
}
void swwater (void)
{
  int z= analogRead(A5);
  if(z>200){if(y==0)message();y=1;digitalWrite(8, HIGH);}
  int x=digitalRead(2);
  if(x==0){digitalWrite(8, HIGH);}
  if(x==1 && (z<200)){digitalWrite(8, LOW);}
}

void message(void)
{
Serial.print("AT+CMGS=");
Serial.write(0X22);
Serial.print("98952");
Serial.print("41319");
Serial.write(0X22);
Serial.write(0xd);
delay(1000);
Serial.print("boat ");
Serial.print("on ");
Serial.print("danger");
for(int v=0;v<25;v++){Serial.write(Serial.read());}
Serial.write(0x1a);
}
void serialstart(void)
{
 Serial.begin(9600);
 Serial.print("AT+CMGF=1");
 Serial.write(0xd);
}
void displayinit(void)
{
   pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT);
   pinMode(13, OUTPUT); pinMode(A0, OUTPUT); pinMode(A1, OUTPUT); pinMode(A2, OUTPUT);
   pinMode(A3, OUTPUT); pinMode(A4, OUTPUT);
}
void displaytest(void)
{
 digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH);
 digitalWrite(13, HIGH); digitalWrite(A0, HIGH); digitalWrite(A1, HIGH); digitalWrite(A2, HIGH);
 digitalWrite(A3, HIGH); digitalWrite(A4, HIGH);
delay(1000);
 digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW);
 digitalWrite(13, LOW); digitalWrite(A0, LOW); digitalWrite(A1, LOW); digitalWrite(A2, LOW);
 digitalWrite(A3, LOW); digitalWrite(A4, LOW);

}
void usinit(void)
{
pinMode(4, OUTPUT);// Trigger Pin
 pinMode(5, INPUT);// Echo Pin
 digitalWrite(4  , LOW);
}

void us(void)
{
 digitalWrite(4, HIGH); //sends signal 10 us to excite ultra sonic sensor
 delayMicroseconds(10);
 digitalWrite(4, LOW);
 duration = pulseIn(5, HIGH);//reads  duartion pulse in Microseconds
 a = duration/58;
}