SlideShare a Scribd company logo
CODING IN ARDUINO:
The open-source Arduino Programming (IDE) makes it simple to compose code and transfer it
to the board. It keeps running on Windows, Macintosh OS X, and Linux. Nature is composed in
Java and in light of Handling and other open-source programming.
For auto mode:
void AutoMode()
{
if(ResetCheck == 0)
{
if(PIRValue == 1)
{
radio.stopListening();
unsigned long time = 1;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
MotorsStop();
while(1)
{
PIRSensor();
if ( radio.available() )
{
unsigned long data = 0;
radio.read( &data, sizeof(unsigned long) );
Serial.println(data);
if(data == 9){direc = 6;}
}
if(direc == 6)
{
ResetCheck = 1;
direc = 0;
radio.stopListening();
unsigned long time = 0;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
break;
}
if(PIRValue == 0){break;}
}
}
if(PIRValue == 0)
{
//Serial.println("YES");
radio.stopListening();
unsigned long time = 0;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
}
if(FrontSensor > 50 ){ MotorsForward(); }
if(FrontSensor < 50)
{
MotorsStop();
delay(1000);
if(((RightSensor > 30) && (LeftSensor > 30)) && (TurnCheck == 0))
{
MotorsLeft();
delay(3500);
MotorsStop();
delay(1000);
//MotorsForward();
TurnCheck = 1;
}
if((RightSensor < 30) && (LeftSensor < 30))
{
radio.stopListening();
unsigned long time = 1;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
MotorsStop();
StopCheck = 1;
}
if(StopCheck == 0)
{
if((RightSensor < 30) && (TurnCheck == 0))
{
MotorsLeft();
delay(3500);
MotorsStop();
delay(1000);
//MotorsForward();
TurnCheck = 1;
}
if((LeftSensor < 30) && (TurnCheck == 0))
{
MotorsRight();
delay(3500);
MotorsStop();
delay(1000);
//MotorsForward();
TurnCheck = 1;
}
}
StopCheck = 0;
TurnCheck = 0;
}
}
For Manual Mode:-
void ManualMode()
{
if(direc == 1){MotorsForward();}
if(direc == 2){MotorsBackward();}
if(direc == 3){MotorsLeft();}
if(direc == 4){MotorsRight();}
if(direc == 5){MotorsStop();}
if(PIRValue == 1)
{
radio.stopListening();
unsigned long time = 1;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
MotorsStop();
while(1)
{
PIRSensor();
if(PIRValue == 0){break;}
}
}
if(PIRValue == 0)
{
//Serial.println("YES");
radio.stopListening();
unsigned long time = 0;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
}
Human Detection Using PIR And Sonar:-
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
RF24 radio(9,10);
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
#define trigPin1 4
#define echoPin1 6
#define trigPin2 7
#define echoPin2 8
#define trigPin3 A4
#define echoPin3 A5
#define pirPin 2
#define motorR1 A0
#define motorR2 A1
#define motorL1 A3
#define motorL2 A2
#define PwmLeft 3
#define PwmRight 5
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;
long duration, distance, RightSensor,FrontSensor,LeftSensor;
int TurnCheck = 0;
int mode = 0;
int direc = 0;
int StopCheck = 0;
int ResetCheck = 0;
void setup()
{
Serial.begin(57600);
radio.begin();
radio.setRetries(15,15);
radio.openReadingPipe(1,pipes[1]);
radio.startListening();
radio.printDetails();
radio.openWritingPipe(pipes[0]);
radio.openReadingPipe(1,pipes[1]);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
pinMode(pirPin, INPUT);
digitalWrite(pirPin, LOW);
pinMode(motorR1, OUTPUT);
pinMode(motorR2, OUTPUT);
pinMode(motorL1, OUTPUT);
pinMode(motorL2, OUTPUT);
pinMode(PwmLeft, OUTPUT);
pinMode(PwmRight, OUTPUT);
analogWrite(PwmLeft, 0);
analogWrite(PwmRight, 0);
delay(1000);
}
void loop() {
SonarSensor(trigPin1, echoPin1);
LeftSensor = distance;
SonarSensor(trigPin2, echoPin2);
FrontSensor = distance;
SonarSensor(trigPin3, echoPin3);
RightSensor = distance;
PIRSensor();
if(PIRValue == 0){ResetCheck = 0;}
//radio.startListening();
if ( radio.available() )
{
unsigned long data = 0;
radio.read( &data, sizeof(unsigned long) );
Serial.println(data);
if(data == 2){mode = 1;}
if(data == 3){mode = 2;}
if(data == 4){direc = 1;}
if(data == 5){direc = 2;}
if(data == 6){direc = 3;}
if(data == 7){direc = 4;}
if(data == 8){direc = 5;}
// radio.stopListening();
}
if(mode == 1)
{
AutoMode();
}
if(mode == 2)
{
ManualMode();
}
}
PIR Sensor:-
void PIRSensor()
{
if(digitalRead(pirPin) == HIGH)
{
if(lockLow)
{
PIRValue = 1;
lockLow = false;
Serial.println("Motion detected.");
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW)
{
if(takeLowTime){lowIn = millis();takeLowTime = false;}
if(!lockLow && millis() - lowIn > pause)
{
PIRValue = 0;
lockLow = true;
Serial.println("Motion ended.");
delay(50);
}
}
}
Sonar Sensor:-
void SonarSensor(int trigPin,int echoPin)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
delay(100);
}
Motors Routine:-
void MotorsBackward()
{
digitalWrite(motorL1, HIGH);
digitalWrite(motorL2, LOW);
digitalWrite(motorR1, HIGH);
digitalWrite(motorR2, LOW);
}
void MotorsForward()
{
digitalWrite(motorL1, LOW);
digitalWrite(motorL2, HIGH);
digitalWrite(motorR1, LOW);
digitalWrite(motorR2, HIGH);
}
void MotorsStop()
{
digitalWrite(motorL1, HIGH);
digitalWrite(motorL2, HIGH);
digitalWrite(motorR1, HIGH);
digitalWrite(motorR2, HIGH);
}
void MotorsRight()
{
digitalWrite(motorR1, HIGH);
digitalWrite(motorR2, HIGH);
digitalWrite(motorL1, LOW);
digitalWrite(motorL2, HIGH);
}
void MotorsLeft()
{
digitalWrite(motorR1, LOW);
digitalWrite(motorR2, HIGH);
digitalWrite(motorL1, HIGH);
digitalWrite(motorL2, HIGH);
}
Human Detection Using Sonar and PIR :-
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int buzzer = 8;
RF24 radio(9,10);
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
typedef enum { role_ping_out = 1, role_pong_back } role_e;
const char* role_friendly_name[] = { "invalid", "Ping out", "Pong back"};
role_e role = role_pong_back;
void setup(void)
{
Serial.begin(9600);
pinMode(buzzer,OUTPUT);
digitalWrite(buzzer,HIGH);
radio.begin();
radio.setRetries(15,15);
radio.openReadingPipe(1,pipes[1]);
radio.startListening();
radio.printDetails();
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(1,pipes[0]);
}
void loop(void)
{
if ( radio.available() )
{
unsigned long data = 0;
radio.read( &data, sizeof(unsigned long) );
Serial.println(data);
if(data == 1)
{digitalWrite(buzzer,LOW);
}
if(data == 0)
{digitalWrite(buzzer,HIGH);
}
}
if(Serial.available())
{
char sdata = Serial.read();
if(sdata == 'a')
{
radio.stopListening();
unsigned long time = 2;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'm')
{
radio.stopListening();
unsigned long time = 3;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'f')
{
radio.stopListening();
unsigned long time = 4;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'b')
{
radio.stopListening();
unsigned long time = 5;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'l')
{
radio.stopListening();
unsigned long time = 6;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'r')
{
radio.stopListening();
unsigned long time = 7;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 's')
{
radio.stopListening();
unsigned long time = 8;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
if(sdata == 'R')
{
radio.stopListening();
unsigned long time = 9;
radio.write( &time, sizeof(unsigned long) );
radio.startListening();
}
}
}

More Related Content

PDF
selected input/output - sensors and actuators
PDF
Connectivity for Local Sensors and Actuators Using nRF24L01+
PDF
8051-mazidi-solution
PPT
W8_2: Inside the UoS Educational Processor
PPT
microprocessors
PPT
Uart VHDL RTL design tutorial
PDF
Functions for Nano 5 Card
PDF
8051 experiments1
selected input/output - sensors and actuators
Connectivity for Local Sensors and Actuators Using nRF24L01+
8051-mazidi-solution
W8_2: Inside the UoS Educational Processor
microprocessors
Uart VHDL RTL design tutorial
Functions for Nano 5 Card
8051 experiments1

What's hot (20)

PDF
Pipeline stalling in vhdl
DOC
FINISHED_CODE
DOCX
Uart
DOCX
PPT
W10: Interrupts
PDF
Lathe Spindle Sensor
PDF
Using Timers in PIC18F Microcontrollers
PDF
Dsd lab Practical File
PPTX
8051 microcontroller
PPTX
DOCX
CET4811_FINAL_LAB
PPTX
Lcd module interface with xilinx software using verilog
PDF
ODP
FPGA Tutorial - LCD Interface
PDF
AT89C52 Data sheet
DOCX
Direct analog
PDF
Digital System Design Lab Report - VHDL ECE
PDF
Solution manual 8051 microcontroller by mazidi
DOCX
32 bit ALU Chip Design using IBM 130nm process technology
Pipeline stalling in vhdl
FINISHED_CODE
Uart
W10: Interrupts
Lathe Spindle Sensor
Using Timers in PIC18F Microcontrollers
Dsd lab Practical File
8051 microcontroller
CET4811_FINAL_LAB
Lcd module interface with xilinx software using verilog
FPGA Tutorial - LCD Interface
AT89C52 Data sheet
Direct analog
Digital System Design Lab Report - VHDL ECE
Solution manual 8051 microcontroller by mazidi
32 bit ALU Chip Design using IBM 130nm process technology
Ad

Viewers also liked (14)

PPTX
Birthday
PDF
Ebadullah- CV
PDF
Επιχειρηματολογικά κείμενα
PDF
Post Ideas
PDF
Q2 2015 Washington, DC office sector report
PPTX
Mudr library kannada presentation
DOCX
REPORT ON THREE DAYS CONSECUTIVE CAPACITY BUILDING TRAINING WORKSHOP
DOCX
Ma0038 &amp; banking operations
PDF
CV2015_Abdulloh Azzam
PPTX
Explore the Indian Heritage in Chennai
DOCX
University of the Istmus
PPTX
Smarter Content for Bigger Results
PDF
Eurostat secteur de la construction-baisse
Birthday
Ebadullah- CV
Επιχειρηματολογικά κείμενα
Post Ideas
Q2 2015 Washington, DC office sector report
Mudr library kannada presentation
REPORT ON THREE DAYS CONSECUTIVE CAPACITY BUILDING TRAINING WORKSHOP
Ma0038 &amp; banking operations
CV2015_Abdulloh Azzam
Explore the Indian Heritage in Chennai
University of the Istmus
Smarter Content for Bigger Results
Eurostat secteur de la construction-baisse
Ad

Similar to CODING IN ARDUINO (20)

PPTX
Internet of Things (IoT)-Sensors & Actuators - IoT.pptx
PPT
Arduinomotorcontrolusingservoultrasonic
PPTX
teststststststLecture_3_2022_Arduino.pptx
PDF
Arduino
PDF
Arduino
PPTX
Radar Using Arduino
PPTX
arduino and its introduction deep dive ppt.pptx
PDF
introductiontoarduino-111120102058-phpapp02.pdf
TXT
Metal detecting robot sketch
PDF
Automatic Door Opener using PIR Sensor
PPTX
EMBEDDED system presentation (PPT1.pptx)
PPTX
Computer networks unit III CHAPTER of frameworks
PDF
Sonar Project Report
PPTX
Introduction to the Arduino
PPTX
Arduino intro.pptx
PPTX
Obstacle avoiding Robot
PDF
obstacle avoiding robot project
PDF
From Arduino to LinnStrument
PPTX
IOT beginnners
PPTX
IOT beginnners
Internet of Things (IoT)-Sensors & Actuators - IoT.pptx
Arduinomotorcontrolusingservoultrasonic
teststststststLecture_3_2022_Arduino.pptx
Arduino
Arduino
Radar Using Arduino
arduino and its introduction deep dive ppt.pptx
introductiontoarduino-111120102058-phpapp02.pdf
Metal detecting robot sketch
Automatic Door Opener using PIR Sensor
EMBEDDED system presentation (PPT1.pptx)
Computer networks unit III CHAPTER of frameworks
Sonar Project Report
Introduction to the Arduino
Arduino intro.pptx
Obstacle avoiding Robot
obstacle avoiding robot project
From Arduino to LinnStrument
IOT beginnners
IOT beginnners

CODING IN ARDUINO

  • 1. CODING IN ARDUINO: The open-source Arduino Programming (IDE) makes it simple to compose code and transfer it to the board. It keeps running on Windows, Macintosh OS X, and Linux. Nature is composed in Java and in light of Handling and other open-source programming. For auto mode: void AutoMode() { if(ResetCheck == 0) { if(PIRValue == 1) { radio.stopListening(); unsigned long time = 1; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); MotorsStop(); while(1) { PIRSensor(); if ( radio.available() ) { unsigned long data = 0; radio.read( &data, sizeof(unsigned long) ); Serial.println(data);
  • 2. if(data == 9){direc = 6;} } if(direc == 6) { ResetCheck = 1; direc = 0; radio.stopListening(); unsigned long time = 0; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); break; } if(PIRValue == 0){break;} } } if(PIRValue == 0) { //Serial.println("YES"); radio.stopListening(); unsigned long time = 0; radio.write( &time, sizeof(unsigned long) ); radio.startListening();
  • 3. } } if(FrontSensor > 50 ){ MotorsForward(); } if(FrontSensor < 50) { MotorsStop(); delay(1000); if(((RightSensor > 30) && (LeftSensor > 30)) && (TurnCheck == 0)) { MotorsLeft(); delay(3500); MotorsStop(); delay(1000); //MotorsForward(); TurnCheck = 1; } if((RightSensor < 30) && (LeftSensor < 30)) { radio.stopListening(); unsigned long time = 1; radio.write( &time, sizeof(unsigned long) );
  • 4. radio.startListening(); MotorsStop(); StopCheck = 1; } if(StopCheck == 0) { if((RightSensor < 30) && (TurnCheck == 0)) { MotorsLeft(); delay(3500); MotorsStop(); delay(1000); //MotorsForward(); TurnCheck = 1; } if((LeftSensor < 30) && (TurnCheck == 0)) { MotorsRight(); delay(3500); MotorsStop(); delay(1000); //MotorsForward();
  • 5. TurnCheck = 1; } } StopCheck = 0; TurnCheck = 0; } } For Manual Mode:- void ManualMode() { if(direc == 1){MotorsForward();} if(direc == 2){MotorsBackward();} if(direc == 3){MotorsLeft();} if(direc == 4){MotorsRight();} if(direc == 5){MotorsStop();} if(PIRValue == 1) { radio.stopListening(); unsigned long time = 1; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); MotorsStop();
  • 6. while(1) { PIRSensor(); if(PIRValue == 0){break;} } } if(PIRValue == 0) { //Serial.println("YES"); radio.stopListening(); unsigned long time = 0; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } } Human Detection Using PIR And Sonar:- #include <SPI.h> #include "nRF24L01.h" #include "RF24.h"
  • 7. RF24 radio(9,10); const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL }; #define trigPin1 4 #define echoPin1 6 #define trigPin2 7 #define echoPin2 8 #define trigPin3 A4 #define echoPin3 A5 #define pirPin 2 #define motorR1 A0 #define motorR2 A1 #define motorL1 A3 #define motorL2 A2 #define PwmLeft 3 #define PwmRight 5 int calibrationTime = 30;
  • 8. long unsigned int lowIn; long unsigned int pause = 5000; boolean lockLow = true; boolean takeLowTime; int PIRValue = 0; long duration, distance, RightSensor,FrontSensor,LeftSensor; int TurnCheck = 0; int mode = 0; int direc = 0; int StopCheck = 0; int ResetCheck = 0; void setup() { Serial.begin(57600); radio.begin(); radio.setRetries(15,15); radio.openReadingPipe(1,pipes[1]); radio.startListening(); radio.printDetails(); radio.openWritingPipe(pipes[0]); radio.openReadingPipe(1,pipes[1]);
  • 9. pinMode(trigPin1, OUTPUT); pinMode(echoPin1, INPUT); pinMode(trigPin2, OUTPUT); pinMode(echoPin2, INPUT); pinMode(trigPin3, OUTPUT); pinMode(echoPin3, INPUT); pinMode(pirPin, INPUT); digitalWrite(pirPin, LOW); pinMode(motorR1, OUTPUT); pinMode(motorR2, OUTPUT); pinMode(motorL1, OUTPUT); pinMode(motorL2, OUTPUT); pinMode(PwmLeft, OUTPUT); pinMode(PwmRight, OUTPUT); analogWrite(PwmLeft, 0); analogWrite(PwmRight, 0); delay(1000); } void loop() {
  • 10. SonarSensor(trigPin1, echoPin1); LeftSensor = distance; SonarSensor(trigPin2, echoPin2); FrontSensor = distance; SonarSensor(trigPin3, echoPin3); RightSensor = distance; PIRSensor(); if(PIRValue == 0){ResetCheck = 0;} //radio.startListening(); if ( radio.available() ) { unsigned long data = 0; radio.read( &data, sizeof(unsigned long) ); Serial.println(data); if(data == 2){mode = 1;} if(data == 3){mode = 2;} if(data == 4){direc = 1;} if(data == 5){direc = 2;} if(data == 6){direc = 3;} if(data == 7){direc = 4;}
  • 11. if(data == 8){direc = 5;} // radio.stopListening(); } if(mode == 1) { AutoMode(); } if(mode == 2) { ManualMode(); } } PIR Sensor:- void PIRSensor() { if(digitalRead(pirPin) == HIGH) { if(lockLow) { PIRValue = 1; lockLow = false; Serial.println("Motion detected."); delay(50);
  • 12. } takeLowTime = true; } if(digitalRead(pirPin) == LOW) { if(takeLowTime){lowIn = millis();takeLowTime = false;} if(!lockLow && millis() - lowIn > pause) { PIRValue = 0; lockLow = true; Serial.println("Motion ended."); delay(50); } } } Sonar Sensor:- void SonarSensor(int trigPin,int echoPin) { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10);
  • 13. digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; delay(100); } Motors Routine:- void MotorsBackward() { digitalWrite(motorL1, HIGH); digitalWrite(motorL2, LOW); digitalWrite(motorR1, HIGH); digitalWrite(motorR2, LOW); } void MotorsForward() { digitalWrite(motorL1, LOW); digitalWrite(motorL2, HIGH); digitalWrite(motorR1, LOW); digitalWrite(motorR2, HIGH); }
  • 14. void MotorsStop() { digitalWrite(motorL1, HIGH); digitalWrite(motorL2, HIGH); digitalWrite(motorR1, HIGH); digitalWrite(motorR2, HIGH); } void MotorsRight() { digitalWrite(motorR1, HIGH); digitalWrite(motorR2, HIGH); digitalWrite(motorL1, LOW); digitalWrite(motorL2, HIGH); } void MotorsLeft() { digitalWrite(motorR1, LOW); digitalWrite(motorR2, HIGH); digitalWrite(motorL1, HIGH); digitalWrite(motorL2, HIGH); }
  • 15. Human Detection Using Sonar and PIR :- #include <SPI.h> #include "nRF24L01.h" #include "RF24.h" int buzzer = 8; RF24 radio(9,10); const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL }; typedef enum { role_ping_out = 1, role_pong_back } role_e; const char* role_friendly_name[] = { "invalid", "Ping out", "Pong back"}; role_e role = role_pong_back; void setup(void) { Serial.begin(9600); pinMode(buzzer,OUTPUT); digitalWrite(buzzer,HIGH); radio.begin(); radio.setRetries(15,15); radio.openReadingPipe(1,pipes[1]); radio.startListening(); radio.printDetails(); radio.openWritingPipe(pipes[1]);
  • 16. radio.openReadingPipe(1,pipes[0]); } void loop(void) { if ( radio.available() ) { unsigned long data = 0; radio.read( &data, sizeof(unsigned long) ); Serial.println(data); if(data == 1) {digitalWrite(buzzer,LOW); } if(data == 0) {digitalWrite(buzzer,HIGH); } } if(Serial.available()) { char sdata = Serial.read(); if(sdata == 'a')
  • 17. { radio.stopListening(); unsigned long time = 2; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'm') { radio.stopListening(); unsigned long time = 3; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'f') { radio.stopListening(); unsigned long time = 4; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'b')
  • 18. { radio.stopListening(); unsigned long time = 5; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'l') { radio.stopListening(); unsigned long time = 6; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'r') { radio.stopListening(); unsigned long time = 7; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 's')
  • 19. { radio.stopListening(); unsigned long time = 8; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } if(sdata == 'R') { radio.stopListening(); unsigned long time = 9; radio.write( &time, sizeof(unsigned long) ); radio.startListening(); } } }