Вы находитесь на странице: 1из 5

int mA1 = 2, mA2 = 3, mB1 = 4, mB2 = 5; //Motor Initialization

int lsAE = 6, lsAR = 7, lsBE = 8, lsBR = 9, sensor_Rain = 26, sensor_LDR = 28; //Sensor and Swtiches
Initialization;

int sw1 = 10, sw2 = 12, sw3 = 13, sw4 = 22; //User Input Switches Initialization

void setup() {

//Initialization of all pins

pinMode(mA1,OUTPUT), pinMode(mA2,OUTPUT), pinMode(mB1,OUTPUT),


pinMode(mB2,OUTPUT); //For motor

pinMode(lsAE,INPUT), pinMode(lsAR,INPUT), pinMode(lsBE,INPUT), pinMode(lsBR,INPUT),


pinMode(sensor_Rain,INPUT), pinMode(sensor_LDR, INPUT); //For sensor and switches

pinMode(sw1,INPUT), pinMode(sw2,INPUT), pinMode(sw3,INPUT), pinMode(sw4,INPUT); //For user


inputs

void loop() {

if(digitalRead(sw1)==HIGH) //suis ampaian buka

while(digitalRead(lsAE)!=HIGH)

M1F();

MO();

//-------------------------------------------------

else if(digitalRead(sw2)==HIGH) //suis ampaiain tutup

while(digitalRead(lsAR)!=HIGH)

{
M1R();

MO();

//-------------------------------------------------

else if(digitalRead(sw3)==HIGH) //suis bumbung bukak

while(digitalRead(lsBE)!=HIGH)

M2F();

MO();

//-------------------------------------------------

else if(digitalRead(sw4)==HIGH) //suis bumbung tutup

while(digitalRead(lsBR)!=HIGH)

M2R();

MO();

//-------------------------------------------------

else if(digitalRead(sensor_Rain)==LOW)//If sensor is triggered

if(digitalRead(lsAR)==HIGH)//Check if lsAR is triggered

if(digitalRead(lsBE)==HIGH)//Check if lsBE is triggered

{
delay(500);

else{

while(digitalRead(lsBE)!=HIGH)

M2F();

MO();

else if (digitalRead(sensor_LDR)== LOW)

if(digitalRead(lsAR)==HIGH)//Check if lsAR is triggered

if(digitalRead(lsBE)==HIGH)//Check if lsBE is triggered

delay(500);

else{

while(digitalRead(lsAR)!= HIGH)

M1R();

while(digitalRead(lsBE)!=HIGH)

M2F();

}
MO();

else{//If lsAR is not triggered

while(digitalRead(lsAR)!=HIGH)

M1R();

MO();

while(digitalRead(lsBE)!=HIGH)

M2F();

MO();

delay(500);

//------------------------------------------------- Functions

void M1F(){

digitalWrite(mA1,HIGH);

digitalWrite(mA2,LOW);

void M2F(){

digitalWrite(mB1,HIGH);

digitalWrite(mB2,LOW);

void M1R(){
digitalWrite(mA1,LOW);

digitalWrite(mA2,HIGH);

void M2R(){

digitalWrite(mB1,LOW);

digitalWrite(mB2,HIGH);

void MO(){ // motor henti

digitalWrite(mA1,LOW);

digitalWrite(mA2,LOW);

digitalWrite(mB1,LOW);

digitalWrite(mB2,LOW);

Вам также может понравиться