0% found this document useful (0 votes)
50 views

Arduino and Rasp-Pi Interfacing

The document describes code for using an ultrasonic sensor and a PIR motion sensor with an Arduino. The ultrasonic sensor code uses trig and echo pins to send a pulse and measure the echo duration to calculate distance in inches and centimeters. The PIR sensor code uses a single pin to detect motion, and only logs motion starting and ending after a pause of 5 seconds to avoid false detections.

Uploaded by

Abhishek Kotkar
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)
50 views

Arduino and Rasp-Pi Interfacing

The document describes code for using an ultrasonic sensor and a PIR motion sensor with an Arduino. The ultrasonic sensor code uses trig and echo pins to send a pulse and measure the echo duration to calculate distance in inches and centimeters. The PIR sensor code uses a single pin to detect motion, and only logs motion starting and ending after a pause of 5 seconds to avoid false detections.

Uploaded by

Abhishek Kotkar
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/ 8

Using Ultrasonic sensor on Arduino(code)

int trigPin = 11; // Trigger

int echoPin = 12; // Echo

long duration, cm, inches;

void setup() {

//Serial Port begin

Serial.begin (9600);

//Define inputs and outputs

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

// put your setup code here, to run once:

void loop() {

// put your m

// The sensor is triggered by a HIGH pulse of 10 or more microseconds.

// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Read the signal from the sensor: a HIGH pulse whose

// duration is the time (in microseconds) from the sending

// of the ping to the reception of its echo off of an object.

pinMode(echoPin, INPUT);

duration = pulseIn(echoPin, HIGH);

// Convert the time into a distance

cm = (duration/2) / 29.1; // Divide by 29.1 or multiply by 0.0343

inches = (duration/2) / 74; // Divide by 74 or multiply by 0.0135

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

delay(250);

}
Using PIR sensor on Arduino(code)
#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;

void setup() {
Serial.begin(9600);
pinMode(pirPin, INPUT);
}

void loop() {
PIRSensor();
}

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);
}
}
}

You might also like