Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Voltaat Arduino Ultimate Kit
140 min
Share

قم ببناء نظام لكشف الحركة بواسطة الاردوينو

لكى تحمى منزلك من السرقة، عليك تركيب اجهزة استشعار للحركة لتعمل ليلاً بينما انت نائم أو غائب عن المنزل، احد الحلول الفعالة هى استخدام حساس الحركة مع الاردوينو والذى يستطيع الكشف عن الحركة لمدى يصل الى سبعة أمتار.

Project Video

Overview

في هذا المشروع، سنقوم ببناء نظام لكشف الحركة باستخدام حساس الحركة والأردوينو، بحيث يعطي إنذارًا عند اكتشاف وجود حركة أمام حساس الحركة ويقوم بطباعة عبارة ‘تم اكتشاف حركة’ على شاشة كريستالية متصلة بالأردوينو. يمكنك استخدام نفس المشروع لإضاءة مصابيح الغرف تلقائيًا عند دخول شخص إليها.

Getting the Items

Arduino Uno R3 (Voltaat Version)
Get Item
2×16 LCD with I2C Module
Get Item
PIR Motion Sensor
Get Item
Passive Buzzer – 5V
Get Item
Half-size Breadboard
Get Item
Jumper Wires - Male to Male (40 Pack)
Get Item
Jumper Wires – Male to Female (40 Pack)
Get Item

Steps

Wiring it Up

.قم بتوصيل الاسلاك بين الاردوينو وحساس الحركة والشاشة الكريستالية كما هو ظاهر فى الصورة التى فى الاسفل


التوصيلات من الاردوينو الى لوحة التجارب :

• منفذ ال 5 فولت ← المنافذ الموجبة بلوحة التجارب

• منفذ الجراوند ← المنافذ السالبة بلوحة التجارب

التوصيلات من السماعة :

• الطرف الموجب للسماعة ← منفذ رقم 12 فى لوحة الاردوينو

• الطرف السالب للسماعة ← المنافذ السالبة بلوحة التجارب

التوصيلات من حساس الحركة :

• المنفذ الموجب لحساس الحركة ← المنافذ الموجبة بلوحة التجارب

• المنفذ السالب لحساس الحركة ← المنافذ السالبة بلوحة التجارب

• منفذ الاشارة لحساس الحركة ← منفذ رقم 3 فى لوحة الاردوينو

التوصيلات من الشاشة الكريستالية :

• المنفذ الموجب للشاشة الكريستالية ← المنافذ الموجبة بلوحة التجارب

• المنفذ السالب للشاشة الكريستالية ← المنافذ السالبة بلوحة التجارب

• المنفذ SCL للشاشة الكريستالية ← منفذ رقم A5 فى لوحة الاردوينو

• المنفذ SDA للشاشة الكريستالية ← منفذ رقم A4 فى لوحة الاردوينو

Coding


/*
 Voltaat learn (https://www.voltaat.com)
 Link for full tutorial:
 
 LiquidCrystal I2C Library: https://learn.voltaat.com/wp-content/uploads/2023/05/LCD_library.zip

 Tutorial: Build a motion detection system with Arduino

 The function of this code is to print the phrase "motion detected" on the crystal screen if there is movement,
 while if there is no motion, the screen shows the phrase "no motion detected", meaning no motion was detected.

 Connections from the Arduino to the breadboard:
 
 • Arduino 5v pin → breadboard 5v line
 • Arduino GND pin → breadboard GND line


 Connections from the PIR sensor:
 
 • PIR sensor GND pin → breadboard GND line
 • PIR sensor out pin → Arduino pin 3
 • PIR sensor VCC pin → breadboard 5v line


 Connections from the passive buzzer:

 • buzzer VCC pin (+ pin) → Arduino pin 12
 • buzzer GND pin (- pin) → breadboard GND line

 
 Connection from the LCD:

 • VCC pin → breadboard 5v line
 • GND pin→ breadboard GND line
 • SDA pin→ Arduino analog pin A4
 • SCL pin → Arduino analog pin A5
*/


#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);

int buzzerPin = 12;             // choose the pin for the buzzer
int inputPin = 3;               // choose the input pin (for PIR sensor)
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status

void setup() {
 pinMode(buzzerPin, OUTPUT);      // declare buzzer pin as output
 pinMode(inputPin, INPUT);     // declare sensor as input
 digitalWrite(inputPin, LOW);     // declare sensor as input
 lcd.init();        
 lcd.backlight();
 lcd.clear();    // Clear what is displayed on the LCD
}

void loop(){
 
 val = digitalRead(inputPin);  // read input value
 
 if (val == HIGH)  // check if the input is HIGH
 {            
   digitalWrite(buzzerPin, HIGH);  // turn buzzer ON
 
   if (pirState == LOW)
 {

     lcd.setCursor(0,0);
     lcd.print("Motion detected!");
     lcd.setCursor(0,1);
     lcd.print("                          ");
     pirState = HIGH;
   }
 }
 else
 {
   digitalWrite(buzzerPin, LOW); // turn buzzer OFF
 
   if (pirState == HIGH)
 {
   
     lcd.setCursor(0,0);
     lcd.print("   No motion    ");
     lcd.setCursor(3,1);
     lcd.print("detected!");
     pirState = LOW;
   }
 }
}

Testing it Out

لاحظ ان عند وجود حركة امام حساس الحركة، تجد ان الشاشة تظهر جملة “motion detected” اى تم اكتشاف حركة بينما اذا لم يكن هناك حركة، فان الشاشة تظهر جملة “no motion detected” اى لم يتم اكتشاف اى حركة.

Resources

No items found.