نظام حماية الخزنة

Tài liệu tương tự
مشروع المروحة الذكية,مشروع محاكاة إشارة المرور,عمل بيانو بسيط باستخدام اردوينو,التحكم بالروبوت عبر الأوامر الصوتية,حساب المسافة بإستخدام حساس الموجات

التحكم بإضاءة RGB LED من خلال واجهة رسومية عبر Matlab

مستكشف سقوط الأمطار,نظام الدخول الآمن بإستخدام RFID,التحكم في محرك التيار المستمر بإستخدام L298,لعبة Whac-A-Mole,روبوت تتبع المسار,التحكم في محرك تيار

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 03/02/2014 Conseil n

Microsoft Word - مقال البيان تحولات الموقف الدولي.docx

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 25/09/2014 Conseil n

sina dream يخت سينا دريم,ألف ليلة وليلة,شهر عسل في شرم الشيخ,flynasاقوى عروض طيران ناس

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 03/06/2016 Conseil n

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 21/12/2015 Conseil n

اردوينو – الدرس الرابع عشر – محرك التيار المستمر DC motor,اردوينو – الدرس الثالث عشر – عرض درجة الحرارة والاضاءة على الشاشة (الجزء الثاني),اردوينو – ا

Our Landing Page

التحكم بالروبوت عبر صفحة الويب

untitled

راسبيري باي -الدرس الرابع- اعداد GPIO,راسبيري باي -الدرس الثالث- اعداد الشبكة,راسبيري باي -الدرس الثاني- اعداد نظام التشغيل للمره الأولى,راسبيري باي -

2019_04_16_MC_ALA_CARTE_MENU_ARABIC_VAT

تطبيق LibriVox,برنامج لينكدن-linkdin application,The Vampire Diaries || S08,تطبيق Audible,the 100 || S04

ﺟﺎﻣﻌﺔ ﻗﺎﺻدي ﻣرﺑﺎح - ورﻗﻠﺔ ﻛﻠﯾﺔ اﻟﻌﻠوم اﻻﻗﺗﺻﺎدﯾﺔ واﻟﻌﻠوم اﻟﺗﺟﺎرﯾﺔ وﻋﻠوم اﻟﺗﺳﯾﯾر ﻗﺳم ﻋﻠوم اﻟﺗﺳﯾﯾر ﻣﺬﻛﺮة ﻣﻘﺪﻣﺔ ﻻﺳﺘﻜﻤﺎل ﻣﺘﻄﻠﺒﺎت ﺷﻬﺎدة ﻣﺎﺳﺘﺮ أﻛﺎدﻳﻤﻲ ﻣﻴﺪان

11/02/2015 Conseil national des droits de l'homme 4

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 13/02/2015 Conseil n

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

شعبة الا علام والتواصل Département communication LE CNDH DANS LA PRESSE NATIONALE المجلس الوطني لحقوق الا نسان في الوطنية الصحافة 13/08/2015 Conseil n

Our Landing Page

Lập trình và ngôn ngữ lập trình

PowerPoint Presentation

Specification Eng-Viet-C10K.doc

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Animation, Modules 6 - Hoạt hình, tách file

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Microsoft Word - TaiLieuTNKTD1PhanPLC-05[1].2008.doc

Chương 1:

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Microsoft Word - jsp_syntax.docx

Chương trình dịch

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU VIỆN CNTT - ĐIỆN ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP MÔ HÌNH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM THEO CHIỀU CAO Trình

Java cơ bản

说明书 86x191mm

Microsoft Word - Document1

UART0

9-KiemThu

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

CÔNG TY TNHH THƯƠNG MẠI VÀ DỊCH VỤ NGUYỄN ĐỨC 126 Lê Thanh Nghị - Quận Hai Bà Trưng - Hà Nội Điện Thoai : Fax : Website : www.

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

27_7193.pdf

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

Bố Thí Để Gia Tăng Công Đức

Slide 1

BÀI 16: ĐỊNH DẠNG VĂN BẢN Khái niệm định dạng văn bản: Định dạng văn bản là trình bày các phần văn bản nhằm mục đích cho văn bản rõ ràng và đẹp, nhấn

Our Landing Page

Microsoft PowerPoint - OOP4-OperatorOverloading_new.ppt

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Microsoft Word - mot_so_ung_dung_android_co_ban.docx

Chiến lược kiểm thử Chiến lược kiểm thử Bởi: Khoa CNTT ĐHSP KT Hưng Yên Các công đoạn kiểm thử Quá trình kiểm thử có thể chia làm các giai đoạn : Kiểm

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

mid1-f18-written-sol-master

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

eView Cty Viễn Tín Vinh

Model 7600/7800 HƯỚNG DẪN SỬ DỤNG Màn hình theo dõi nhịp tim Trên hình là Model Bản quyền thuộc IVY Biomedical Systems Inc. Mã số linh Mã ki

Kế thừa

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

Microsoft Word - HDSD DVR Lilin _2_.doc

Microsoft Word - Document2

Tuổi thọ lâu hơn, tầm chiếu ngắn hơn. Một sự sử dụng hiệu quả của máy chiếu tia laser LS810 Công nghệ Phosphor Laser Tuổi thọ giờ Tỉ lệ phóng s

PowerPoint 演示文稿

Microsoft Word - danh-sach-lien-ket-doi-trong-c.docx

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

Microsoft Word - bo_tien_xu_ly_trong_c.docx

Ví dụ về duyệt đồ thị ưu tiên chiều sâu DFS và ứng dụng Đồ thị ví dụ: Nguyễn Hữu Tuân vimaru.edu.vn Hình 1: Đồ thị vô hướng có 8 đỉnh Với đồ thị trên,

ĐỀ THI GIỮA KỲ MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 1. Thời gian 120 phút (Sinh viên KHÔNG được sử dụng tài liệu hay máy tính ) Xây dựng lớp STRING và

Slide 1

Cách viết một ứng dụng trên microsoft windows Cách viết một ứng dụng trên microsoft windows Bởi: Khuyet Danh CÁCH VIẾT MỘT ỨNG DỤNG TRÊN MICROSOFT WIN

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Technical Manual NFREPEATER Microprocessor repeating keypad for NF2000 series fire panels Compliance with EN54-2 with the NF2000 series cont

Xóa và cập nhật dữ liệu dạng mảng trong PHP Xóa và cập nhật dữ liệu dạng mảng trong PHP Bởi: Phạm Hữu Khang Trong bài trước chúng ta đã làm quen với c

Kyõ Thuaät Truyeàn Soá Lieäu

Bộ khuếch đại công suất Karaoke DAS-400/DAS-200 Sách hướng dẫn sử dụng /EXIT TONE LO/MID/HI (EQ-SEL) ECHO DLY/RPT (ECHO-SEL) Rất cảm ơn quý khách đã c

Microsoft Word - su_dung_sqlite_voi_php.docx

ĐỀ cương chương trình đẠi hỌc

Microsoft Word - LedCenterM_HDSD.doc

UAB_COB V1.1 JULY 2017

Microsoft Word - server_response_trong_servlet.docx

Giáo trình: PLC logo KS: Nguyễn Đình Chung LỜI NÓI ĐẦU Nhằm nâng cao chất lượng giảng dạy và học tập, nghiên cứu khoa học của Giảng viên và Học sinh -

Microsoft Word - hieu_ung_trong_jquery.docx

sdfsdfsdfsfsdfd

Khoa Quản lý Đất đai và Bất động sản KS. Đinh Quang Vinh ( )

Microsoft Word - jsp_file_uploading.docx

Modbus RTU - Modbus TCP/IP Converter

Microsoft Word - HDSD_NVR_304&3016.docx

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

(Tái bản lần thứ hai)

ĐHQG TPHCM ĐH Bách Khoa Khoa Đ-ĐT BM Điện Tử Điểm Đáp án của Đề kiểm tra giửa HK 2 NH: Môn: Vi xử lý Mã MH: Ngày thi: 20/03/2013 Thời

Bản ghi:

ﻧﻈﺎم ﺣﻤﺎﻳﺔ اﻟﺨﺰﻧﺔ ﻛﻤﺎ ﻧﻌﻠﻢ ﺟﻤﻴﻌﺎ أن أﻧﻈﻤﺔ اﻷﻣﺎن و اﻟﺤﻤﺎﻳﺔ ﻣﻦ أﻫﻢ ﻣﺘﻄﻠﺒﺎت اﻟﻌﺼﺮ ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﺘﺘﻌﻠﻢ ﻛﻴﻔﻴﺔ ﻋﻤﻞ ﻧﻈﺎم اﻟﺤﻤﺎﻳﺔ و اﻹﻧﺬار ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام اﻻردوﻳﻨﻮ. اﻟﻘﻄﻊ اﻟﻤﻄﻠﻮﺑﺔ : اﻷدوات اﻟﺘﻲ ﺗﺤﺘﺎﺟﻬﺎ ﻟﻬﺬا اﻟﻤﺸﺮوع : Matrix Keypad 4 4

(Ultrasonic Sensor HC-SR04) ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ Piezo sounder ﺷﺎﺷﺔ LCD 16 2 Potentiometer 10K Ω

ﻣﻘﺎوﻣﺔ 220 اوم ﻟﻮح ﺗﺠﺎرب ﻛﺒﻴﺮ ) (Full size breadboard

Arduino Uno R3 اﺳﻼك ﺗﻮﺻﻴﻞ ذﻛﺮ / ذﻛﺮ ) (Jumper Wires Male Male ﻧﻈﺮة ﻋﺎﻣﺔ ﻟﺘﻔﻌﻴﻞ ﻧﻈﺎم اﻟﺤﻤﺎﻳﺔ ﻓﻲ اﻟﺒﺪاﻳﺔ ﻳﺘﻢ ﺗﻔﻌﻴﻞ أﻧﻈﻤﺔ اﻻﻧﺬار ﺑﻌﺪ 10 ﺛﻮاﻧﻲ ﻣﻦ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر.A وﻟﻠﻜﺸﻒ ﻋﻦ اﻷﺟﺴﺎم ﻳﺘﻢ اﺳﺘﺨﺪام ﺟﻬﺎز اﺳﺘﺸﻌﺎر اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ) (Ultrasonic Sensor ﻓﻲ ﺣﺎل اﻟﻜﺸﻒ ﻋﻦ وﺟﻮد ﺟﺴﻢ ﻗﺮﻳﺐ ﻳﺒﺪأ ﺗﻔﻌﻴﻞ ﺻﻔﺎرة اﻻﻧﺬار ). (Buzzer وﻹﻳﻘﺎف ﺻﻔﺎرة اﻻﻧﺬار أﻧﺖ ﺑﺤﺎﺟﺔ ﻻدﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﻤﻜﻮﻧﺔ ﻣﻦ 4 أرﻗﺎم ﺛﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻟﻨﺠﻤﺔ ﻟﻠﺘﺤﻘﻖ ﻣﺎ اذا ﻛﺎﻧﺖ اﻟﻜﻠﻤﺔ اﻟﻤﺪﺧﻠﺔ ﺻﺤﻴﺤﺔ او ﻻ. ﺗﻢ وﺿﻊ ﻛﻠﻤﺔ اﻟﺴﺮ اﻟﺤﺎﻟﻴﺔ 1234 وﻟﻜﻦ ﻟﺪﻳﻚ اﻳﻀﺎ اﻣﻜﺎﻧﻴﺔ ﺗﻐﻴﺮﻫﺎ.

ﻋﻦ ﻃﺮﻳﻖ اﻟﻀﻐﻂ ﻋﻠﻰ زر B ﺳﻴﺘﻢ اﻟﺪﺧﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺗﻐﻴﻴﺮ ﻛﻠﻤﺔ اﻟﻤﺮور أوﻻ اﻧﺖ ﺑﺤﺎﺟﺔ إﻟﻰ إدﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺤﺎﻟﻴﺔ ﻣﻦ أﺟﻞ اﻟﻤﻮاﺻﻠﺔ ﻓﻲ إﺟﺮاءات ﺗﻐﻴﺮ ﻛﻠﻤﺔ اﻟﻤﺮور وﻣﻦ ﺛﻢ ﻳﻄﻠﺐ ﻣﻨﻚ اﻟﻨﻈﺎم إدﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺠﺪﻳﺪة ﻣﻜﻮﻧﺔ ﻣﻦ ارﺑﻊ أرﻗﺎم. ﻓﻲ ﺣﺎل ﺗﻐﻴﻴﺮ ﻛﻠﻤﺔ اﻟﻤﺮور, اذا ﺗﻢ ﺗﻔﻌﻴﻞ اﻻﻧﺬار ﺳﻮف ﺗﻜﻮن ﻗﺎدر ﻋﻠﻰ إﻳﻘﺎﻓﺔ ﻋﻦ ﻃﺮﻳﻖ إدﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺠﺪﻳﺪة ﻓﻘﻂ. إذا ﺗﻢ إدﺧﺎل ﻛﻠﻤﺔ ﻣﺮور ﺧﺎﻃﺌﺔ ﺳﺘﻈﻬﺮ رﺳﺎﻟﺔ ﺗﺴﻤﻊ ﺑﺈﻋﺎدة اﻟﻤﺤﺎوﻟﺔ. ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ Keypad ﺗﻌﺘﺒﺮ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ ﻣﻦ اﻫﻢ وﺳﺎﺋﻞ اﻻدﺧﺎل ﺣﻴﺚ ﺗﻤﻜﻨﻚ ﻣﻦ إدﺧﺎل اﻻرﻗﺎم و اﻟﺮﻣﻮز و ﺑﻌﺾ

اﻷﺣﺮف ﻣﻦ ﺧﻼﻟﻬﺎ. و ﻳﺘﻢ إﺳﺘﺨﺪاﻣﻬﺎ ﺑﻜﺜﺮة ﻓﻲ ﻣﺸﺎرﻳﻊ اﻟﻤﺘﺤﻜﻤﺎت اﻟﺪﻗﻴﻘﺔ وأﻧﻈﻤﺔ اﻟﺤﻤﺎﻳﺔ و ﺳﺘﺠﺪﻫﺎ ﺣﻮﻟﻚ ﻓﻲ اﻟﻌﺪﻳﺪ ﻣﻦ اﻻﺟﻬﺰة اﻻﻟﻜﺘﺮوﻧﻴﺔ ﻣﺜﻞ اﻟﻬﺎﺗﻒ اﻟﻤﻨﺰﻟﻲ وﻏﻴﺮه. ﺗﺨﺘﻠﻒ اﺷﻜﺎل ﻟﻮﺣﺎت اﻟﻤﻔﺎﺗﻴﺢ ﺗﺒﻌﺎ ﻟﺤﺠﻤﻬﺎ و ﻋﺪد اﻻرﻗﺎم اﻟﻤﺘﺎﺣﺔ. ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻮف ﻳﺘﻢ إﺳﺘﺨﺪام اﻟﻠﻮﺣﺔ اﻟﻤﺮﻧﺔ اﻟﻘﺎﺑﻠﺔ ﻟﻠﻄﻲ ﺑﺴﻬﻮﻟﺔ واﻟﺘﻲ ﺗﺼﻨﻊ ﺑﺎﻟﻌﺎدة ﻣﻦ ﻧﻮع ﺧﺎص ﻣﻦ اﻟﺒﻼﺳﺘﻴﻚ اﻟﻤﺮن. ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ 4 4 ﺗﺘﻜﻮن ﻣﻦ Pins-8 أرﺑﻌﺔ ﻣﻨﻬﻢ ﻟﻠﺼﻔﻮف و أرﺑﻌﺔ ﻣﻨﻬﻢ ﻟﻸﻋﻤﺪة. ﻛﻞ زر ﺑﺎﻟﻮاﻗﻊ ﻋﺒﺎرة ﻋﻦ ﻣﻔﺘﺎح ) (Push button ﻋﻨﺪ اﻟﻀﻐﻂ ﻳﺘﻢ اﻟﺘﻮﺻﻴﻞ ﺑﻴﻦ اﻟﺼﻒ و اﻟﻌﺎﻣﻮد. ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل : اذا وﺿﻊ ﻋﻠﻰ اﻟﺼﻒ اﻷول ) Row 1 ﻗﻴﻤﺔ (LOW وﺟﻤﻴﻊ اﻷﻋﻤﺪة ﻗﻴﻤﺔ HIGH ﻋﻨﺪﻣﺎ ﻳﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻟﺜﺎﻟﺚ ﺳﻴﺘﻢ اﻟﺘﻮﺻﻴﻞ ﺑﻴﻦ اﻟﺼﻒ اﻷول واﻟﻌﺎﻣﻮد اﻟﺜﺎﻟﺚ ﻓﺴﻮف ﺗﺼﺒﺢ ﻗﻴﻤﺔ اﻟﻌﺎﻣﻮد اﻟﺜﺎﻟﺚ LOW وﺑﺎﻟﺘﺎﻟﻲ ﻳﻤﻜﻨﻨﺎ ﻣﻌﺮﻓﺔ اﻟﺰر اﻟﺬي ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻴﻪ.

ﺗﺼﻤﻴﻢ ﻟﻮح اﻟﺘﺠﺎرب ﻗﻢ ﺑﺘﻮﺻﻴﻞ اﻟﺪاﺋﺮة اﻟﻜﻬﺮﺑﺎﺋﻴﺔ ﻟﻠﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة : ﺗﻮﺻﻴﻞ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ : اﻷردوﻳﻨﻮ Pin A0 ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ اﻟﺼﻒ اﻷول Pin A1 اﻟﺼﻒ اﻟﺜﺎﻧﻲ Pin 6 اﻟﺼﻒ اﻟﺜﺎﻟﺚ Pin 7 اﻟﺼﻒ اﻟﺮاﺑﻊ Pin A5 اﻟﻌﺎﻣﻮد اﻷول Pin A4 اﻟﻌﺎﻣﻮد اﻟﺜﺎﻧﻲ Pin A3 اﻟﻌﺎﻣﻮد اﻟﺜﺎﻟﺚ Pin A2 اﻟﻌﺎﻣﻮد اﻟﺮاﺑﻊ ﻗﻢ ﺑﺈﺿﺎﻓﺔ ﺗﻮﺻﻴﻞ ﺑﺎﻗﻲ اﻟﻘﻄﻊ اﻹﻟﻜﺘﺮوﻧﻴﺔ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ :

: LCD ﺷﺎﺷﺔ اﻟـ ﺗﻮﺻﻴﻞ LCD Arduino RS pin Pin 12 Enable pin Pin 11 D4 pin Pin 5 D5 pin Pin 4 D6 pin Pin 3 D7 pin Pin 2 : (Ultrasonic Sensor) ﺗﻮﺻﻴﻞ ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ Arduino Ultrasonic Sensor 5V+ VCC Pin 10 Trig Pin 9 Echo GND Ground :Buzzer ﺗﻮﺻﻴﻞ Arduino Buzzer GND Shorter lead Pin 8 Longer lead

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻸردوﻳﻨﻮ ﺳﻴﺘﻢ ﺷﺮح اﻟﻜﻮد ﻋﻠﻰ أﻗﺴﺎم وﻓﻲ اﻟﻨﻬﺎﻳﺔ ﺳﺄﻗﻮم ﺑﻮﺿﻊ اﻟﻜﻮد ﻟﻔﻬﻢ اﻟﻜﻮد ﺑﺸﻜﻞ أﻓﻀﻞ. اﻟﻜﺎﻣﻞ ﻣﻦ ﻫﻨـﺎ او ﻣﻦ ﺧﻼل اﻟﺮاﺑﻂ اﻟﻤﺒﺎﺷﺮ KeyPad ﻗﻢ ﺑﺘﻨﺰﻳﻞ اﻟﻤﻜﺘﺒﺔ اﻟﺨﺎﺻﺔ ﺑﻠﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ. ﻫﻨـﺎ ﺛﻢ ﺗﺤﺪﻳﺪ و ﺗﻌﺮﻳﻒ. و ﻣﻜﺘﺒﺔ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ (و ﺟﻬﺎز اﺳﺘﺸﻌﺎر اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ Buzzer) LCD أوﻻ ﻧﺤﻦ ﺑﺤﺎﺟﺔ اﻟﻰ ﻣﻜﺘﺒﺔ اﻟـ اﻟﻤﺘﻐﻴﺮات ﻟﺪﺑﺎﺑﻴﺲ ﺟﻬﺎز اﻻﻧﺬار. و ﺗﻌﺮﻳﻒ ﺑﻌﺾ اﻟﻤﺘﻐﻴﺮات اﻟﻼزﻣﺔ ﻟﻬﺬا اﻟﻤﺸﺮوع (Ultrasonic) #include <LiquidCrystal.h> // includes the LiquidCrystal Library #include <Keypad.h> #define buzzer 8 #define trigpin 10 #define echopin 9 long duration; int distance, initialdistance, currentdistance, i; int screenoffmsg =0; String password="1234"; String temppassword; boolean activated = false; // State of the alarm boolean isactivated; boolean activatealarm = false; boolean alarmactivated = false; boolean enteredpassword; // State of the entered password to stop the alarm boolean passchangemode = false; boolean passchanged = false; const byte ROWS = 4; //four rows const byte COLS = 4; //four columns char keypressed; //define the cymbols on the buttons of the keypads char keymap[rows][cols] = { {'1','2','3','A', {'4','5','6','B', {'7','8','9','C', {'*','0','#','D' ; byte rowpins[rows] = {A0,A1,6,7; byte colpins[cols] = {A5,A4,A3,A2; //Column pinouts of the keypad Keypad mykeypad = Keypad( makekeymap(keymap), rowpins, colpins, ROWS, COLS); LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) اﻟﺨﺎص Pin وﺗﺤﺪﻳﺪ ﻣﺎ اذا ﻛﺎن اﻟـ LCD ﻧﺤﻦ ﺑﺤﺎﺟﺔ ﻟﺘﻬﻴﺌﺔ اﻟـ (setup) ﻓﻲ ﻗﺴﻢ اﻷﻋﺪاد. ﺑﺎﻟﻤﺴﺘﺸﻌﺮ و ﺟﻬﺎز اﻻﻧﺬار ﻣﺪﺧﻞ او ﻣﺨﺮج void setup() { lcd.begin(16,2);

pinmode(buzzer, OUTPUT); // Set buzzer as an output pinmode(trigpin, OUTPUT); // Sets the trigpin as an Output pinmode(echopin, INPUT); // Sets the echopin as an Input ﻓﺈذا ﻟﻢ. ﻧﺤﻦ أوﻻ ﺑﺤﺎﺟﺔ ﻟﻠﺘﺤﻘﻖ ﻣﺎ اذا ﺗﻢ ﺗﻔﻌﻴﻞ أﻧﻈﻤﺔ اﻻﻧﺬار او ﻻ Loop ﻓﻲ اﻟﻘﺴﻢ اﻟﺘﻲ ﺗﻘﺪم ﺧﻴﺎرﻳﻦ LCD ﺳﻴﺘﻢ ﻇﻬﻮر اﻟﻘﺎﺋﻤﺔ اﻟﺮﺋﻴﺴﻴﺔ ﻋﻠﻰ ﺷﺎﺷﺔ اﻟـ ﻳﺘﻢ اﻟﺘﻔﻌﻴﻞ. ﻟﺘﻐﻴﺮ ﻛﻠﻤﺔ اﻟﻤﺮور B ﻟﺘﻔﻌﻴﻞ اﻻﻧﺬار وﺧﻴﺎر A ﺧﻴﺎر ﻟﻘﺮاءة اﻟﺰر اﻟﺬي ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻴﻪ ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ mykeypad.getkey() ﺛﻢ اﺳﺘﺨﺪام و ﺗﺼﺒﺢ ﻗﻴﻤﺔ milliseconds 200 ﻳﺘﻢ ﺗﻔﻌﻴﻞ ﺟﻬﺎز اﻻﻧﺬار ﻟﻤﺪة A اذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر.activeAlarm =true اﻟﻤﺘﻐﻴﺮ if (!alarmactivated) { if (screenoffmsg == 0 ){ lcd.print("a - Activate"); lcd.print("b - Change Pass"); screenoffmsg = 1; keypressed = mykeypad.getkey(); if (keypressed =='A'){ //If A is pressed, activate the alarm tone(buzzer, 1000, 200); activatealarm = true; Alarm will be ﻳﺘﻢ ﺗﻔﻌﻴﻞ اﻻﻧﺬار و ﻳﺘﻢ ﻃﺒﺎﻋﺔ اﻟﺮﺳﺎﻟﺔ A ﻓﻲ ﺣﺎﻟﺔ ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر ﻳﺘﻢ اﻧﺸﺎء ﻋﺪاد while loop و ﻋﻦ ﻃﺮﻳﻖ اﺳﺘﺨﺪام LCD ﻋﻠﻰ ﺷﺎﺷﺔ اﻟـ activated in. ﺛﻮاﻧﻲ ﻗﺒﻞ ﺗﻔﻌﻴﻞ اﻻﻧﺬار 9 ﺗﻨﺎزﻟﻲ ﻟﻤﺪة ﻋﻠﻰ اﻟﺸﺎﺷﺔ وﻳﺘﻢ ﺣﺴﺎب اﻟﻤﺴﺎﻓﺔ اﻷوﻟﻴﺔ ﺑﻴﻦ Alarm Activated ﺛﻢ ﻳﺘﻢ ﻇﻬﻮر اﻟﺮﺳﺎﻟﺔ. ﻧﻈﺎم اﻻﻣﻦ )ﺑﺈﺳﺘﺨﺪام ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ( و اي ﺟﺴﻢ اﻣﺎﻣﻪ if (activatealarm) { lcd.print("alarm will be"); lcd.print("activated in"); int countdown = 9; // 9 seconds count down before activating the alarm while (countdown!= 0) { lcd.setcursor(13,1); lcd.print(countdown); countdown--; tone(buzzer, 700, 100); delay(1000); lcd.print("alarm Activated!");

initialdistance = getdistance(); activatealarm = false; alarmactivated = true; ﻓﻲ اﻟﺨﻄﻮة اﻟﺘﺎﻟﻴﺔ ﻳﻘﻮم ﺟﻬﺎز اﺳﺘﺸﻌﺎر اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﺑﺎﻟﺘﺤﻘﻖ ﺑﺎﺳﺘﻤﺮار ﻣﺎ إذا ﻓﻬﺬا ﻳﺪل ﻋﻠﻰ وﺟﻮد ﻛﺎﺋﻦ اﻣﺎ ﻛﺎﻧﺖ اﻟﻤﺴﺎﻓﺔ اﻟﻤﻘﺎﺳﺔ ﺣﺎﻟﻴﺎ أﺻﻐﺮ ﻣﻦ اﻟﻤﺴﺎﻓﺔ اﻷوﻟﻴﺔ و Buzzer ﻟﺘﻔﻌﻴﻞ اﻟـ tone() ﻳﺘﻢ اﺳﺘﺨﺪام اﻟﺪاﻟﺔ. ﺟﻬﺎز اﻻﺳﺘﺸﻌﺎر ﻓﻴﺘﻢ ﺗﻔﻌﻴﻞ اﻻﻧﺬار. enterpassword() ﺛﻢ اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ if (alarmactivated == true){ currentdistance = getdistance() + 10; if ( currentdistance < initialdistance) { tone(buzzer, 1000); // Send 1KHz sound signal enterpassword(); ﻫﺬة اﻟﺪاﻟﺔ ﺗﻘﻮم ﺑﻄﺒﺎﻋﺔ رﺳﺎﻟﺔ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺗﻮﺿﺢ ﺑﻬﺎ أن ﺟﻬﺎز اﻻﻧﺬار enterpassword() while وﺑﺈﺳﺘﺨﺪام اﻟـ. وأﻧﻨﺎ ﺑﺤﺎﺟﺔ إﻟﻰ إدﺧﺎل ﻛﻠﻤﺔ اﻟﺴﺮ ﻣﻦ أﺟﻞ إﻳﻘﺎف اﻻﻧﺬار, ﻣﻔﻌﻞ وﻛﻞ زر ﻳﺘﻢ ﺿﻐﻄﺔ ﺳﻴﺘﻢ اﻟﺘﺤﻘﻖ ﺑﺎﺳﺘﻤﺮار ﻣﺎ اذا ﺗﻢ ﺿﻐﻂ زر ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ Loop ﻳﺘﻢ ﻣﺴﺢ # ارﻗﺎم او رﻣﺰ 4 اذا ﺗﻢ ادﺧﺎل اﻛﺜﺮ ﻣﻦ.tempPassword ﻳﺘﻢ اﺿﺎﻓﺘﻪ إﻟﻰ ﻣﺘﻐﻴﺮ. اﻻدﺧﺎل اﻟﻘﺪﻳﻢ و ﻳﻤﻜﻨﻚ اﻋﺎدة ادﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور void enterpassword() { int k=5; temppassword = ""; activated = true; lcd.print(" *** ALARM *** "); lcd.print("pass>"); while(activated) { keypressed = mykeypad.getkey(); if (keypressed!= NO_KEY){ if (keypressed == '0' keypressed == '1' keypressed == '2' keypressed == '3' keypressed == '4' keypressed == '5' keypressed == '6' keypressed == '7' keypressed == '8' keypressed == '9' ) { temppassword += keypressed; lcd.setcursor(k,1); lcd.print("*"); k++; if (k > 9 keypressed == '#') { temppassword = ""; k=5;

lcd.print(" *** ALARM *** "); lcd.print("pass>"); if ( keypressed == '*') { if ( temppassword == password ) { activated = false; alarmactivated = false; notone(buzzer); screenoffmsg = 0; else if (temppassword!= password) { lcd.print("wrong! Try Again"); delay(2000); lcd.print(" *** ALARM *** "); lcd.print("pass>"); و ﻣﻦ ﻧﺎﺣﻴﺔ أﺧﺮى إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻟﻨﺠﻤﺔ ﺳﻮف ﻳﺘﻢ اﻟﺘﺤﻘﻖ ﻣﺎ اذا ﻛﺎﻧﺖ اﻟﻜﻠﻤﺔ اذا ﻛﺎﻧﺖ اﻟﻜﻠﻤﺔ ﺻﺤﻴﺤﺔ ﺳﻴﺘﻢ إﻳﻘﺎف اﻻﻧﺰار و ﺳﻴﺘﻢ اﻟﺮﺟﻮع اﻟﻰ. اﻟﻤﺪﺧﻠﺔ ﺻﺤﻴﺤﺔ او ﻻ واذا ﺗﻢ ادﺧﺎل ﻛﻠﻤﺔ ﻣﺮور ﺧﺎﻃﺌﺔ ﻳﺘﻢ ﻇﻬﻮر اﻟﺮﺳﺎﻟﺔ.LCD اﻟﺸﺎﺷﺔ اﻟﺮﺋﻴﺴﻴﺔ ﻋﻠﻰ ﺷﺎﺷﺔ اﻟـ. ( و ﺳﻴﻜﻮن ﻟﺪﻳﻨﺎ ﻣﺤﺎوﻟﺔ ﻹدﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺼﺤﻴﺤﺔ ﻣﺮة أﺧﺮى Wrong! Try Again!) أوﻻ ﺳﻨﺤﺘﺎج إﻟﻰ ادﺧﺎل ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺤﺎﻟﻴﺔ. ﻟﺘﻐﻴﺮ ﻛﻠﻤﺔ اﻟﻤﺮور ﻧﺴﺘﺨﺪم ﻃﺮﻳﻘﺔ ﻣﻤﺎﺛﻠﺔ. ﻟﺘﻜﻮن ﻗﺎدر ﻋﻠﻰ ﺗﻌﻴﻴﻦ ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺠﺪﻳﺪة : اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﻫﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻜﺎﻣﻞ ﻗﻢ ﺑﺮﻓﻌﻪ ﻋﻠﻰ اﻻردوﻳﻨﻮ #include // includes the LiquidCrystal Library #include #define buzzer 8 #define trigpin 10 #define echopin 9 long duration; int distance, initialdistance, currentdistance, i; int screenoffmsg =0; String password="1234"; String temppassword; boolean activated = false; // State of the alarm boolean isactivated; boolean activatealarm = false; boolean alarmactivated = false;

boolean enteredpassword; // State of the entered password to stop the alarm boolean passchangemode = false; boolean passchanged = false; const byte ROWS = 4; //four rows const byte COLS = 4; //four columns char keypressed; //define the cymbols on the buttons of the keypads char keymap[rows][cols] = { {'1','2','3','A', {'4','5','6','B', {'7','8','9','C', {'*','0','#','D' ; byte rowpins[rows] = {A0,A1,6,7; byte colpins[cols] = {A5,A4,A3,A2; //Column pinouts of the keypad Keypad mykeypad = Keypad( makekeymap(keymap), rowpins, colpins, ROWS, COLS); LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16,2); pinmode(buzzer, OUTPUT); // Set buzzer as an output pinmode(trigpin, OUTPUT); // Sets the trigpin as an Output pinmode(echopin, INPUT); // Sets the echopin as an Input void loop() { if (activatealarm) { lcd.print("alarm will be"); lcd.print("activated in"); int countdown = 9; // 9 seconds count down before activating the alarm while (countdown!= 0) { lcd.setcursor(13,1); lcd.print(countdown); countdown--; tone(buzzer, 700, 100); delay(1000); lcd.print("alarm Activated!"); initialdistance = getdistance(); activatealarm = false; alarmactivated = true; if (alarmactivated == true){ currentdistance = getdistance() + 10; if ( currentdistance < initialdistance) { tone(buzzer, 1000); // Send 1KHz sound signal enterpassword(); if (!alarmactivated) { if (screenoffmsg == 0 ){ lcd.print("a -

Activate"); lcd.print("b - Change Pass"); screenoffmsg = 1; keypressed = mykeypad.getkey(); if (keypressed =='A'){ //If A is pressed, activate the alarm tone(buzzer, 1000, 200); activatealarm = true; else if (keypressed =='B') { int i=1; tone(buzzer, 2000, 100); temppassword = ""; lcd.print("current Password"); lcd.print(">"); passchangemode = true; passchanged = true; while(passchanged) { keypressed = mykeypad.getkey(); if (keypressed!= NO_KEY){ if (keypressed == '0' keypressed == '1' keypressed == '2' keypressed == '3' keypressed == '4' keypressed == '5' keypressed == '6' keypressed == '7' keypressed == '8' keypressed == '9' ) { temppassword += keypressed; lcd.setcursor(i,1); lcd.print("*"); i++; tone(buzzer, 2000, 100); if (i > 5 keypressed == '#') { temppassword = ""; i=1; lcd.print("current Password"); lcd.print(">"); if ( keypressed == '*') { i=1; tone(buzzer, 2000, 100); if (password == temppassword) { temppassword=""; lcd.print("set New Password"); lcd.print(">"); while(passchangemode) { keypressed = mykeypad.getkey(); if (keypressed!= NO_KEY){ if (keypressed == '0' keypressed == '1' keypressed == '2' keypressed == '3' keypressed == '4' keypressed == '5' keypressed == '6' keypressed == '7' keypressed == '8' keypressed == '9' ) { temppassword += keypressed;

lcd.setcursor(i,1); lcd.print("*"); i++; tone(buzzer, 2000, 100); if (i > 5 keypressed == '#') { temppassword = ""; i=1; tone(buzzer, 2000, 100); lcd.print("set New Password"); lcd.print(">"); if ( keypressed == '*') { i=1; tone(buzzer, 2000, 100); password = temppassword; passchangemode = false; passchanged = false; screenoffmsg = 0; void enterpassword() { int k=5; temppassword = ""; activated = true; lcd.print(" *** ALARM *** "); lcd.print("pass>"); while(activated) { keypressed = mykeypad.getkey(); if (keypressed!= NO_KEY){ if (keypressed == '0' keypressed == '1' keypressed == '2' keypressed == '3' keypressed == '4' keypressed == '5' keypressed == '6' keypressed == '7' keypressed == '8' keypressed == '9' ) { temppassword += keypressed; lcd.setcursor(k,1); lcd.print("*");

k++; if (k > 9 keypressed == '#') { temppassword = ""; k=5; lcd.print(" *** ALARM *** "); lcd.print("pass>"); if ( keypressed == '*') { if ( temppassword == password ) { activated = false; alarmactivated = false; notone(buzzer); screenoffmsg = 0; else if (temppassword!= password) { lcd.print("wrong! Try Again"); delay(2000); lcd.print(" *** ALARM *** "); lcd.print("pass>"); // Custom function for the Ultrasonic sensor long getdistance(){ //int i=10; //while( i<=10 ) { // Clears the trigpin digitalwrite(trigpin, LOW); delaymicroseconds(2); // Sets the trigpin on HIGH state for 10 micro seconds digitalwrite(trigpin, HIGH); delaymicroseconds(10); digitalwrite(trigpin, LOW); // Reads the echopin, returns the sound wave travel time in microseconds duration = pulsein(echopin, HIGH); // Calculating the distance distance = duration*0.034/2; //sumdistance += distance; // //int averagedistance= sumdistance/10; return distance;