0% found this document useful (0 votes)
96 views5 pages

Ampaian 0

This document initializes variables for motor pins, sensor pins, and switch pins. It then defines the setup function to set the pin modes. The main loop function contains conditional statements to control the motors based on switch or sensor input to open and close an awning and roof. It defines functions to move motor 1 forward/reverse, motor 2 forward/reverse, and stop the motors.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views5 pages

Ampaian 0

This document initializes variables for motor pins, sensor pins, and switch pins. It then defines the setup function to set the pin modes. The main loop function contains conditional statements to control the motors based on switch or sensor input to open and close an awning and roof. It defines functions to move motor 1 forward/reverse, motor 2 forward/reverse, and stop the motors.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 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);

You might also like