مشروع المروحة الذكية,مشروع محاكاة إشارة المرور,عمل بيانو بسيط باستخدام اردوينو,التحكم بالروبوت عبر الأوامر الصوتية,حساب المسافة بإستخدام حساس الموجات

Tài liệu tương tự
مستكشف سقوط الأمطار,نظام الدخول الآمن بإستخدام RFID,التحكم في محرك التيار المستمر بإستخدام L298,لعبة Whac-A-Mole,روبوت تتبع المسار,التحكم في محرك تيار

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

2019_04_16_MC_ALA_CARTE_MENU_ARABIC_VAT

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

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

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

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

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

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

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

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

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

untitled

Our Landing Page

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

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

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

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

Our Landing Page

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

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

Our Landing Page

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

إﺳﺘﺮاﺗﻴﺠﻴﺔ اﻟﻤﺼﺮف ﻓﻲ ﺗﻔﻌﻴﻞ ﺗﺪاول اﻟﺼﻜﻮك اﻻﺳﻼﻣﻴﺔ دراﺳﺔ ﻣﻴﺪاﻧﻴﺔ)ﺑﻨﻚ ﻣﻌﺎﻣﻼت اﻧﺪوﻧﻴﺴﻴﺎ ﺑﺠﺎﻛﺮﺗﺎ( رﺳﺎﻟﺔ ﻣﺎﺟﺴﺘﻴﺮ ﻳﻘﺪم إﻟﻰ ﺟﺎﻣﻌﺔ ﻣﻮﻻﻧﺎ ﻣﺎﻟﻚ إﺑﺮاﻫﻴﻢ اﻹﺳﻼﻣﻴﺔ اﻟ

BW Series Cảm biến vùng CẢM BIẾN VÙNG Đặc điểm Khoảng cách phát hiện dài lên đến 7m. Có 22 loại sản phẩm (Trục quang: 20/40mm, chiều cao phát hiện: 12

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

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

BẢNG BÁO GIÁ MÁY CHIẾU BENQ DPC.,LTD chân thành cảm ơn Quý Công ty đã quan tâm đến những hàng hóa và dịch vụ Công ty của chúng tôi. Chúng tôi hân hạnh

UAB_COB V1.1 JULY 2017

ދ ވ ހ ބ ހ ގ އ ކ ޑ މ މ ލ ދ ވ ހ ރ އ ޖ. އ ސ ބ ސ ދ ވ ހ ބ ސ ހ ޔ ގ ތ ގ އ ބ ނ ނ ކ ރ މ ކ އ ޅ ގ ނޑ މ ނ ކ ނ މ މ ހ އ ގ މ އ ޗ ށ ވ ސ ލ ޒ މ ވ ގ ނ ވ ކ މ ކ ވ. އ ހ ނ އ

ETHERNET TRÊN BOARD LM3S8962 (phần này tham khảo từ thiết kế module Ethernet trên board LM3S8962 của TI) MODULE MẠCH ĐỘNG LỰC ĐIỀU KHIỂN TẢI AC

التجلّی و مراتبه من منظور الشیخ نجم الدین الرازی و محیی الدین ابن عربی

Microsoft Word - Document2

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

CÔNG TY CỔ PHẦN BÓNG ĐÈN PHÍCH NƯỚC RẠNG ĐÔNG ĐƠN VỊ TIÊN PHONG TRONG ĐẦU TƯ NGHIÊN CỨU PHÁT TRIỂN VÀ SẢN XUẤT NGUỒN SÁNG, TBCS, HỆ THỐNG & GIẢI PHÁP

BẢNG GIÁ 2019 T H Á N G

n t Copyright by Kia Motors. All rights reserved.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ Ngành đào tạo: Công nghệ Kỹ thuật Điện tử, truyền thông Trình độ đào tạo: Đại học Ch

MT4Y/MT4W Series ĐỒNG HỒ ĐO ĐA NĂNG HIỂN THỊ SỐ DIN W72 H36MM, W96 H48MM Đặc điểm Là phiên bản đa dụng của loại đồng hồ đo hiển thị số Có nhiều tùy ch

PM Nhà thông minh WIFI

Chương 2 Cung lao động: Lý thuyết và thực tiễn Nhóm

ﺑﺤﺚ ﺟﺎﻣﻌﻲ ﻓﻌﺎﻟﻴﺔ اﻟﺘﻌﻠﻴﻢ اﻟﺘﻌﺎوﻧﻲ ﺑﺄﺳﻠﻮب اﻟﺘﺮﻗﻴﻢ اﻟﺠﻤﺎﻋﻲ ) (Numbered Head Together ﻟﺘﺮﻗﻴﺔ ﻣﻬﺎرة اﻟﻘﺮاءة )ﻓﻲ ﻣﺪرﺳﺔ واﺣﺪ ﻫﺎﺷﻢ اﻟﻤﺘﻮﺳﻄﺔ اﻹﺳﻼﻣﻴﺔ ﺑﺎﻧﺠﻴﻞ( إ

ĐỀ NGHỊ 1: Thời gian: 90 phút

Modbus RTU - Modbus TCP/IP Converter

Máy chiếu phim gia đình Lumen 1080p PX725HD Khoảng màu Rec.709 Bánh xe màu RGBRGB tốc độ 6X Chế độ hiệu chuẩn ISF vcolor Tuner và phần mềm máy c

Specification Eng-Viet-C10K.doc

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

Microsoft Word - LedCenterM_HDSD.doc

HỆ THỐNG THÔNG BÁO KHẨN CẤP DÒNG VM-3000 CPD No CPD CPD No CPD-083. Integrated Voice Evacuation System VM-3000 series Cấu hình Tất c

Microsoft Word - AVT1303_VN Dịch

Microsoft Word - Bao cao de tai

GIẢI PHÁP NHÀ THÔNG MINH LUMI LIFE HƯỚNG DẪN SỬ DỤNG VOICE CONTROL

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.

ﻌﻠﻴﻢ اﻟﻠﻐﺔ اﻟﻌﺮ ﻴﺔ ﺿﻮء ﻧﻈﺮ ﺔ اﻟﻔﻄﺮة ﻟﻨﻌﻮم ﺸﻮﻣﺴ ﻰ, أدي رﺣﻤﻦ اﳌﺎﺟﺴﺘﺎر ﻌﻠﻴﻢ اﻟﻠﻐﺔ اﻟﻌﺮ ﻴﺔ ﺿﻮء ﻧﻈﺮ ﺔ اﻟﻔﻄﺮة ﻟﻨﻌﻮم ﺸﻮﻣﺴ ﻰ أدي رﺣﻤﻦ اﳌﺎﺟﺴﺘ

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

ATN Series Bộ đặt thời gian đa năng BỘ ĐẶT THỜI GIAN ĐA NĂNG, CÓ ĐIỆN ÁP TỰ DO, DIN W48 H48MM Đặc điểm Hoạt động với dải nguồn cấp rộng: VAC 50

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

Microsoft Word - WI docx

Bộ Giáo dục và Đào tạo - Trường Đại học Duy Tân THIẾT KẾ THIẾT BỊ THÍ NGHIỆM VI ĐIỀU KHIỂN CẤU HÌNH PHẦN CỨNG TỰ ĐỘNG. NGUYÊ N VĂN THỌ * LÊ PHƯỢNG QUY

Microsoft Word - bai4

Bài 1:

Microsoft Word - Document1

Cấu trúc và hoạt động của máy tính cá nhân Biên tập bởi: Vien CNTT DHQG Hanoi

144 Mai Xuân Thưởng – TT Bình Dương – Phù Mỹ – Bình Định

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

SL - LED STREET LIGHT MODEL COB CHIP BẢNG GIÁ LED I.O.T GENERATION Chiết khấu với giá tốt từ 25% - 50% tùy theo nhóm đối tượng khách hàng Vui lòng liê

SOLID STATE RELAY.xls

1 LƯU ĐÌNH NAM

ETH-MOD-T BỘ CHUYỂN ĐỔI GIAO THỨC HAI CHIỀU MODBUS - ETHERNET 1 Thông tin chung: Tất cả dữ liệu của đồng hồ và relay trong đường dây được kết nối với

HƯỚNG DẪN SỬ DỤNG HI HI MÁY ĐO ph, EC, TDS VÀ NHIỆT ĐỘ CHỐNG THẤM NƯỚC CẢI TIẾN Kính gửi Quý Khách Hàng, Cảm ơn Quý khách đã chọn sản phẩ

LDP-AV_40-70_Manual_Rev1904_jhs

TM Series ĐIỀU KHIỂN PID LOẠI MÔ-ĐUN ĐA KÊNH (4 KÊNH / 2 KÊNH) Truy cập website ( của chúng tôi để tải xuống tài liệu Hướng dẫn sử

OK KARAOKE A/V AMPLIFIER DAS-300/DAS-150 Ô fifl fl ÿ Œ Ó Ì Àà һ à ÀÕ œûõ ÿ ÛÕ flõã Œ Ô Ó Ì Œ fl flã Œ Àà OK

Máy chiếu WXGA khoảng cách ngắn cho ngành giáo dục với độ sáng 3,500 ANSI Lumens PS501W 0.49 short throw ratio SuperColor technology 15,000 hours lamp

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

Profile print

prem_sgm3_vn_01

tese_doutorado.pdf

Bản ghi:

ﻣﺸﺮوع اﻟﻤﺮوﺣﺔ اﻟﺬﻛﻴﺔ ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﻌﻤﻞ ﻣﺮوﺣﺔ ذﻛﻴﺔ ﺗﻌﻤﻞ ﻋﻨﺪ ﻋﻨﺪ اﻻﻗﺘﺮاب ﻣﻨﻬﺎ ﻟﻤﺴﺎﻓﺔ ﻣﺤﺪدة وﺗﺰداد ﺳﺮﻋﺘﻬﺎ ﻛﻠﻤﺎ اﻗﺘﺮﺑﺖ ﻣﻨﻬﺎ أﻛﺜﺮ اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ

Inventor Kit اﻟﻘﻄﻊ اﻟﻤﻄﻠﻮﺑﺔ

ﻃﺮﻳﻘﺔ اﻟﺘﻮﺻﻴﻞ ﻗﻢ ﺑﺘﻮﺻﻴﻞ ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﺑﺎﻟﻤﻨﻔﺬ رﻗﻢ 3 وﻗﻢ ﺑﺘﻮﺻﻴﻞ اﻟﻤﺮوﺣﺔ ) (Me 130 dc motor ﺑﺄﺣﺪ اﻟﻤﻨﻔﺬﻳﻦ اﻟﻤﺨﺼﺼﺔ ﻟﻠﻤﺤﺮﻛﺎت ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة

ﻻﺣﻆ أﻧﻚ إذا ﻗﻤﺖ ﺑﺘﻮﺻﻴﻞ ﻓﻲ اﻟﻤﻨﻔﺬ M1 ﻓﺴﺘﻌﺘﻤﺪ M1 ﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ. ﻋﻠﻰ اﻟﻠﻮﺣﺔ اﻟﺮﺋﻴﺴﻴﺔ ﺑﺮﻣﺠﺔ اﻟﻤﺸﺮوع ﻧﻘﻮم ﺑﺪاﻳﺔ ﺑﺈﻧﺸﺎء ﻣﺘﻐﻴﺮ Distance وﺗﻌﻴﻴﻨﻪ ﻟﺘﺨﺰﻳﻦ ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ ﺟﻤﻠﺔ ﺷﺮﻃﻴﺔ if.. else ﻟﺘﺤﺪﻳﺪ اﻟﻤﺴﺎﻓﺔ اﻟﺘﻲ ﺗﺒﺪأ ﻋﻨﺪﻫﺎ اﻟﻤﺮوﺣﺔ ﺑﺎﻟﺪوران وﻫﻨﺎ اﺧﺘﺮﻧﺎ أن ﺗﻜﻮن أﻗﻞ ﻣﻦ 70 ﺳﻢ ﻧﻨﺸﺊ ﻣﺘﻐﻴﺮ ا ﺑﺎﺳﻢ speed وﻧﻘﻮم ﺑﺘﻌﻴﻴﻨﻪ ﻟﻴﺘﻐﻴﺮ ﻗﻴﻤﺘﻪ وﻓﻖ اﻟﻤﺴﺎﻓﺔ أﺿﻔﻨﺎ ﻋﺒﺎرة رﻳﺎﺿﻴﺔ وﻫﻲ أن ﺗﻜﻮن اﻟﺴﺮﻋﺔ ﺣﺎﺻﻞ ﻃﺮح اﻟﻤﺴﺎﻓﺔ ﻣﻦ 150 وﺑﺬﻟﻚ ﺳﺘﺘﻐﻴﺮ اﻟﺴﺮﻋﺔ وﻓﻖ اﻟﻤﺴﺎﻓﺔ ﻛﻠﻤﺎ ﻛﺎﻧﺖ اﻟﻤﺴﺎﻓﺔ ﺻﻐﻴﺮة ﺗﺰداد اﻟﺴﺮﻋﺔ ﺑﻌﺪ else ﻧﻀﻊ ﺳﺮﻋﺔ اﻟﻤﺤﺮك M1 ﺗﺴﺎوي ﺻﻔﺮ ﻟﻴﺘﻮﻗﻒ إذا ﻛﺎﻧﺖ اﻟﻤﺴﺎﻓﺔ أﻛﺒﺮ ﻣﻦ 70

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻠﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﺣﻮل اﻟﻜﻮد ﻳﻤﻜﻨﻚ اﻟﺮﺟﻮع إﻟﻰ درس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ. ﻣﺸﺮوع ﻣﺤﺎﻛﺎة إﺷﺎرة اﻟﻤﺮور ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﺪﻣﺞ ﻋﺪة ﻋﻨﺎﺻﺮ إﻟﻜﺘﺮوﻧﻴﺔ ﻟﻤﺤﺎﻛﺎة إﺷﺎرة اﻟﻤﺮور ﻣﺜﻞ إﺿﺎءة RGB وﻣﺤﺮك ﺳﻴﺮﻓﻮ ووﺣﺪة ﻋﺮض segment-7

اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ ﺣﻘﻴﺒﺔ اﻟﻤﺨﺘﺮع ) (Inventor Kit

ﺗﺮﻛﻴﺐ اﻟﺪاﺋﺮة ﺳﻨﺴﺘﺨﺪم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع اﻟﻘﻄﻊ اﻻﻟﻜﺘﺮوﻧﻴﺔ اﻟﺘﺎﻟﻴﺔ : ﻧﻼﺣﻆ أن ﻣﻨﺎﻓﺬ ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ ﺗﺨﺘﻠﻒ ﻋﻦ ﻣﻨﺎﻓﺬ ﻟﻮﺣﺔ ) Orion (RJ25 ﻟﺬﻟﻚ ﻧﺴﺘﺨﺪم ﻣﺤﻮل RJ25 اﻟﺬي ﻳﻘﻮم ﺑﺘﺤﻮﻳﻞ اﻟﻤﻨﺎﻓﺬ اﻟﻘﻴﺎﺳﻴﺔ Rj25 إﻟﻰ 6 دﺑﺎﺑﻴﺲ ﻟﺘﺘﻮاﻓﻖ ﻣﻊ اﻟﻌﻨﺎﺻﺮ اﻻﻟﻜﺘﺮوﻧﻴﺔ اﻷﺧﺮى ﻣﺜﻞ ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع. ﻃﺮﻳﻘﺔ اﻟﺘﻮﺻﻴﻞ

اﻟﻤﻨﻔﺬ اﻟﻘﻄﻌﺔ اﻻﻟﻜﺘﺮوﻧﻴﺔ ﻣﻨﻔﺬ 4 وﺣﺪة ﻋﺮض segment-7 ﻣﻨﻔﺬ 8 RGB LED ﻣﻨﻔﺬ 6 ﻣﺤﻮل RJ25 وﻳﺘﻢ ﺗﻮﺻﻴﻞ ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ ﺑﻤﺤﻮل RJ25 ﺑﺮﻣﺠﺔ اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﻤﺸﺮوع ﺑﺤﻴﺚ ﺗﻜﻮن اﻹﺿﺎءة ﺣﻤﺮاء ﻟﻤﺪة 10 ﺛﻮان وﻳﻜﻮن ذراع ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ ﻋﻠﻰ زاوﻳﺔ 180 درﺟﺔ ﻟﻴﻤﻨﻊ اﻟﺴﻴﺎرات ﻣﻦ اﻟﻌﺒﻮر ﻳﺒﺪأ اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ ﻳﻈﻬﺮ ﻋﻠﻰ وﺣﺪة ﻋﺮض segment-7 ﻣﻦ 10 إﻟﻰ 0 ﺛﻢ ﺗﺘﺤﻮل اﻹﺿﺎءة إﻟﻰ اﻷﺧﻀﺮ وﻳﺘﺤﺮك ذراع ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ إﻟﻰ 90 درﺟﺔ ﻟﻴﺴﻤﺢ ﻟﻠﺴﻴﺎرات ﺑﺎﻟﻌﺒﻮر ﻓﻲ اﻟﺒﺪاﻳﺔ ﺳﻨﻨﺸﻲء ﻣﺘﻐﻴﺮ second ﻟﻴﻤﺜﻞ ﻋﺪد اﻟﺜﻮاﻧﻲ ﻓﻲ اﻟﻌﺪاد

ﻗﻢ ﺑﺘﻌﻴﻴﻦ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ second ﻋﻠﻰ ﻋﺪد اﻟﺜﻮاﻧﻲ اﻟﺘﻲ ﺳﻴﺒﺪأ ﺑﻬﺎ اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ 10 ﻫﻨﺎ اﺧﺘﺮﻧﺎ أن ﻳﺒﺪأ اﻟﻌﺪاد ﻣﻦ ﻟﻨﺠﻌﻞ اﻟﻌﺪد ﻳﺘﻨﺎﻗﺺ ﺳﻨﺴﺘﺨﺪم اﻷﻣﺮ اﻟﺘﺎﻟﻲ وﻟﻴﻜﻮن ﻣﻘﺪار اﻟﺘﻨﺎﻗﺺ ﻛﻞ ﺛﺎﻧﻴﺔ ﺳﻨﺴﺘﺨﺪم اﻷﻣﺮ wait ﺧﻼل اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ ﻧﺮﻳﺪ أن ﻳﻈﻬﺮ اﻟﻌﺪاد ﻋﻠﻰ وﺣﺪة segment-7 وﻛﺬﻟﻚ ﺗﻜﻮن اﻹﺿﺎءة ﺣﻤﺮاء وأن ﻳﻜﻮن اﻟﺤﺎﺟﺰ ﻣﻐﻠﻘﺎ ﻟﻤﻨﻊ ﻣﺮور اﻟﺴﻴﺎرات أي ﻳﻜﻮن ذراع ﻣﺤﺮك اﻟﺴﻴﺮﻓﻮ ﻋﻠﻰ زاوﻳﺔ 180 درﺟﺔ

ﺳﻨﻀﻊ ﻫﺬه اﻷواﻣﺮ داﺧﻞ ﺣﻠﻘﺔ Repeat until ﺳﺘﺘﻜﺮر اﻷواﻣﺮ داﺧﻞ اﻟﺤﻠﻘﺔ إﻟﻰ أن ﻳﺼﻞ اﻟﻌﺪاد إﻟﻰ اﻟﺼﻔﺮ أي ﻳﺘﺤﻘﻖ اﻟﺸﺮط اﻟﺬي ﺗﻢ وﺿﻌﻪ ﻓﻲ اﻷﻣﺮ اﻟﺒﺮﻣﺠﻲ Repeat until ﻋﻨﺪ وﺻﻮل اﻟﻌﺪاد إﻟﻰ اﻟﺼﻔﺮ ﺳﻨﻌﻴﺪ ﺗﻌﻴﻴﻨﻪ ﻟﻴﺒﺪأ اﻟﻌﺪ ﻣﻦ 10 أي ﻋﻨﺪ ﻓﺘﺢ اﻹﺷﺎرة واﻟﺤﺎﺟﺰ ﺳﻨﺴﺘﺨﺪم اﻷﻣﺮ if then وﻧﻀﻊ اﻟﺸﺮط إذا ﻛﺎﻧﺖ اﻟﺜﻮاﻧﻲ = 0 وﻋﻨﺪ ﺗﺤﻘﻖ ﻫﺬا اﻟﺸﺮط ﻧﺮﻳﺪ أن ﺗﻜﻮن اﻹﺿﺎءة ﺧﻀﺮاء ) (green=60 وﻳﺘﻢ ﻓﺘﺢ اﻟﻤﺰﻻق أﻳﺘﺤﺮك ذراع اﻟﺴﻴﺮﻓﻮ إﻟﻰ 90 درﺟﺔ ﻛﺬﻟﻚ ﻧﻀﻴﻒ اﻷﻣﺮ اﻟﺬي ﻳﻈﻬﺮ اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ ﻓﻲ وﺣﺪة ﻋﺮض segment-7 ﺑﻌﺪ ﻣﺮور ﻫﺬه اﻟﻌﺸﺮ ﺛﻮان ﺳﻨﺴﺘﺨﺪم أﻣﺮ ﺗﻌﻴﻴﻦ اﻟﻌﺪاد ﻣﺮة أﺧﺮى ﻟﻴﺴﺘﻤﺮ ﻓﻲ ﺗﻜﺮار ﻓﺘﺢ إﺷﺎرة اﻟﻤﺮور وﻏﻠﻘﻬﺎ

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺧﺮى ﻳﻤﻜﻨﻚ اﻟﺮﺟﻮع إﻟﻰ درس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ

ﻋﻤــﻞ ﺑﻴــﺎﻧﻮ ﺑﺴــﻴﻂ ﺑﺎﺳــﺘﺨﺪام اردوﻳﻨﻮ اﻟﻬﺪف ﻣﻦ اﻟﻤﺸﺮوع ﻫﻮ ﻋﻤﻞ ﺑﻴﺎﻧﻮ ﺑﺴﻴﻂ ﺑﺎﺳﺘﺨﺪام اﻻردوﻳﻨﻮ ﻳﻘﻮم ﺑﺎﺻﺪار اﻻﺻﻮات و اﻟﻨﻐﻤﺎت ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻤﻜﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ

Arduino Uno K Ohm Resistor 10 Breadboard

Wires Piezo Sounder

Push Buttons اﻟﺴﻤﺎﻋﻪ Piezo ﻫﻲ ﻋﺒﺎرة ﻋﻦ ﻛﺮﻳﺴﺘﺎل ﺗﺴﻤﻰ ﺑﻴﺰوﻛﺮﻳﺴﺘﺎل ﻋﻨﺪ ﺗﻌﺮﻳﻀﻬﺎ ﻟﺠﻬﺪ ﻛﻬﺮﺑﺎﺋﻲ ﺗﻘﻮم ﺑﺎﺻﺪار ﺻﻮت ﺳﻨﺴﺘﺨﺪﻣﻬﺎ ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﻻﺻﺪر ﻧﻐﻤﺎت ﻣﺨﺘﻠﻔﺔ ﻛﺎﻟﺒﻴﺎﻧﻮ

ﺷﺮح اﻟﺪارة ﻗﻢ ﺑﺘﻮﺻﻴﻞ اﻟﺪاﺋﺮة ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة : ﺳﻨﻘﻮم ﺑﻌﻤﻞ ﺑﻴﺎﻧﻮ ﺑﺴﻴﻂ ﺑﺈﺳﺘﺨﺪام 8 ﻣﻔﺎﺗﻴﺢ ﻣﻦ اﻟﻨﻮع PushButton ﺳﻴﺘﻢ ﺗﻮﻟﻴﺪ اﻟﻨﻐﻤﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺑﺎﺳﺘﺨﺪام اﻷردوﻳﻨﻮ وﺳﻤﺎﻋﺔ اﻟﺒﻴﺰو. ﻛﻞ ﻣﻔﺘﺎح ﻳﺼﺪر ﺻﻮت ﺑﻨﻐﻤﺔ ذو ﺗﺮدد ﻣﺨﺘﻠﻒ.

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻰ ] [/crayon-5d14293ac644c966897928 ﺷﺮح اﻟﻜﻮد : ﻓﻲ اﻟﺒﺪاﻳﺔ ﻧﻘﻮم ﺑﺘﻌﺮﻳﻒ ﻣﺘﻐﻴﺮات ﻹﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ﺗﺴﺠﻴﻞ ﺣﺎﻟﺔ اﻟـ. Push Buttons وﻧﻘﻮم ﺑﺎﻻﻋﻼن ﻋﻦ ﻣﺼﻔﻮﻓﺔ []tones واﻟﺘﻲ ﺳﻴﺘﻢ ﺗﺴﺠﻴﻞ ﻗﻴﻢ اﻟﺘﺮددات ﻋﻠﻴﻬﺎ ﻹﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ﺗﻮﻟﻴﺪ اﻟﻨﻐﻤﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻋﻦ ﻃﺮﻳﻖ اﻟـ. Buzzer ﻓﻲ اﻟﺪاﻟﺔ ()setup ﻗﻤﻨﺎ ﺑﺘﻔﻌﻴﻞ اﻟﻤﻨﺎﻓﺬ اﻟﻤﻮﺻﻠﻪ ﻣﻊ اﻟﻤﻔﺎﺗﻴﺢ ﻛﻤﺪﺧﻞ واﻟﻤﻨﻔﺬ اﻟﻤﻮﺻﻞ ﻣﻊ اﻟـ Buzzer ﻛﻤﺨﺮج. ] [/crayon-5d14293ac6457648285087 ﺛﻢ ﻧﻘﻮم ﺑﻘﺮاءة ﺣﺎﻟﺔ اﻟـ Push Buttons وﺗﺨﺰﻳﻨﻬﺎ وﺗﺨﺰﻳﻨﻬﺎ ﻓﻲ اﻟﻤﺘﻐﻴﺮات اﻟﺘﻲ ﺗﻢ اﻻﻋﻼن ﻋﻨﻬﺎ ﺳﺎﺑﻘﺎ : ] [/crayon-5d14293ac6459283492664

ﻧﻘﻮم ﺑﻌﻤﻠﻴﺔ اﻟﺘﺤﻘﻖ ﻣﻦ اﻟﻤﻔﺘﺎح اﻟﺬي ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻴﻪ. ﺑﻌﺪ ذﻟﻚ ﻳﺘﻢ ﺗﺴﺠﻴﻞ ﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ ﻓﻲ ﻣﺘﻐﻴﺮ Cur_tone ﺣﺴﺐ اﻟﻤﻔﺘﺎح اﻟﻤﻀﻐﻮط ﻋﻠﻴﻪ. ﺛﻢ ﻧﻘﻮم ﺑﺘﺸﻐﻴﻞ اﻟـ Buzzer ﺑﺘﺄﺧﻴﺮ زﻣﻨﻲ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ : Cur_tone ] [/crayon-5d14293ac645b898532064 اﺳﺘﺨﺪم ﻣﻔﺎﺗﻴﺢ أﺧﺮى ﻹﺻﺪار ﻧﻐﻤﺎت ﻣﺨﺘﻠﻔﺔ. اﻟﺘﺤﻜـﻢ ﺑـﺎﻟﺮوﺑﻮت ﻋـﺒﺮ اﻷواﻣـﺮ اﻟﺼﻮﺗﻴﺔ ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻠﻮﺣﺔ اﻟﺮﺋﻴﺴﻴﺔ Auriga ﻟﺮوﺑﻮت Ranger ﻟﺒﺮﻣﺠﺔ روﺑﻮت ﻳﺴﺘﺠﻴﺐ ﻟﻸواﻣﺮ اﻟﺼﻮﺗﻴﺔ

اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ mbot Ranger Kit Sound Sensor ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت ﻳﻤﻜﻦ أن ﻧﻘﻮل ﺑﺄن ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت ﻫﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺎﻳﻜﺮوﻓﻮن ﺻﻐﻴﺮ ﻳﻘﻮم ﺑﺘﺤﻮﻳﻞ اﻟﺼﻮت إﻟﻰ إﺷﺎرة ﻛﻬﺮﺑﺎﺋﻴﺔ وﻳﻌﻄﻲ ﻗﻴﻤﺔ ﺗﺘﺮاوح ﺑﻴﻦ.1023-0 ﺗﺨﺘﻠﻒ اﻟﻘﻴﻤﺔ ﺑﺎﺧﺘﻼف اﻟﻤﺤﻴﻂ اﻟﺬي ﻧﻘﻮم ﺑﺘﺸﻐﻴﻞ اﻟﺮوﺑﻮت ﻓﻴﻪ ﻻ ﻳﺴﺘﻄﻴﻊ ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت اﻟﺘﻤﻴﻴﺰ ﺑﻴﻦ اﻟﻜﻠﻤﺎت ﻟﻜﻦ ﻳﺴﺘﻄﻴﻊ اﻟﺘﻤﻴﻴﺰ ﺑﻴﻦ اﻷﺻﻮات اﻟﻤﺮﺗﻔﻌﺔ واﻟﻤﻨﺨﻔﻀﺔ اﻟﺘﻲ ﺗﻘﻊ ﻓﻲ اﻟﻤﺪى اﻟﺨﺎص ﺑﻪ. ﻛﻠﻤﺎ ﻛﺎﻧﺖ ﺷﺪة اﻟﺼﻮت أﻋﻠﻰ ﻛﺎﻧﺖ اﻹﺷﺎرة اﻟﻜﻬﺮﺑﺎﺋﻴﺔ أﻛﺜﺮ

ﺗﺤﺪﻳﺪ ﻣﺪى ﻗﺮاءة اﻟﻤﺴﺘﺸﻌﺮ ﻗﺒﻞ أن ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻧﺤﺘﺎج أوﻻ إﻟﻰ ﻋﻤﻞ اﺧﺘﺒﺎر ﺻﻐﻴﺮ ﻟﻤﻌﺮﻓﺔ اﻟﻤﺪى اﻟﺬي ﻳﻘﺮأ ﻓﻴﻪ اﻟﻤﺴﺘﺸﻌﺮ واﻟﻘﺮاءات اﻟﺘﻲ ﻳﻌﻄﻴﻬﺎ ﻋﻨﺪ اﻟﺘﺼﻔﻴﻖ أو اﻟﻜﻼم أو أي أﺻﻮات أﺧﺮى. ﻧﻘﻮم أوﻻ ﺑﺘﻮﺻﻴﻞ اﻟﺮوﺑﻮت إﻟﻰ اﻟﺤﺎﺳﻮب ﻋﻦ ﻃﺮﻳﻖ اﻟﻜﻴﺒﻞ. ﻗﻢ ﺑﺎﻧﺸﺎء ﻣﺘﻐﻴﺮ Sound اﺧﺘﻴﺎر اﻷﻣﺮ say وﺗﻌﻴﻴﻨﻪ ﻋﻠﻰ ﻣﺴﺘﺸﻌﺮ اﻟﻀﻮء ووﺿﻊ اﻷﻣﺮ داﺧﻞ ﺣﻠﻘﺔ forever ﺳﺘﻈﻬﺮ ﻗﺮاءة اﻟﻤﺴﺘﺸﻌﺮ ﻋﻠﻰ اﻟﺸﺎﺷﺔ

ﻧﻼﺣﻆ أن اﻟﻘﻴﻤﺔ ﺗﺘﻐﻴﺮ ﺑﺴﺮﻋﺔ ﻛﺒﻴﺮة ﺟﺪا وﺑﻬﺬا ﻳﺼﻌﺐ ﺗﺤﺪﻳﺪ أﻋﻠﻰ ﻗﻴﻤﺔ وأﻗﻞ ﻗﻴﻤﺔ ﻟﺬا ﺳﻨﻀﻴﻒ ﻣﺘﻐﻴﺮﻳﻦ آﺧﺮﻳﻦ Max ﻟﻴﻤﺜﻞ أﻋﻠﻰ ﻗﻴﻤﺔ و Min ﻟﻴﻤﺜﻞ أﻗﻞ ﻗﻴﻤﺔ ﺳﻨﻘﻮم ﺑﺘﻌﻴﻴﻦ اﻟﻤﺘﻐﻴﺮﻳﻦ ﻋﻠﻰ ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت وﻧﻘﻮم ﻛﺬﻟﻚ ﺑﺘﻌﻴﻴﻦ اﻟﻤﺘﻐﻴﺮ Sound ﻟﻘﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت ﻓﻲ اﻟﺒﺪاﻳﺔ ﺳﺘﻜﻮن Max = Min

داﺧﻞ ﺣﻠﻘﺔ forever ﺳﺘﺘﻐﻴﺮ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ Sound وﻟﺘﺤﺪﻳﺪ أﻋﻠﻰ وأﻗﻞ ﻗﻴﻤﺔ ﻧﺴﺘﺨﺪم if..then ﺑﺤﻴﺚ إذا ﻛﺎﻧﺖ ﻗﻴﻤﺔ sound أﻛﺒﺮ ﻣﻦ ﻗﻴﻤﺔ max ﻳﺘﻢ إﻋﺎدة ﺗﻌﻴﻴﻦ ﻗﻴﻤﺔ max إﻟﻰ ﻫﺬه اﻟﻘﻴﻤﺔ ﻛﺄﻋﻠﻰ ﻗﻴﻤﺔ وﻳﺘﻢ إﻋﺎدة ﺗﻌﻴﻴﻦ ﻗﻴﻤﺔ min إﻟﻰ أﻗﻞ ﻗﻴﻤﺔ ﺗﻤﺖ ﻗﺮاءﺗﻬﺎ ﻓﻲ اﻟﻤﺘﻐﻴﺮ Sound اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮت ﺑﺤﻴﺚ ﻳﺘﺮاﺟﻊ ﻟﻠﻮراء ﻋﻨﺪ اﻟﺘﺼﻔﻴﻖ أو إﻋﻄﺎءه أي أﻣﺮ ﺻﻮﺗﻲ ﺳﻨﺄﺧﺬ ﺑﺎﻻﻋﺘﺒﺎر اﻟﻘﻴﻢ اﻟﺘﻲ ﺣﺼﻠﻨﺎ ﻋﻠﻴﻬﺎ ﻣﻦ اﻟﻜﻮد اﻟﺴﺎﺑﻖ ﻻﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ ﻛﺘﺎﺑﺔ ﻛﻮد اﻟﺮوﺑﻮت اﻟﺠﺪﻳﺪ ﻧﻘﻮم ﺑﻔﺘﺢ ﺻﻔﺤﺔ ﺟﺪﻳﺪة ﻓﻲ ﺑﺮﻧﺎﻣﺞ mblock واﻧﺸﺎء ﻣﺘﻐﻴﺮ Sound وﺗﻌﻴﻴﻨﻪ ﻟﻘﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت ﻓﻲ اﻟﻠﻮﺣﺔ اﻟﺮﺋﻴﺴﻴﺔ

ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ ﺷﺮط if then ﺑﺤﻴﺚ إذا ﻛﺎﻧﺖ ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﺼﻮت أﻋﻠﻰ ﻣﻦ ﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ ﻳﺘﺤﺮك اﻟﺮوﺑﻮت ﻟﻠﺨﻠﻒ ﻟﺘﺤﺪﻳﺪ ﻫﺬه اﻟﻘﻴﻤﺔ ﻧﻌﻮد إﻟﻰ اﻟﻘﻴﻢ اﻟﺘﻲ ﺣﺼﻠﻨﺎ ﻋﻠﻴﻬﺎ ﻣﻦ اﻟﻜﻮد اﻟﺴﺎﺑﻖ ﻧﻼﺣﻆ ﻓﻲ اﻟﺼﻮرة أن ﻗﻴﻤﺔ max = 184 وﻫﺬه اﻟﻘﻴﻤﺔ ﺗﻢ ﺗﺴﺠﻴﻠﻬﺎ ﻗﺒﻞ إﺻﺪار أي ﺻﻮت ﻣﻤﺎ ﻳﻌﻨﻲ أﻧﻪ ﻋﻨﺪ اﻟﺘﺼﻔﻴﻖ ﻣﺜﻼ ﺳﺘﻜﻮن ﻗﻴﻤﺔ اﻟﻤﺴﺘﺸﻌﺮ أﻛﺒﺮ ﻣﻦ ﻫﺬه اﻟﻘﻴﻤﺔ

إذا ﻛﺎﻧﺖ ﻗﻴﻤﺔ اﻟﻘﺮاءة أﻗﻞ اﻟﺘﺤﺮك ﻟﻸﻣﺎم ﻳﺘﻢ ﺗﻨﻔﻴﺬ اﻷواﻣﺮ ﺑﻌﺪ else وﻫﻮ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ : ﻗﻢ ﺑﺘﺠﺮﺑﺔ إﺿﺎﻓﺔ أواﻣﺮ ﺑﺮﻣﺠﻴﺔ ﺗﻘﻮم ﺑﺈﺿﺎءة LED ﻋﻨﺪ اﻟﺘﺼﻔﻴﻖ ﻟﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺧﺮى ﻗﻢ ﺑﺎﻟﺮﺟﻮع ﻟﺪرس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ

ﺣﺴـﺎب اﻟﻤﺴﺎﻓـﺔ ﺑﺈﺳـﺘﺨﺪام ﺣﺴـﺎس اﻟﻤﻮﺟﺎت ﻓﻮق ﺻﻮﺗﻴﺔ ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﺘﻌﻠﻢ ﻓﻜﺮة ﻋﻤﻞ ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ و ﻛﻴﻔﻴﺔ اﺳﺘﻌﻤﺎﻟﻪ ﻟﺤﺴﺎب اﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ اﻻردوﻳﻨﻮ و ﻛﺎﺋﻦ ﻣﺎ. ﻗﺪ ﻳﺴﺘﺨﺪم ﻓﻲ اﻧﻈﺎﻣﺔ اﻹﻧﺬار او ﻓﻲ روﺑﻮت ﺗﺨﻄﻲ اﻟﻌﻘﺒﺎت ﺛﻢ ﺳﻨﻘﻮم ﺑﻌﺮض ﻫﺬة اﻟﻘﺮاءات ﻋﻠﻰ ﺷﺎﺷﺔ LCD اﻟﻤﻜﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ Arduino Uno

HC-SR04 Ultrasonic Sensor LCD 16 2 اوم 220 ﻣﻘﺎوﻣﺔ

Breadboard Wires ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﻳﻘﻮم ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﺑﻘﻴﺎس اﻟﻤﺴﺎﻓﺔ. ﺣﻴﺚ ﻳﻘﻮم ﺑﺎﻃﻼق ﻣﻮﺟﺎت ﺻﻮﺗﻴﺔ ﻋﺎﻟﻴﺔ اﻟﺘﺮدد ﻻ ﻳﻤﻜﻦ ﻟﻸذن اﻟﺒﺸﺮﻳﺔ ﺳﻤﺎﻋﻬﺎ وﻋﻨﺪ اﺻﻄﺪام ﻫﺬه اﻟﻤﻮﺟﺎت ﺑﺠﺴﻢ ﻣﺎ ﺗﺮﺗﺪ ﻋﻠﻰ ﺷﻜﻞ ﺻﺪى Echo ﻋﻨﺪ ارﺗﺪاد

ﻫﺬه اﻟﻤﻮﺟﺎت ﻳﺘﻢ ﺣﺴﺎب اﻟﺰﻣﻦ اﻟﺬي اﺳﺘﻐﺮﻗﺘﻪ ﻟﻠﻌﻮدة إﻟﻰ اﻟﻤﺴﺘﺸﻌﺮ وﺣﺴﺎب اﻟﻤﺴﺎﻓﺔ. ﻗﻢ ﺑﺘﻮﺻﻴﻞ ﺣﺴﺎس اﻟﻤﻮﺟﺎت اﻟﻔﻮق ﺻﻮﺗﻴﺔ ﻣﻊ اﻷردوﻳﻨﻮ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة :

اﻟﺸﺎﺷﺔ LCD ﺗﻌﻤﻞ اﻟﺸﺎﺷﺔ ﻓﻲ اﺣﺪ اﻟﺤﺎﻻت اﻟﺘﺎﻟﻴﺔ : -1 أن ﺗﺴﺘﻘﺒﻞ اﻣﺮ ﻣﻦ اﻻرودوﻳﻨﻮ و ﺗﻘﻮم ﺑﺘﻨﻔﻴﺬه ﻣﺜﻼ : أﻣﺮ ﻣﺴﺢ اﻟﺸﺎﺷﺔ و أﻣﺮ اﻟﺘﻬﻴﺌﺔ ] [/crayon-5d14293ac6cde510425979-2 أن ﺗﺴﺘﻘﺒﻞ ﻣﻌﻠﻮﻣﺎت ﻣﻦ اﻻردوﻳﻨﻮ و ﺗﻘﻮم ﺑﻌﺮﺿﻬﺎ ﻣﺜﻼ : ﻛﺘﺎﺑﺔ ﺟﻤﻠﺔ ﻣﻌﻴﻨﺔ ] [/crayon-5d14293ac6ce4121605666 ﻗﻢ ﺑﺘﻮﺻﻴﻞ ﺷﺎﺷﺔ LCD ﻣﻊ اﻷردوﻳﻨﻮ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة :

ﺷﺮح اﻟﺪارة ﻳﻘﻮم اﻟﺤﺴﺎس ﺑﺎرﺳﺎل ﻣﻮﺟﺎت ﻓﻮق ﺻﻮﺗﻴﺔ واﻋﺎدة اﺳﺘﻘﺒﺎﻟﻬﺎ ﻋﻨﺪﻣﺎ ﺗﺼﻄﺪم ﺑﻜﺎﺋﻦ ﻣﺎ. ﺛﻢ ﻳﻘﻮم اﻻردوﻳﻨﻮ ﺑﻘﻴﺎس اﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ اﻟﺤﺴﺎس وﺑﻴﻦ اﻟﻜﺎﺋﻦ ﺑﻨﺎءا ﻋﻠﻰ اﻟﻮﻗﺖ ﺑﻴﻦ اﻻرﺳﺎل واﻻﺳﺘﻘﺒﺎل ﻟﻠﻤﻮﺟﺎت ﻣﻦ ﺧﻼل ﻋﻤﻞ ﺑﻌﺾ اﻟﺤﺴﺎﺑﺎت ﻟﺘﺤﻮﻳﻞ اﻟﻘﻴﻤﺔ اﻟﻤﺤﺴﻮﺑﺔ ﻣﻦ وﻗﺖ اﻟﻰ ﻣﺴﺎﻓﺔ ﺑﺎﻹﻋﺘﻤﺎد ﻋﻠﻰ ﻣﻌﺮﻓﺔ ﻗﻴﻤﺔ ﺳﺮﻋﺔ اﻟﺼﻮت ﻓﻲ اﻟﻬﻮاء. ﺑﻌﺪ ذﻟﻚ ﻳﻘﻮم اﻻردوﻳﻨﻮ ﺑﻌﺮض اﻟﻤﺴﺎﻓﺔ ﻋﻠﻰ اﻟﺸﺎﺷﺔ. LCD

ﺗﻮﺻﻴﻞ ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ Arduino Ultrasonic Sensor GND GND Pin 2 Echo

Trigger Pin 3 Vcc 5v اﻟﻜﻮد ] [/crayon-5d14293ac6ce7680690946 ﺷﺮح اﻟﻜﻮد : ﻓﻲ اﻟﺒﺪاﻳﺔ ﻗﻢ ﺑﺈدراج اﻟﻤﻜﺘﺒﺎت اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ, ﻫﻨﺎ ﺳﻴﺘﻢ اﺳﺘﺨﺪام ﻣﻜﺘﺒﺔ اﻟﺸﺎﺷﺔ LCD و ﻣﻜﺘﺒﺔ ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ.Ultrasonic ﻧﻘﻮم ﺑﺘﻌﺮﻳﻒ أﺳﻤﺎء ﻣﻨﺎﻓﺬ اﻻردوﻳﻨﻮ اﻟﺘﻲ ﺗﻢ ﺗﻮﺻﻴﻠﻬﺎ ﻣﻊ اﻟﺤﺴﺎس : ] [/crayon-5d14293ac6cea987096670 ﻧﻨﺸﻰء اﻟﻤﺘﻐﻴﺮات اﻟﻼزﻣﺔ ﻟﻠﻤﻜﺘﺒﺎت اﻟﻤﺴﺘﺨﺪﻣﺔ : أوﻻ ﻧﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﻤﺘﻐﻴﺮ اﻟﺨﺎص ﺑﻤﻜﺘﺒﺔ اﻟﺸﺎﺷﺔ LCD وإﻋﺪاده إﻋﺘﻤﺎدا ﻋﻠﻰ ﻛﻴﻔﻴﺔ ﺗﻮﺻﻴﻠﻪ ﻣﻊ اﻷردوﻳﻨﻮ : ] [/crayon-5d14293ac6cec953664480 ﺛﻢ ﻧﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﻤﺘﻐﻴﺮ اﻟﺨﺎص ﺑﻤﻜﺘﺒﺔ Ultrasonic وﺗﺤﺪﻳﺪ ﻣﻨﺎﻓﺬ اﻷردوﻳﻨﻮ اﻟﻤﺘﺼﻞ ﻣﻌﻬﺎ : ] [/crayon-5d14293ac6cee832627351 ﻧﻘﻮم ﺑﺘﻬﻴﺌﺔ اﻟﺸﺎﺷﺔ LCD ﻟﻠﻌﻤﻞ ﻋﻦ ﻃﺮﻳﻖ اﻻﻣﺮ : ] [/crayon-5d14293ac6cf0712439610 ﻳﻘﻮم اﻟﻜﻮد ﺑﺘﺸﻐﻴﻞ اﻟﺤﺴﺎس و ﺣﺴﺎب اﻟﻤﺴﺎﻓﺔ ﺛﻢ ﻳﺘﻢ ﻋﺮﺿﻬﺎ ﻋﻠﻰ اﻟﺸﺎﺷﺔ : ] [/crayon-5d14293ac6cf2205543784 ﻓﻲ اﻟﺒﺪاﻳﺔ ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام اﻟﺪاﻟﺔ )( sonar.ping ﻟﻨﺤﺼﻞ ﻋﻠﻰ ﻗﻴﻤﺔ

اﻟﻮﻗﺖ اﻟﺬي اﺳﺘﻐﺮﻗﺘﻪ ﻣﻮﺟﺎت اﻟـ Ultrasonic ﻟﺘﺼﺪم ﺑﻜﺎﺋﻦ و ﺗﻌﻮد اﻟﻰ اﻟﺤﺴﺎس ﻣﺮة اﺧﺮى. ﺛﻢ ﻧﻘﻮم ﺑﻌﻤﻞ ﺣﺴﺎﺑﺎت ﺑﺴﻴﻄﺔ ﻋﻠﻰ ﻫﺬة اﻟﻘﻴﻤﺔ ﺳﻴﺘﻢ ﺷﺮﺣﻬﺎ ﻻﺣﻘﺎ ﺑﻌﺪ ذﻟﻚ ﻗﻤﻨﺎ ﺑﻌﺮض ﻫﺬة اﻟﺤﺴﺎﺑﺎت ﻋﻠﻰ ﺷﺎﺷﺔ.LCD اﻟﺤﺴﺎﺑﺎت اﻟﺨﺎﺻﺔ ﺑﻌﻤﻞ ﺣﺴﺎس اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ : ﻳﻘﻮم اﻟﺤﺴﺎس ﺑﺎرﺳﺎل ﻣﻮﺟﺎت ﻓﻮق ﺻﻮﺗﻴﺔ و ﻋﻨﺪ اﺻﻄﺪاﻣﻬﺎ ﺑﺤﺎﺋﻞ ﺗﺮﺗﺪ ﻣﺮة اﺧﺮى ﻓﻴﻤﻜﻦ ﻟﻼردوﻳﻨﻮ ﺣﺴﺎب اﻟﻮﻗﺖ اﻟﺬى اﺳﺘﻐﺮﻗﺘﻪ اﻟﻤﻮﺟﺎت ﻟﻠﺬﻫﺎب و اﻟﻌﻮدة ﻟﺬﻟﻚ ﻻﺑﺪ ﻣﻦ اﻟﻘﺴﻤﺔ ﻋﻠﻰ 2 ﻻﻧﻨﺎ ﻧﺮﻳﺪ ﺣﺴﺎب اﻟﻤﺴﺎﻓﺔ و ﻫﺬا ﻳﻌﺘﻤﺪ ﻋﻠﻰ وﻗﺖ اﻟﺬﻫﺎب ﻓﻘﻂ. ﺳﺮﻋﻪ اﻟﺼﻮت ﻓﻲ اﻟﻬﻮاء ﻓﻲ اﻟﺤﺎﻟﺔ اﻟﻌﺎدﻳﺔ ﺗﻘﺮﻳﺒﺎ 340 ﻣﺘﺮ ﻟﻜﻞ ﺛﺎﻧﻴﺔ ﻓﻴﻜﻮن اﻟﻮﻗﺖ اﻟﻤﺴﺘﻬﻠﻚ ﻟﻌﺒﻮر 1 ﺳﻢ ﻫﻮ : 100 ﻟﻠﺘﺤﻮﻳﻞ ﻣﻦ ﻣﺘﺮ اﻟﻰ ﺳﻢ, و 6^10 ﻟﻠﺘﺤﻮﻳﻞ ﻣﻦ ﺛﺎﻧﻴﺔ اﻟﻰ ﻣﺎﻳﻜﺮوﺛﺎﻧﻴﺔ. روﺑﻮت اﻟﺴﻮﻣﻮ ﻣﺼﺎرﻋﺔ اﻟﺴﻮﻣﻮ ﻣﻦ اﻟﻔﻨﻮن اﻟﻘﺘﺎﻟﻴﺔ اﻟﻴﺎﺑﺎﻧﻴﺔ اﻟﻘﺪﻳﻤﺔ ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮت ﻟﻴﻜﻮن ﺟﺎﻫﺰ ا ﻟﻠﻤﺸﺎرﻛﺔ ﺑﺤﻴﺚ ﻳﻘﻮم اﻟﺮوﺑﻮت ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﻟﺨﺼﻢ ﻓﻲ ﻣﺴﺎﺣﺔ ﻣﺤﺪدة ﺑﻮاﺳﻄﺔ ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ وﻋﻨﺪﻣﺎ ﻳﺠﺪه ﻳﻘﻮم ﺑﺎﻟﻬﺠﻮم ﻋﻠﻰ اﻟﺮوﺑﻮت اﻟﺨﺼﻢ.

اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ : ) mbot Kit ﻋﺪد (2 ﻓﻜﺮة اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ووﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر. ﺑﺤﻴﺚ ﻳﺘﺤﺮك اﻟﺮوﺑﻮت ﻋﻠﻰ ﺳﺎﺣﺔ اﻟﻤﻌﺮﻛﺔ دون اﻟﺨﺮوج ﻣﻦ اﻟﺤﺪود اﻟﻤﺮﺳﻮﻣﺔ ﺑﺎﻟﻠﻮن اﻷﺳﻮد ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ ﺗﺘﺒﻊ اﻟﻤﺴﺎر.

ﻳﻌﻄﻲ اﻟﻤﺴﺘﺸﻌﺮ ﻗﺮاءة ﺗﺴﺎوي 3 إذا ﻛﺎن ﻋﻠﻰ ﺳﻄﺢ أﺑﻴﺾ وﻗﺮاءة ﺗﺴﺎوي 0 إذا ﻛﺎن ﻋﻠﻰ ﺳﻄﺢ أﺳﻮد وﻗﻴﻢ ﺗﺴﺎوي 1 أو 2 إذا ﻛﺎﻧﺖ إﺣﺪى ﺟﻬﺘﻲ اﻟﻤﺴﺘﺸﻌﺮ ﻋﻠﻰ اﻟﻠﻮن اﻷﺳﻮد واﻷﺧﺮى ﻋﻠﻰ اﻷﺑﻴﺾ. ﻟﻔﻬﻢ ﻛﻴﻔﻴﺔ ﻋﻤﻞ ﻣﺴﺘﺸﻌﺮ وﺣﺪة اﻟﻤﺴﺎر راﺟﻊ ﻣﺸﺮوع روﺑﻮت ﺗﻔﺎدي اﻟﺴﻘﻮط ﺧﻼل ﺣﺮﻛﺔ اﻟﺮوﺑﻮت ﻋﻠﻰ اﻟﻄﺎوﻟﺔ ﻳﻘﻮم ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﻟﺨﺼﻢ ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﻋﻨﺪﻣﺎ ﻳﻜﻮن اﻟﺨﺼﻢ ﻋﻠﻰ ﻣﺴﺎﻓﺔ ﻗﺮﻳﺒﺔ ﺗﺼﻄﺪم ﺑﻪ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ وﺗﺮﺗﺪ إﻟﻰ اﻟﺮوﺑﻮت ﻓﻴﺘﻢ رﺻﺪ اﻟﺨﺼﻢ واﻟﻬﺠﻮم ﻋﻠﻴﻪ ﺑﺰﻳﺎدة اﻟﺴﺮﻋﺔ. ﻟﻔﻬﻢ ﻛﻴﻔﻴﺔ ﻋﻤﻞ ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ راﺟﻊ ﻣﺸﺮع اﻟﺮوﺑﻮت ﻣﺘﺘﺒﻊ اﻟﻜﺎﺋﻨﺎت رﺻﺪ ﺣﺎﻓﺔ اﻟﻄﺎوﻟﺔ رﺻﺪ اﻟﺨﺼﻢ اﻟﻔﻌﻞ ﻧﻌﻢ ﻧﻌﻢ اﻻﻧﻌﻄﺎف ﻳﻤﻴﻨ ﺎ أو ﻳﺴﺎر ا ﻧﻌﻢ ﻻ اﻻﻧﻌﻄﺎف ﻳﻤﻴﻨ ﺎ أو ﻳﺴﺎر ا ﻻ ﻧﻌﻢ زﻳﺎدة اﻟﺴﺮﻋﺔ )ﻫﺠﻮم( ﻻ ﻻ اﻟﺘﺤﺮك ﻟﻸﻣﺎم

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﺳﻨﺤﺘﺎج ﻋﻨﺪ ﺑﺮﻣﺠﺔ روﺑﻮت اﻟﺴﻮﻣﻮ إﻟﻰ وﺿﻊ اﻷواﻣﺮ ﺑﺎﻋﺘﺒﺎر ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ ﺗﺘﺒﻊ اﻟﻤﺴﺎر وﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ. ﺳﻨﻘﻮم ﺑﺪاﻳﺔ ﺑﻮﺿﻊ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ داﺧﻞ ﺣﻠﻘﺔ ﺗﻜﺮار Repeat until ﻳﻘﻮم ﻫﺬا اﻷﻣﺮ ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﺪاﺧﻞ اﻟﺤﻠﻘﺔ إﻟﻰ أن ﻳﺘﺤﻘﻖ اﻟﺸﺮط اﻟﺬي ﻳﺘﻢ وﺿﻌﻪ وﻫﻨﺎ ﻗﻤﻨﺎ ﺑﺎﺧﺘﻴﺎر اﻟﺸﺮط أن ﺗﺴﺎوي ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ ﺗﺘﺒﻊ اﻟﻤﺴﺎر 3 )ﻋﻨﺪﻣﺎ ﺗﻜﻮن اﻟﻘﻴﻤﺔ 3 ﻓﺬﻟﻚ ﻳﻌﻨﻲ أن ﻛﻼ اﻟﻤﺴﺘﺸﻌﺮﻳﻦ ﻓﻲ وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻋﻠﻰ ﺳﻄﺢ أﺑﻴﺾ أي أن اﻟﺮوﺑﻮت ﻟﻢ ﻳﺼﻞ ﻟﺤﺎﻓﺔ ﺳﺎﺣﺔ اﻟﻘﺘﺎل( اﻷواﻣﺮ اﻟﺘﻲ ﺑﺪاﺧﻞ ﺣﻠﻘﺔ repeat until ﺳﺘﻌﺘﻤﺪ ﻋﻠﻰ اﻟﻤﺴﺎﻓﺔ ﻋﻠﻰ ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ أي إذا ﻛﺎن اﻟﺮوﺑﻮت ﻳﺴﻴﺮ ﻋﻠﻰ اﻟﺴﻄﺢ اﻷﺑﻴﺾ ﺳﻨﻨﺘﻘﻞ ﻻﺧﺘﺒﺎر ﺷﺮط اﻟﻤﺴﺎﻓﺔ وﻫﻮ إذا ﻛﺎﻧﺖ اﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ اﻟﺮوﺑﻮت واﻟﺨﺼﻢ أﻗﻞ ﻣﻦ 12 ﺳﻢ ﺳﻴﻘﻮم ﺑﺎﻟﻬﺠﻮم ﻋﻠﻴﻪ ﻋﻦ ﻃﺮﻳﻖ زﻳﺎدة اﻟﺴﺮﻋﺔ إﻟﻰ 255 وإن ﻟﻢ ﺗﻜﻦ اﻟﻤﺴﺎﻓﺔ ﻛﺬﻟﻚ ﻳﺴﺘﻤﺮ اﻟﺮوﺑﻮت ﻓﻲ اﻟﺤﺮﻛﺔ ﻟﻸﻣﺎم ﺑﺴﺮﻋﺔ ﻣﺘﻮﺳﻄﺔ ﻧﻌﻮد إﻟﻰ ﺷﺮط ﻣﺴﺘﺸﻌﺮ ﺗﺘﺒﻊ اﻟﻤﺴﺎر إذا ﺗﺤﻘﻖ اﻟﺸﺮط أن اﻟﻘﺮاءة أﺻﻐﺮ ﻣﻦ 3 ﻓﺬﻟﻚ ﻳﻌﻨﻲ أن اﻟﺮوﺑﻮت ﻟﻢ ﻳﻌﺪ ﻋﻠﻰ اﻟﺴﻄﺢ اﻷﺑﻴﺾ أي وﺻﻞ إﻟﻰ ﺣﺎﻓﺔ ﺳﺎﺣﺔ اﻟﻘﺘﺎل ﻓﻬﻨﺎ ﻳﺘﻢ ﺗﻨﻔﻴﺬ اﻷواﻣﺮ ﺑﻌﺪ else وﻫﻲ اﻟﺤﺮﻛﺔ ﻟﻠﺨﻠﻒ ﻟﻤﺪة ﺛﺎﻧﻴﺘﻴﻦ

وﻓﺎﺋﺪة اﻷﻣﺮ wait اﻻﻧﻌﻄﺎف أن ﻳﺴﻤﺢ ﻟﻪ ﺑﺎﻟﺮﺟﻮع ﻣﺴﺎﻓﺔ ﻛﺎﻓﻴﺔ ﺗﻤﻜﻨﻪ ﻣﻦ ﺑﻌﺪ أن ﻳﻌﻮد اﻟﺮوﺑﻮت ﻟﻠﺨﻠﻒ ﻫﻞ ﻳﻨﻌﻄﻒ ﻳﻤﻴﻨﺎ أو ﻳﺴﺎر ا ﻟﻴﺘﻤﻜﻦ اﻟﺮوﺑﻮت ﻣﻦ اﺗﺨﺎذ اﻟﻘﺮار ﺳﻨﺴﺘﺨﺪم اﻷﻣﺮ pick random ﻣﻦ 1 إﻟﻰ 10 وﻫﺬا اﻷﻣﺮ ﻳﻘﻮم ﻓﻲ ﻛﻞ ﻣﺮة ﺑﺄﺧﺬ رﻗﻢ ﻋﺸﻮاﺋﻲ ﺑﻴﻦ اﻟﻌﺪدﻳﻦ اﻟﻠﺬان ﺗﻢ اﺧﺘﻴﺎرﻫﻤﺎ وﺗﺒﻌﺎ ﻟﻬﺬا اﻟﺮﻗﻢ ﻗﻤﻨﺎ ﺑﻮﺿﻊ ﺷﺮط إذا ﻛﺎن اﻟﺮﻗﻢ أﻗﻞ ﻣﻦ 5 ﻳﻨﻌﻄﻒ اﻟﺮوﺑﻮت ﻟﻠﻴﻤﻴﻦ وإﻻ ﻓﻴﻨﻌﻄﻒ ﻟﻠﻴﺴﺎر ﻗﻤﻨﺎ ﺑﻮﺿﻊ أﻣﺮ اﻟﺘﺄﺧﻴﺮ اﻟﺰﻣﻨﻲ wait. ﻟﻴﻜﻮن ﻟﺪى اﻟﺮوﺑﻮت زﻣﻦ ﻛﺎﻓﻲ ﻟﻼﻧﻌﻄﺎف اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ

ﺑﺬﻟﻚ ﺳﻴﻜﻮن اﻟﺮوﺑﻮت ﺟﺎﻫﺰ ا ﻟﻠﻤﺸﺎرﻛﺔ ﻓﻲ ﻣﺴﺎﺑﻘﺔ اﻟﺴﻮﻣﻮ ﻗﻢ ﺑﺘﻨﺰﻳﻞ اﻟﻜﻮد ﻋﻠﻰ روﺑﻮت آﺧﺮ ﻟﺘﺒﺪأ اﻟﻤﻨﺎﻓﺴﺔ. ﻟﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺧﺮى ﻳﻤﻜﻨﻚ ﻣﺮاﺟﻌﺔ درس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ. ﻣﺼﺒﺎح اﻟﻄﺎوﻟﺔ اﻟﺬﻛﻲ ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺑﻌﻤﻞ ﻣﺼﺒﺎح ﻃﺎوﻟﺔ ذﻛﻲ ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮﻛﺔ ﺑﺤﻴﺚ ﻳﻀﻲء اﻟﻤﺼﺒﺎح ﻋﻨﺪ اﺳﺘﺸﻌﺎر اﻟﺤﺮﻛﺔ وﻳ ﻄﻔﺄ ﻋﻨﺪ ﻋﺪم وﺟﻮد ﺣﺮﻛﺔ

اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ

Inventor Kit ﺗﺮﻛﻴﺐ اﻟﺪاﺋﺮة ﺳﻨﺴﺘﺨﺪم ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع اﻟﻘﻄﻊ اﻟﺘﺎﻟﻴﺔ ﻃﺮﻳﻘﺔ اﻟﺘﻮﺻﻴﻞ

اﻟﻤﻨﻔﺬ اﻟﻘﻄﻌﺔ اﻻﻟﻜﺘﺮوﻧﻴﺔ ﻣﻨﻔﺬ 3 RGB LED ﻣﻨﻔﺬ 4 ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮﻛﺔ PIR ﻣﻨﻔﺬ 6 اﻟﻤﻘﺎوﻣﺔ اﻟﻤﺘﻐﻴﺮة Potentiometer ﺑﺮﻣﺠﺔ اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﻤﺸﺮوع ﺑﺤﻴﺚ ﻳﻤﻜﻦ اﻟﺘﺤﻜﻢ ﺑﺈﺿﺎءة RGB ﺑﻄﺮﻳﻘﺘﻴﻦ إﻣﺎ اﻟﺘﺤﻜﻢ ﺑﺸﺪة اﻹﺿﺎءة ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﻘﺎوﻣﺔ اﻟﻤﺘﻐﻴﺮة وإﻣﺎ ﺑﺎﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮﻛﺔ ﺑﺤﻴﺚ ﻳﻀﻲء اﻟﻤﺼﺒﺎح ﻋﻨﺪ اﺳﺘﺸﻌﺎر اﻟﺤﺮﻛﺔ وﻳ ﻄﻔﺄ ﻋﻨﺪ ﻋﺪم وﺟﻮد ﺣﺮﻛﺔ. ﺳﻨﻘﻮم ﺑﺪاﻳﺔ ﺑﺈﻧﺸﺎء ﻣﺘﻐﻴﺮﻳﻦ اﻷول وﻟﻨﺴﻤﻴﻪ LEDcount ﻟﻠﺘﺤﻜﻢ ﺑﺎﻹﺿﺎءة اﻟﺘﺪرﻳﺠﻴﺔ ﺣﻴﺚ ﺗﺤﺘﻮي وﺣﺪة RGB ﻋﻠﻰ LED 4 وﺳﻨﺴﻤﻲ اﻟﻤﺘﻐﻴﺮ اﻵﺧﺮ Brightness ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﻹﺿﺎءة

ﻳﻌﻄﻲ ﻣﺴﺘﺸﻌﺮ اﻟﺤﺮﻛﺔ ﻗﻴﻤﺘﻴﻦ إﻣﺎ 0 ﻋﻨﺪ ﻋﺪم وﺟﻮد ﺣﺮﻛﺔ أو 1 ﻋﻨﺪ رﺻﺪ اﻟﺤﺮﻛﺔ ﻧﻀﻊ ﺟﻤﻠﺔ ﺷﺮﻃﻴﺔ if then ﺑﺤﻴﺚ ﻋﻨﺪ رﺻﺪ اﻟﺤﺮﻛﺔ )ﻗﺮاءة اﻟﻤﺴﺘﺸﻌﺮ = (1 ﺗﺘﻢ إﺿﺎءة RGB ﺑﺸﻜﻞ ﺗﺪرﻳﺠﻲ ﻳﺘﻢ ﺗﻌﻴﻴﻦ اﻟﻤﺘﻐﻴﺮ LEDcount ﻋﻠﻰ اﻟﻘﻴﻤﺔ 0 ﻧﺨﺘﺎر أن ﻳﺘﻢ ﺗﻐﻴﺮ اﻟﻘﻴﻤﺔ ﺑﻘﻴﻤﺔ 1 ﺗﺪرﻳﺠﻴﺎ ﻟﺘﺘﻢ اﻹﺿﺎءة ﺗﺪرﻳﺠﻴﺎ

ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﻹﺿﺎءة ﻋﺒﺮ اﻟﻤﻘﺎوﻣﺔ اﻟﻤﺘﻐﻴﺮة potentiometer ﻧﺴﺘﺨﺪم اﻷﻣﺮ اﻟﺒﺮﻣﺠﻲ if the.. else وﻧﻘﻮم ﺑﻮﺿﻊ ﺷﺮط ﺑﺤﻴﺚ ﻳﺤﺪد أﻗﻞ وأﻋﻠﻰ ﻗﻴﻤﺔ ﻟﻠﻤﻘﺎوﻣﺔ أﻋﻠﻰ ﻗﻴﻤﺔ = 975 أﻗﻞ ﻗﻴﻤﺔ = 0 ﻧﻘﻮم ﺑﺘﻌﻴﻴﻦ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ Brightness ﻟﻘﺮاءة ﻗﻴﻤﺔ اﻟﻤﻘﺎوﻣﺔ اﻟﻤﺘﻐﻴﺮة potentiometer أﻋﻠﻰ ﺷﺪة ﻹﺿﺎءة RGB ﺗﺴﺎوي 255 ﻟﺬﻟﻚ ﺳﻨﻘﻮم ﺑﻘﺴﻤﺔ ﻗﻴﻤﺔ اﻟﻤﻘﺎوﻣﺔ ﻋﻠﻰ 4 ﻟﻨﺤﺼﻞ ﻋﻠﻰ ﻗﻴﻢ ﺑﻴﻦ 255 0 وﻣﻦ ﺛﻢ ﺗﻌﻴﻴﻦ ﻗﻴﻤﺔ ﺷﺪة LED وﻓﻖ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ Brightness ﺑﻌﺪ اﻷﻣﺮ else ﻧﻌﻴﻦ اﻹﺿﺎءة ﻋﻠﻰ 0 أي ﻣﻄﻔﺄة

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻠﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﺣﻮل اﻟﻜﻮد ﻳﻤﻜﻨﻚ اﻟﺮﺟﻮع ﻟﺪرس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ

ﻣﺸﺮوع Mood lamp ﻓﻲ ﻫﺬا اﻟﺪرس ﺳﻮف ﻧﻘﻮم ﺑﻌﻤﻞ ﻣﺸﺮوع ﺟﻤﺎﻟﻲ ﻗﻠﻴﻼ وﻫﻮ ﻣﺸﺮوع اﻟـ Mood lamp او ﻣﺼﺒﺎح اﻟﻤﺰاج وﻫﻮ ﻋﺒﺎرة ﻋﻦ أﻧﺒﻮﺑﺔ ﻣﻦ اﻟﻮرق اﻟﻤﻘﻮى اﻟﺨﻔﻴﻒ وﺑﺪاﺧﻠﻪ ﻣﺠﻤﻮﻋﻪ ﻣﻦ اﻟـ LEDs ذات اﻷﻟﻮان )ﺣﻤﺮاء ﺧﻀﺮاء زرﻗﺎء(. ﻳﻘﻮم ﻫﺬا اﻟﻤﺼﺒﺎح ﺑﺘﻐﻴﻴﺮ اﻷﻟﻮان ﺑﺸﻜﻞ ﺟﻤﻴﻞ وﺳﻠﺲ ﻹﺿﺎﻓﺔ اﻟﻬﺪوء واﻟﺮاﺣﺔ ﻓﻲ اﻟﻤﻜﺎن. اﻟﻤﻜﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ Arduino Uno

Ohm 330 Ohm Resistors 220 Breadboard

Wires Blue LED Green LED

Red LED ورق ﻣﻘﻮى ﺧﻔﻴﻒ )أي ﺷﻜﻞ ﺗﺮﻏﺐ ﺑﻪ ﻫﺬه ﻟﻤﺴﺘﻚ اﻟﺠﻤﺎﻟﻴﺔ( ﺗﻮﺻﻴﻞ اﻟﺪارة ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﺘﺠﺎرب

ﺷﺮح اﻟﻤﺸﺮوع ﻧﻘﻮم ﺑﺘﻮﺻﻴﻞ اﻟـﺜﻼﺛﺔ LEDs ﻋﻠﻰ ﻣﺨﺎرج PWM ﻣﻦ اﻷردوﻳﻨﻮ وﻋﻦ ﻃﺮﻳﻖ ﻧﺴﺘﻄﻴﻊ اﻟﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﻟﺘﺤﻜﻢ ﻓﻲ ﻧﺴﺒﺔ اﻟﻔﻮﻟﺖ اﻟﺨﺎرﺟﺔ ﻟﻠـ LED اﻹﺿﺎءة. ﺳﺒﺐ اﺧﺘﻴﺎر أﻟﻮان اﻟـ ) LED اﻷﺣﻤﺮ اﻷﺧﻀﺮ اﻷزرق( ﻷﻧﻬﺎ اﻷﻟﻮان اﻟﺮﺋﻴﺴﻴﺔ اﻟﺘﻲ ﻳﻤﻜﻦ ﺗﻜﻮﻳﻦ أي ﻟﻮن آﺧﺮ ﻣﻨﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ﺧﻠﻂ اﻟﻨﺴﺐ ﺑﻴﻦ اﻟﺜﻼﺛﺔ واﻟﻌﻤﻞ ﻋﻠﻰ ﺗﺪاﺧﻞ اﻟﻀﻮء ﺑﻮﺿﻌﻬﻢ ﺑﺠﺎﻧﺐ ﺑﻌﻀﻬﻢ )وﻫﺬا ﻣﺎ ﻳﺤﺪث ﺣﻘﻴﻘﺔ ﻓﻲ.(RGB LED ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﻹﺿﺎءة ﻳﻤﻜﻨﻚ أن ﺗﻜﺘﺐ ﻛﻮد اﻷردﻳﻨﻮ ) analogwrite(x ﺣﻴﺚ x ﺗﻤﺘﺪ ﻣﻦ 0 اﻟﻰ ) 255 و ﻫﺬا ﻧﻈﻴﺮ 0 اﻟﻰ %100 ﺗﻘﺮﻳﺒ ﺎ(.

ﻧﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﺧﺘﻴﺎر اﻟﻠﻮن color picker واﻟﺘﻲ ﺗﻮﺟﺪ ﻏﺎﻟﺒ ﺎ ﻓﻲ ﺑﺮاﻣﺞ اﻟﺠﺮاﻓﻴﻚ ﻣﺜﻞ اﻟﻔﻮﺗﻮﺷﻮب - ﻹﺧﺘﻴﺎر ﻗﻴﻢ RGB ﺣﺘﻰ ﻧﻘﻮم ﺑﻌﺮض ﺟﻤﻴﻊ أﻟﻮان اﻟﻄﻴﻒ ﻓﻜﺎﻧﺖ اﻟﻨﺘﻴﺠﺔ ﻛﺎﻵﺗﻲ : وﺑﺎﻟﺘـﺎﻟﻲ ﺳـﻮف ﻧﻘﻮم ﺑﻌﻤـﻞ داﻟﺘﻴـﻦ decrease color وداﻟـﺔ أﺧـﺮى.increase color ﻛﻠﺘﺎ اﻟﺪاﻟﺘﻴﻦ ﺗﺄﺧﺬ ﻣﻌﺎﻣﻞ وﻫﻮ اﺳﻢ اﻟﻠﻮن اﻟﺬي ﻧﺮﻳﺪ أن ﻧﻘﻮم ﺑﺰﻳﺎدﺗﻪ ﻣﻦ 0 اﻟﻰ 255 او ﺑﻨﻘﺼﺎﻧﻪ ﻣﻦ 255 اﻟﻰ.0 ﺑﺮﻣﺠﺔ اﻷردوﻳﻨﻮ ] [/crayon-5d14293ac7075845488257 ﺷﺮح اﻟﻜﻮد : ﻓﻲ اﻟﺒﺪاﻳﺔ ﻧﻘﻮم ﺑﺘﺴﻤﻴﺔ ﻣﺪاﺧﻞ اﻻردوﻳﻨﻮ ﺣﺴﺐ اﻟـ LEDs اﻟﻤﻮﺻﻠﺔ ﻣﻌﻬﺎ ﻓﺎﻟﻤﺪﺧﻞ 9 ﻣﻮﺻﻞ ﻣﻊ LED اﻷزرق واﻟﻤﺪﺧﻞ 10 ﻣﻮﺻﻞ ﻣﻊ LED اﻷﺧﻀﺮ وﻣﺪﺧﻞ 11 ﻣﻮﺻﻞ ﻣﻊ اﻷﺣﻤﺮ. ﺛﻢ ﻧﻘﻮم ﺑﺘﻌﺮﻳﻒ ﻫﺬه اﻷﻃﺮاف ﻛﻤﺨﺮج ﻓﻲ داﻟﺔ )(. setup ] [/crayon-5d14293ac707a360184678 ﻓﻲ داﻟﺔ )( loop ﻧﻘﻮم ﺑﺎﻟﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﺿﺎءة ﻛﻞ LEDs ودﻣﺞ اﻷﻟﻮان اﻟﺜﻼﺛﺔ ﻣﻌﺎ وﺑﻬﺬه اﻟﻄﺮﻳﻘﺔ ﻧﺤﺼﻞ ﻋﻠﻰ ﻣﺰﻳﺞ ﻣﻦ اﻷﻟﻮان ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺷﺪة ﺗﺮﻛﻴﺰ ﻛﻞ ﻟﻮن LED ﻋﻠﻰ ﺣﺪة. ﻳﺘﻢ اﻟﺘﺤﻜﻢ ﻓﻲ ﺷﺪة إﺿﺎء ﻛﻞ LED ﻋﻦ ﻃﺮﻳﻖ اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ increasecolor واﻟﺪاﻟﺔ. decreasecolor ] [/crayon-5d14293ac707d670229692

اﻟﺪاﻟﺔ increasecolor ﺗﻌﻤﻞ ﻋﻠﻰ زﻳﺎدة ﺷﺪة اﺿﺎءة اﻟﻠﻮن ﺗﺪرﻳﺠﻴﺎ. ﺗﻘﻮم ﻫﺬه اﻟﺪاﻟﺔ ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ (analogwrite(pin_name,vlaue ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺷﺪة اﻹﺿﺎءة وﺑﺈﺳﺘﺨﺪام for loop ﺗﺒﺪأ ﺷﺪة اﻻﺿﺎءة ﺑﺎﻹزدﻳﺎد ﺗﺪرﻳﺠﻴﺎ ﻣﻦ 0 إﻟﻰ ﻗﻴﻤﺔ. 255 ] [/crayon-5d14293ac707f552372417 ﺗﻘﻮم اﻟﺪاﻟﺔ decreasecolor ﺑﺘﻘﻠﻴﻞ ﺷﺪة اﺿﺎءة اﻟـ LED ﺗﺪرﻳﺠﻴﺎ. ﺗﻌﻤﻞ ﻫﺬه اﻟﺪاﻟﺔ ﺑﻨﻔﺲ ﻃﺮﻳﻘﺔ اﻟﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ increasecolor وﻟﻜﻦ ﺗﺴﺘﺨﺪم اﻟـ for loop ﻟﺘﻘﻠﻴﻞ ﺷﺪة اﻹﺿﺎءة ﻣﻦ 255 إﻟﻰ. 0 ] [/crayon-5d14293ac7081971994621 ﺑﺎﺳﺘﺨﺪام ﻧﻔﺲ اﻟﺘﻘﻨﻴﺔ ﻣﻊ ﺑﺎﻗﻲ اﻟـ LEDs ﻳﻤﻜﻨﻨﺎ دﻣﺞ اﻷﻟﻮان ﺑﺼﻮرة راﺋﻌﺔ ﻟﻨﺤﺼﻞ ﻋﻠﻰ. Mood Lamp روﺑﻮت ﺗﻔﺎدي اﻟﺴﻘﻮط ﻗﺪ ﺗﺘﻄﻠﺐ ﺑﻌﺾ اﻟﻤﻬﺎم إرﺳﺎل اﻟﺮوﺑﻮت ﻟﻼﺳﺘﻜﺸﺎف ﻓﻲ ﺑﻌﺾ اﻷﻣﺎﻛﻦ اﻟﺨﻄﺮة أو اﻟﻤﺮﺗﻔﻌﺔ. ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ روﺑﻮت ﻳﺘﻔﺎدى اﻟﺴﻘﻮط ﻣﻦ ﻋﻠﻰ اﻷﺳﻄﺢ اﻟﺘﻲ ﻳﺴﻴﺮ ﻋﻠﻴﻬﺎ ﺑﺎﺳﺘﺨﺪام وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر.

اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ :

mbot Ranger Kit وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر Line Follower ﻣﺼﺪر ﺗﺘﻜﻮن وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻣﻦ ﻣﺴﺘﺸﻌﺮﻳﻦ ﻛﻞ ﻣﺴﺘﺸﻌﺮ ﻳﺘﻜﻮن ﻣﻦ ﻟﻸﺷﻌﺔ ﺗﺤﺖ ﺣﻤﺮاء ) (LED وﻣﺴﺘﻘﺒﻞ ﻟﻬﺬه اﻷﺷﻌﺔ ﻓﻜﺮة ﻋﻤﻞ ﻣﺴﺘﺸﻌﺮ ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﺗﻘﻮم ﻋﻠﻰ إﻃﻼق أﺷﻌﺔ ﺗﺤﺖ ﺣﻤﺮاء ورﺻﺪ اﻧﻌﻜﺎﺳﻬﺎ ﻋﻨﺪ ﺳﻴﺮ اﻟﺮوﺑﻮت ﻋﻠﻰ اﻷﺳﻄﺢ اﻟﺒﻴﻀﺎء ﻓﺈن ﻣﻌﻈﻢ اﻷﺷﻌﺔ ﺗﻨﻌﻜﺲ ﻣﻦ ﻋﻠﻰ اﻟﺴﻄﺢ وﻳﺘﻢ رﺻﺪﻫﺎ ﻋﻠﻰ اﻷﺳﻄﺢ اﻟﺴﻮداء ﻓﺈن اﻟﻠﻮن اﻷﺳﻮد ﻳﻤﺘﺺ أﻣﺎ ﻋﻨﺪ ﺳﻴﺮ اﻟﺮوﺑﻮت ﻣﻌﻈﻢ اﻷﺷﻌﺔ ﻓﻼ ﻳﻨﻌﻜﺲ إﻻ ﻣﻘﺪار ﺑﺴﻴﻂ ﻣﻨﻬﺎ إﻟﻰ اﻟﻤﺴﺘﺸﻌﺮ

اﻷﻣﺮ اﻟﺒﺮﻣﺠﻲ ﻟﻘﺮاءة وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻳﻌﻄﻲ ﻗﻴﻢ ﺑﻴﻦ 3 0 ﺑﻨﺎء ﻋﻠﻰ اﻟﺤﺎﻻت اﻟﺘﺎﻟﻴﺔ اﻟﺤﺎﻻت ﻗﻴﻤﺔ اﻟﻘﺮاءة ﻛﻼ اﻟﻤﺴﺘﺸﻌﺮﻳﻦ ﻋﻠﻰ اﻟﻠﻮن اﻷﺳﻮد 0 اﻟﻤﺴﺘﺸﻌﺮ اﻷﻳﺴﺮ ﻓﻘﻂ ﻋﻠﻰ اﻟﻠﻮن اﻷﺳﻮد اﻟﻤﺴﺘﺸﻌﺮ اﻷﻳﻤﻦ ﻓﻘﻂ ﻋﻠﻰ اﻟﻠﻮن اﻷﺳﻮد ﻛﻼ اﻟﻤﺴﺘﺸﻌﺮﻳﻦ ﻋﻠﻰ اﻟﻠﻮن اﻷﺑﻴﺾ 1 2 3 اﻟﻤﺴﺘﺸﻌﺮ اﻟﻤﺴﺘﺸﻌﺮ اﻷﻳﻤﻦ اﻷﻳﺴﺮ

ﺑﺮﻣﺠﺔ اﻟﺮوﺑﻮت ﺗﺴﺘﺨﺪم وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻟﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮﺗﺎت ﻟﺘﺘﺒﻊ ﻣﺴﺎرات ﻣﻌﻴﻨﺔ ﻳﺘﻢ رﺳﻤﻬﺎ ﺑﺎﻟﻠﻮن اﻷﺳﻮد ﻓﻲ ﻫﺬا اﻟﺪرس ﺳﻨﺴﺘﺨﺪم وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻟﺮﺻﺪ ﺣﻮاف اﻟﺴﻄﺢ اﻟﺬي ﻳﺘﺤﺮك ﻋﻠﻴﻪ اﻟﺮوﺑﻮت وﻳﺘﻔﺎدى اﻟﺴﻘﻮط ﻣﻦ ﻋﻠﻴﻪ ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮت ﺑﺤﻴﺚ ﻳﺘﺤﺮك ﻋﻠﻰ ﻃﺎوﻟﺔ ﺑﻴﻀﺎء وﻳﻨﻌﻄﻒ ﻳﻤﻴﻨﺎ ﻋﻨﺪ اﻟﻮﺻﻮل إﻟﻰ ﺣﺎﻓﺔ اﻟﻄﺎوﻟﺔ. ﻧﻘﻮم أوﻻ ﺑﺈﻧﺸﺎء ﻣﺘﻐﻴﺮ edge ﻧﻘﻮم ﺑﺘﻌﻴﻴﻦ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ ﻟﺘﺨﺰﻳﻦ ﻗﺮاءة وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻧﺴﺘﺨﺪم اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﻴﺔ if else ﺑﺤﻴﺚ إذا ﻛﺎﻧﺖ ﻗﻴﻤﺔ ﻗﺮاءة اﻟﻤﺴﺘﺸﻌﺮ ﺗﺴﺎوي 3 ﻳﺘﻢ ﺗﻨﻔﻴﺬ اﻷﻣﺮ اﻟﺘﺎﻟﻲ وﻫﻮ اﻟﺘﺤﺮك ﻟﻸﻣﺎم ﻋﻨﺪﻣﺎ ﺗﻜﻮن اﻟﻘﺮاءة 3 ﻓﺬﻟﻚ ﻳﻌﻨﻲ أن ﻛﻼ اﻟﻤﺴﺘﺸﻌﺮﻳﻦ ﻓﻲ وﺣﺪة ﺗﺘﺒﻊ اﻟﻤﺴﺎر ﻋﻠﻰ اﻟﻠﻮن اﻷﺑﻴﺾ

ﻋﻨﺪﻣﺎ ﻳﺼﻞ اﻟﺮوﺑﻮت إﻟﻰ ﺣﺎﻓﺔ اﻟﻄﺎوﻟﺔ ﻟﻦ ﻳﻜﻮن ﻛﻼ اﻟﻤﺴﺘﺸﻌﺮﻳﻦ ﻋﻠﻰ اﻟﻠﻮن اﻷﺑﻴﺾ وﺑﺎﻟﺘﺎﻟﻲ ﻟﻦ ﺗﻜﻮن ﻗﺮاءة اﻟﻤﺴﺘﺸﻌﺮ ﺗﺴﺎوي 3 ﻓﻴﻘﻮم اﻟﺮوﺑﻮت ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ اﻟﻤﻜﺘﻮﺑﺔ ﺑﻌﺪ اﻷﻣﺮ else وﻫﻲ اﻟﺘﺤﺮك ﻟﻠﺨﻠﻒ ﻟﻤﺪة ﺛﺎﻧﻴﺘﻴﻦ ﺛﻢ اﻻﻧﻌﻄﺎف ﻧﺤﻮ اﻟﻴﻤﻴﻦ ﻧﻘﻮم ﺑﻮﺿﻊ أﻣﺮ اﻟﺘﺄﺧﻴﺮ اﻟﺰﻣﻨﻲ wait ﺑﻌﺪ أﻣﺮ اﻟﺘﺤﺮك ﻟﻠﺨﻠﻒ ﻟﻜﻲ ﻧﺴﻤﺢ ﻟﻠﺮوﺑﻮت ﺑﺎﻟﺮﺟﻮع ﻣﺴﺎﻓﺔ ﻛﺎﻓﻴﺔ ﺣﺘﻰ ﻳﺘﻤﻜﻦ ﻣﻦ اﻻﻧﻌﻄﺎف وﻧﻀﻴﻒ wait ﺑﻌﺪ أﻣﺮ اﻻﻧﻌﻄﺎف ﻟﻠﻴﻤﻴﻦ ﻟﺘﺤﺪﻳﺪ ﻣﻘﺪار اﻻﻧﻌﻄﺎف ﺳﺘﺤﺘﺎج إﻟﻰ ﺗﻐﻴﻴﺮ اﻟﻘﻴﻤﺔ ﺣﺴﺐ ﺷﻜﻞ وﺣﺠﻢ اﻟﻄﺎوﻟﺔ اﻟﺘﻲ ﻟﺪﻳﻚ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ :

ﻟﻤﻌﻠﻮﻣﺎت أﻛﺜﺮ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺧﺮى ﻳﻤﻜﻨﻚ اﻟﻌﻮدة إﻟﻰ درس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ. ﺗﺤﺪي اﻟﺮوﺑﻮت ﻗﻢ ﺑﺒﺮﻣﺠﺔ روﺑﻮت ﻳﺘﻔﺎدى اﻟﺴﻘﻮط ﻣﻦ اﻟﻄﺎوﻟﺔ وﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﻳﺘﻔﺎدى اﻻﺻﻄﺪام ﺑﺄي ﺣﺎﺟﺰ ﻋﻠﻰ اﻟﻄﺎوﻟﺔ. ﻳﻤﻜﻨﻚ ﻣﺮاﺟﻌﺔ ﻣﺸﺮوع روﺑﻮت ﺗﺘﺒﻊ اﻟﻜﺎﺋﻨﺎت ﻟﻤﻌﺮﻓﺔ ﻛﻴﻔﻴﺔ اﺳﺘﺨﺪام ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﻟﺘﻔﺎدي اﻟﺤﻮاﺟﺰ. ﺗﺸﻐﻴـــﻞ اﻟﺮاﺳـــﺒﻴﺮي ﺑﺎﻟﺒﻄﺎرﻳﺎت ﺑـــﺎي ﻓﻲ ﻫـﺬا اﻟـﺪرس ﺳـﻨﺘﻌﻠﻢ ﻛﻴﻔﻴـﺔ ﺗﺸﻐﻴـﻞ اﻟﺮاﺳـﺒﻴﺮي ﺑـﺎي ﻋـﻦ ﻃﺮﻳـﻖ اﻟﺒﻄﺎرﻳﺎت. ﺣﻴﺚ أن ذﻟﻚ ﻣﻦ اﻟﻄﺮق اﻟﻤﻔﻴﺪة ﻟﻜﻲ ﺗﺠﻌﻞ اﻟﺮاﺳﺒﻴﺮي ﺑﺎي ﺧﺎﺻﺘﻚ ﺗﻌﻤﻞ ﺑﺪون اﻟﺘﻮﺻﻴﻞ ﺑﻤﺼﺪر ﻃﺎﻗﺔ ﺛﺎﺑﺖ.

اﻟﻤﻜﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ راﺳﺒﺮي ﺑﺎي

DC-DC Converter x AA 4 ﺣﺎﻣﻞ ﺑﻄﺎرﻳﺎت Female / Male jumper أﺳﻼك ﺗﻮﺻﻴﻞ

أﻃﺮاف ﺗﻮﺻﻴﻞ Pin Header Male ﻣﻜﻮاة ﻟﺤﺎم

ﻗﺼﺪﻳﺮ ﻟﺤﺎم ﺟﻬﺎز ﻗﻴﺎس ﻓﻮﻟﺖ وﺗﻴﺎر ﻣﺘﻌﺪد Multimeter ﺗﻮﺻﻴﻞ اﻟﺪاﺋﺮة ﻧﻘـﻮم ﺑﺘﻮﺻـﻴﻞ ﻃﺮﻓـﻰ ﺣﺎﻣـﻞ اﻟﺒﻄﺎرﻳـﺎت ﻋﻠـﻰ اﻟﻤـﺪﺧﻠﻴﻦ +IN و -IN ﻟﻤﺤﻮل اﻟﻔﻮﻟﺖ DC-DC Converter ﺑﺤﻴﺚ ﻳﺘﻢ ﺗﻮﺻﻴﻞ اﻟﺴﻠﻚ اﻷﺣﻤﺮ ﺑـ +IN و اﻟﺴﻠﻚ اﻷﺳﻮد ﺑـ -IN ﻛﺎﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ.

ﻧﻘﻮم ﺑﻠﺤﺎم ﻃﺮﻓﻰ ﺗﻮﺻﻴﻞ Pin Header Male ﻓﻰ ﻃﺮﻓﻰ اﻟﻤﺨﺮج ﻣﻦ ﻣﺤﻮل اﻟﻔﻮﻟﺖ DC-DC Converter ﻛﺎﻟﺘﺎﻟﻲ.

ﻧﻘﻮم ﺑﺘﺮﻛﻴﺐ اﻟﺒﻄﺎرﻳﺎت اﻷرﺑﻌﺔ ﻣﻦ اﻟﻤﻘﺎس AA ﻓﻰ أﻣﺎﻛﻨﻬﻢ ﺛﻢ ﺗﺸﻐﻴﻞ ﻣﻔﺘﺎح اﻟﺘﺸﻐﻴﻞ اﻟﻤﻠﺤﻖ ﺑﺤﺎﻣﻞ اﻟﺒﻄﺎرﻳﺎت.

اﻵن ﻧﻘﻮم ﺑﻀﺒﻂ اﻟﻔﻮﻟﺖ اﻟﺨﺎرج ﻣﻦ اﻟـ DC-DC Converter ﻋﻦ ﻃﺮﻳﻖ ﻗﻴﺎس ﻫﺬا اﻟﻔﻮﻟﺖ ﺑﻤﻘﺎس اﻟﻔﻮﻟﺖ واﻟﺘﻴﺎر اﻟﻤﺘﻌﺪد Multimeter وذﻟﻚ ﺑﻀﺒﻄﻪ ﻋﻠﻰ ﻗﻴﺎس اﻟﻔﻮﻟﺖ اﻟﻤﺴﺘﻤﺮ DC وﻧﻘﻴﺲ ﻃﺮﻓﻰ اﻟﻤﺨﺮج ﺛﻢ ﻧﻘﻮم ﺑﻈﺒﻂ اﻟﻤﻜﺜﻒ اﻟﻤﺘﻐﻴﺮ ﺑﺈﺳﺘﺨﺪام أى ﻣﻔﻚ رﻓﻴﻊ ﺣﺘﻰ ﻳﺼﺒﺢ اﻟﻔﻮﻟﺖ اﻟﺨﺎرج 5 ﻓﻮﻟﺖ ﻛﺎﻟﺘﺎﻟﻲ.

ﻧﻘﻮم ﺑﺎﻟﺘﻮﺻﻴﻞ ﺑﻴﻦ ﻃﺮﻓﻰ اﻟﺘﻮﺻﻴﻞ Pin Header واﻟﺮاﺳﺒﻴﺮي ﺑﺎي ﻋﻦ

ﻃﺮﻳﻖ أﺳﻼك اﻟﺘﻮﺻﻴﻞ Female / Female ﺑﺤﻴﺚ ﻳﺘﻢ ﺗﻮﺻﻴﻞ اﻟﺴﻠﻚ اﻷﺣﻤﺮ ﺑﺎﻟـ 5 ﻓﻮﻟﺖ واﻟﺴﻠﻚ اﻷﺳﻮد ﺑﺎﻟـ GND ﻛﺎﻟﺘﺎﻟﻲ. ﻣﺸﺮوع اﻻﺗﺼﺎل اﻟﻼﺳﻠﻜﻲ IR ﺗﺤﺘﻮي ﻟﻮﺣﺔ اﻟﺘﺤﻜﻢ mcore ﻋﻠﻰ ) LED ﻣ ﺮﺳﻞ (IR Emitter ﺗﻘﻮم ﺑﺈرﺳﺎل أﺷﻌﺔ ﺗﺤﺖ ﺣﻤﺮاء ﺗﺤﻤﻞ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺮاد إرﺳﺎﻟﻬﺎ

وﺗﺤﺘﻮى اﻟﻠﻮﺣﺔ ﻛﺬﻟﻚ ﻋﻠﻰ ﻋﻨﺼﺮ ﻣﺴﺘﻘﺒﻞ ﻟﻬﺬه اﻷﺷﻌﺔ ).(IR Receiver ﺳﻨﻘﻮم ﻓﻲ ﻫﺬا اﻟﺪرس ﺑﻌﻤﻞ اﺗﺼﺎل ﻻﺳﻠﻜﻲ ﺑﻴﻦ ﻟﻮﺣﺘﻴﻦ mcore ﺑﺤﻴﺚ ﻳﻘﻮم اﻟﺮوﺑﻮت اﻷول ﺑﺎﻟﺘﻮﻗﻒ ﻋﻨﺪ اﻟﺤﻮاﺟﺰ وإرﺳﺎل أﻣﺮ إﻟﻰ اﻟﺮوﺑﻮت اﻵﺧﺮ ﺑﺎﻟﺘﻮﻗﻒ أﻳﻀ ﺎ. اﻷدوات اﻟﻤﻄﻠﻮﺑﺔ :

) mbot Kit ﻋﺪد (2 اﻻﺗﺼﺎل ﻋﺒﺮ اﻷﺷﻌﺔ ﺗﺤﺖ اﻟﺤﻤﺮاء IR Communication ﻳﻌﺘﺒﺮ اﻻﺗﺼﺎل ﻋﺒﺮ اﻷﺷﻌﺔ ﺗﺤﺖ اﻟﺤﻤﺮاء ﻣﻦ اﻟﺘﻘﻨﻴﺎت اﻟﺸﺎﺋﻌﺔ ﻟﻠﺘﻮاﺻﻞ ﺑﻴﻦ اﻷﺟﻬﺰة ﻣﺜﻞ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ اﻟﺮﻳﻤﻮت ﻛﻮﻧﺘﺮول ﻟﻠﺘﺤﻜﻢ ﺑﻘﻨﻮات اﻟﺘﻠﻔﺎز ﺗﺤﻤﻞ اﻷﺷﻌﺔ ﺗﺤﺖ اﻟﺤﻤﺮاء واﻟﺘﻲ ﻻ ﻳﻤﻜﻦ رؤﻳﺘﻬﺎ ﺑﺎﻟﻌﻴﻦ اﻟﻤﺠﺮدة اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺮاد إرﺳﺎﻟﻬﺎ اﻟﻤﺴﺘﻘﺒﻞ.

ﺗﺤﺘﻮي ﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ ﻟﺮوﺑﻮت mbot ﻋﻠﻰ أﻣﺮﻳﻦ ﻣﺘﻌﻠﻘﻴﻦ ﺑﺎﻻﺗﺼﺎل اﻟﻼﺳﻠﻜﻲ اﻟﺮوﺑﻮت اﻟﻤ ﺮﺳﻞ ﻳﺘﻢ ﺗﻌﻴﻴﻦ أﺣﺪ اﻟﺮوﺑﻮﺗﺎت ﻛﻤ ﺮﺳﻞ وﻛﺘﺎﺑﺔ اﻟﺮﺳﺎﻟﺔ داﺧﻞ اﻷﻣﺮ اﻟﺒﺮﻣﺠﻲ send mbot s message ﻳﻜﻔﻲ أن ﺗﺤﺘﻮي اﻟﺮﺳﺎﻟﺔ ﻋﻠﻰ أﺣﺪ اﻷﺣﺮف وﻳﺠﺐ أن ﺗﻜﻮن ﻗﻴﻤﺔ ﺛﺎﺑﺘﺔ

ﺣﻴﺚ ﻻ ﻳﻤﻜﻦ ﻟﻠﺮوﺑﻮت إرﺳﺎل ﻗﻴﻤﺔ ﻣﺘﻐﻴﺮة )ﻣﺜﻞ ﻗﺮاءة ﻣﺴﺘﺸﻌﺮ( ﻛﻤﺎ ﻻ ﻳﻤﻜﻦ ﻟﻠﺮوﺑﻮت اﻟﻤﺴﺘﻘﺒﻞ اﺳﺘﺨﺪام اﻟﻘﻴﻢ اﻟﻤﺘﻐﻴﺮة ﻵداء وﻇﺎﺋﻒ أﺧﺮى ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮت اﻷول ﻟﺘﻔﺎدي اﻟﺤﻮاﺟﺰ ﺑﺤﻴﺚ ﻋﻨﺪﻣﺎ ﻳﻘﺘﺮب ﻣﻦ ﺣﺎﺟﺰ ﻣﺎ ﻳﺘﻮﻗﻒ وﻳﺮﺳﻞ رﺳﺎﻟﺔ إﻟﻰ اﻟﺮوﺑﻮت اﻵﺧﺮ ﺑﺎﻟﺘﻮﻗﻒ ﻛﺬﻟﻚ. ﺑﺪاﻳﺔ ﻧﻘﻮم ﺑﻮﺿﻊ أﻣﺮ اﻟﺤﺮﻛﺔ ﻟﻸﻣﺎم داﺧﻞ ﺣﻠﻘﺔ LED ﻋﻠﻰ وﺿﻊ اﻹﻃﻔﺎء ﺳﻴﺘﺤﺮك اﻟﺮوﺑﻮت ﻟﻸﻣﺎم ﻓﻮر ﺗﺸﻐﻴﻠﻪ forever وإﺿﺎءة ﻧﻘﻮم ﺑﺈﻧﺸﺎء ﻣﺘﻐﻴﺮ Distance وﺗﻌﻴﻴﻨﻪ ﻟﻘﺆاءة ﻣﺴﺘﺸﻌﺮ اﻟﻤﻮﺟﺎت ﻓﻮق اﻟﺼﻮﺗﻴﺔ ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ ﺷﺮط ) (if then ﻟﺘﺤﺪﻳﺪ اﻟﻤﺴﺎﻓﺔ اﻟﺘﻲ ﻳﺘﻮﻗﻒ ﻋﻨﺪﻫﺎ اﻟﺮوﺑﻮت إذا واﺟﻪ أﺣﺪ اﻟﺤﻮاﺟﺰ إذا ﻛﺎﻧﺖ اﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ اﻟﺮوﺑﻮت واﻟﺤﺎﺟﺰ أﻗﻞ ﻣﻦ 20 ﻳﺘﻮﻗﻒ اﻟﺮوﺑﻮت )اﻟﺴﺮﻋﺔ ﺻﻔﺮ( وﻳﺮﺳﻞ رﺳﺎﻟﺔ ﻋﺒﺮ اﻷﺷﻌﺔ ﺗﺤﺖ اﻟﺤﻤﺮاء IR وﻳﻌﻄﻲ إﺿﺎءة LED ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ ﻟﺘﺘﻢ ﻣﻌﺮﻓﺔ أن اﻟﺮوﺑﻮت أرﺳﻞ رﺳﺎﻟﺔ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻠﺮوﺑﻮت اﻟﻤ ﺮﺳﻞ

ﻳﺠﺐ وﺿﻊ اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻻﺗﺼﺎل اﻟﻼﺳﻠﻜﻲ داﺧﻞ loop ﻟﻴﺘﻢ إرﺳﺎل واﺳﺘﻘﺒﺎل اﻟﺮﺳﺎﺋﻞ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﻣﻼﺣﻈﺔ : إذا ﻗﻤﺖ ﺑﻮﺿﻊ اﻷﻣﺮ اﻟﺒﺮﻣﺠﻲ ﻟﻺرﺳﺎل داﺧﻞ ﺣﻠﻘﺔ Repeat ﻹرﺳﺎل رﺳﺎﺋﻞ ﻣﺘﺘﺎﻟﻴﺔ ﺳﻴﺘﻮﻗﻒ اﻟﺮوﺑﻮت اﻵﺧﺮ ﻋﻦ اﻻﺳﺘﺠﺎﺑﺔ ﺑﻌﺪ ﻓﺘﺮة ﻟﺘﻔﺎدي ذﻟﻚ ﻗﻢ ﺑﺈﺿﺎﻓﺔ ﺗﺄﺧﻴﺮ زﻣﻨﻲ ﺑﻴﻦ إرﺳﺎل اﻟﺮﺳﺎﺋﻞ ﺑﺎﺳﺘﺨﺪام اﻷﻣﺮ wait اﻟﺮوﺑﻮت اﻟﻤﺴﺘﻘﺒﻞ ﺗﺘﻐﻴﺮ وﻇﻴﻔﺔ اﻟﺮوﺑﻮت اﻟﻤ ﺴﺘﻘﺒﻞ ﻋﻨﺪ اﺳﺘﻼم اﻟﺮﺳﺎﻟﺔ اﻟﺘﻲ ﻳﺮﺳﻠﻬﺎ اﻟﺮوﺑﻮت اﻷول ﻳﺠﺐ ﻛﺘﺎﺑﺔ اﻟﺮﺳﺎﻟﺔ داﺧﻞ ﻋﻼﻣﺘﻲ ﺗﻨﺼﻴﺺ double quote ﻟﻴﻌﻤﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺸﻜﻞ ﺻﺤﻴﺢ

ﺳﻨﺴﺘﺨﺪم اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﻴﺔ if وﻧﻀﻊ ﺑﺪاﺧﻠﻬﺎ ﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ اﻟﺘﻲ ﻳﻘﻮم ﺑﻬﺎ اﻟﺮوﺑﻮت اﻟﻤ ﺴﺘﻘﺒﻞ ﻋﻨﺪ اﺳﺘﻼم اﻟﺮﺳﺎﻟﺔ أي إذا اﺳﺘﻠﻢ اﻟﺮوﺑﻮت اﻟﺮﺳﺎﻟﺔ ﻣﻦ اﻟﺮوﺑﻮت اﻷول )اﻟﻤ ﺮﺳﻞ( ﺳﻴﺘﻢ ﺗﻨﻔﻴﺬ اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻟﻤﺒﻨﻴﺔ ﻋﻠﻰ ﻫﺬه اﻟﺮﺳﺎﻟﺔ ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﻘﻮم ﺑﺒﺮﻣﺠﺔ اﻟﺮوﺑﻮت اﻟﻤ ﺴﺘﻘﺒ ﻞ ﻋﻠﻰ أن ﻳﺘﺤﺮك ﻟﻸﻣﺎم إﻟﻰ أن ﻳﺴﺘﻘﺒﻞ رﺳﺎﻟﺔ ﻣﻦ اﻟﺮوﺑﻮت اﻷول ﻓﻴﺘﻮﻗﻒ وﻳﻌﻄﻲ وﻣﻴﺾ ﺿﻮﺋﻲ أﺧﻀﺮ ﺑﺮﻣﺠﺔ اﻟﺮوﺑﻮت اﻟﻤﺴﺘﻘﺒ ﻞ ﺑﺪاﻳﺔ ﻧﻘﻮم ﺑﻮﺿﻊ أﻣﺮ اﻟﺤﺮﻛﺔ ﻟﻸﻣﺎم داﺧﻞ ﺣﻠﻘﺔ forever وإﺿﺎءة LED ﻋﻠﻰ وﺿﻊ اﻹﻃﻔﺎء ﺳﻴﺘﺤﺮك اﻟﺮوﺑﻮت ﻟﻸﻣﺎم ﻓﻮر ﺗﺸﻐﻴﻠﻪ ﻧﻘﻮم ﺑﺈﺿﺎﻓﺔ ﺷﺮط if else ﺑﺤﻴﺚ إذا اﺳﺘﻘﺒﻞ اﻟﺮوﺑﻮت اﻟﺮﺳﺎﻟﺔ ﻣﻦ اﻟﺮوﺑﻮت اﻷول ) (a ﻳﻘﻮم ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ اﻟﺘﺎﻟﻴﺔ ﻓﻲ اﻟﻜﻮد وﻫﻲ اﻟﺘﻮﻗﻒ ﻋﻦ اﻟﺤﺮﻛﺔ ﺑﺎﺳﺘﺨﺪام أﻣﺮ اﻟﺤﺮﻛﺔ واﺧﺘﻴﺎر اﻟﺴﺮﻋﺔ 0 ﻹﻋﻄﺎء وﻣﻴﺾ ﺿﻮﺋﻲ أﺧﻀﺮ ﻧﻘﻮم ﺑﻮﺿﻊ أﻣﺮ إﺿﺎءة LED واﺧﺘﻴﺎرﻗﻴﻤﺔ ﻣﻌﻴﻨﺔ ﻟﻠﻮن اﻷﺧﻀﺮ ﺛﻢ وﺿﻊ ﻧﻔﺲ اﻷﻣﺮ ﻋﻠﻰ وﺿﻊ اﻹﻃﻔﺎء )ﺟﻤﻴﻊ اﻷﻟﻮان ﻋﻠﻰ اﻟﻘﻴﻤﺔ (0 ووﺿﻊ أﻣﺮ اﻟﺘﺄﺧﻴﺮ اﻟﺰﻣﻨﻲ wait ﺑﻴﻨﻬﻢ ﻟﻨﺘﻤﻜﻦ ﻣﻦ ﻣﻼﺣﻈﺔ اﻟﻮﻣﻴﺾ

ﺑﻌﺪ اﻷﻣﺮ else أي إذا ﻟﻢ ﻳﺴﺘﻘﺒﻞ اﻟﺮوﺑﻮت رﺳﺎﻟﺔ ﻣﻦ اﻟﺮوﺑﻮت اﻷول ﻳﻌﺎود اﻟﺤﺮﻛﺔ وﻳﻄﻔﺊ إﺿﺎءة LED اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻠﺮوﺑﻮت اﻟﻤﺴﺘﻘﺒ ﻞ

ﻟﻤﻌﻠﻮﻣﺎت أﻛﺜﺮ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ اﻷﺧﺮى اﻟﺘﻲ ﺗﻢ اﺳﺘﺨﺪاﻣﻬﺎ ﻓﻲ اﻟﻜﻮد راﺟﻊ درس ﺟﻮﻟﺔ ﺣﻮل اﻷواﻣﺮ اﻟﺒﺮﻣﺠﻴﺔ. اﻟﺘﺤﻜــﻢ ﺑﻤﺤــﺮك DC ﺑﺎﺳــﺘﺨﺪام اﻟﻤﺮﺣﻞ ) (Relay ﻓﻲ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﺘﻌﻠﻢ ﻓﻜﺮة ﻋﻤﻞ اﻟﻤﺮﺣﻞ وﻛﻴﻔﻴﺔ اﺳﺘﻌﻤﺎﻟﻪ ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﺗﺸﻐﻴﻞ و اﻳﻘﺎف ﻣﺤﺮك اﻟﺘﻴﺎر اﻟﻤﺴﺘﻤﺮ واﻟﺘﺤﻜﻢ أﻳﻀﺎ ﻓﻲ ﻋﻜﺲ اﺗﺠﺎه ﺣﺮﻛﺘﻪ. ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻪ ﻟﻠﺘﺤﻜﻢ ﻓﻲ اﺗﺠﺎه اﻟﺮوﺑﻮت ﻣﺜﻞ روﺑﻮت ﻣﺘﺘﺒﻊ اﻟﻤﺴﺎر. اﻟﻤﻜﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ

Arduino Uno Relay Module 5v DC Motor

DC Power Supply Breadboard

Wires اﻟﻤﺮﺣﻞ Relay اﻟﻤﺮﺣﻞ ﻫﻮ ﻋﺒﺎرة ﻋﻦ ﻣﻔﺘﺎح ﻛﻬﺮوﻣﻴﻜﺎﻧﻴﻜﻲ ﺑﻤﻌﻨﻰ اﻧﻪ ﻣﻔﺘﺎح ﻛﺄي ﻣﻔﺘﺎح ﻣﻴﻜﺎﻧﻴﻜﻰ ﻳﺘﻜﻮن ﻣﻦ ﻧﻘﺎط ﺗﻼﻣﺲ إﻻ أﻧﻪ ﻳﺤﺘﻮي ﻋﻠﻰ ﻣﻠﻒ ﻛﻬﺮﺑﻲ. ﻓﺎﺋﺪة ﻫﺬا اﻟﻤﻠﻒ ﻫﻮ اﻟﺘﺤﻜﻢ ﻓﻲ ﺗﻮﺻﻴﻞ وﻓﺼﻞ ﻧﻘﺎط اﻟﺘﻼﻣﺲ ﻟﻠﺘﺤﻜﻢ ﻓﻲ ﻓﺼﻞ وﺗﺸﻐﻴﻞ اﻟﻤﺮﺣﻞ. ﻣﻜﻮﻧﺎت اﻟﻤﺮﺣﻞ.1 ﻣﻠﻒ ﻛﻬﺮﺑﻲ ﻧﻘﺎط ﺗﻮﺻﻴﻞ ﻣﻐﻠﻘﺔ و ﻣﻔﺘﻮﺣﺔ.2

ﻟﻤﺎذا ﻳﺘﻢ اﺳﺘﺨﺪام اﻟﻤﺮﺣﻞ ﻻ ﻳﻤﻜﻨﻨﺎ ﺗﻮﺻﻴﻞ ﻣﺤﺮك ﺗﻴﺎر ﻣﺴﺘﻤﺮ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮة ﻣﻊ اﻻردوﻳﻨﻮ ﻷن اﻟﻤﺤﺮك ﻳﺤﺘﺎج اﻟﻰ ﺗﻴﺎر ﻋﺎﻟﻲ ﻻ ﻳﺴﺘﻄﻴﻊ اﻻردوﻳﻨﻮ اﻋﻄﺎءه ﻟﻪ. ﻟﺬﻟﻚ ﻧﺴﺘﺨﺪم اﻟﻤﺮﺣﻞ ﻛﻮاﺟﻬﺔ ﺑﻴﻦ اﻻردوﻳﻨﻮ اﻟﺬي ﻳﻌﻤﻞ ﺑﺘﻴﺎرات ﺻﻐﻴﺮة وﺑﻴﻦ اﻟﻤﺤﺮك اﻟﺬي ﻳﺤﺘﺎج اﻟﻰ ﺗﻴﺎرات ﻋﺎﻟﻴﺔ. ﻣﺤﺮك اﻟﺘﻴﺎر اﻟﻤﺴﺘﻤﺮ DC Motor ﻫﻮ ﻋﺒﺎرة ﻋﻦ ﺟﻬﺎز ﻳﻘﻮم ﺑﺘﺤﻮﻳﻞ اﻟﻄﺎﻗﺔ ﻣﻦ ﺻﻮرة ﻛﻬﺮﺑﺎﺋﻴﺔ اﻟﻰ ﺻﻮرة ﻣﻴﻜﺎﻧﻴﻜﻴﺔ ﺑﻤﻌﻨﻰ اﻧﻨﺎ ﻧﻘﻮم ﺑﺘﻮﺻﻴﻞ اﻟﺘﻴﺎر اﻟﻜﻬﺮﺑﻲ اﻟﻴﻪ ﻟﻨﺤﺼﻞ ﻋﻠﻰ ﻋﺰم دوراﻧﻲ. ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﺔ ﻣﻊ اي ﺟﺴﻢ ﻟﻴﺘﻢ ﺗﺤﺮﻳﻜﻪ. ﻣﺜﻼ ﻓﻲ اﻟﺮوﺑﻮت ﻧﺤﺘﺎج اﻟﻰ ﻣﺤﺮك ﺗﻴﺎر ﻣﺴﺘﻤﺮ ﻛﻲ ﻳﺘﻢ ﺗﺤﺮﻳﻚ اﻟﺮوﺑﻮت او اﺳﺘﺨﺪاﻣﻪ ﻓﻲ ﺻﻨﻊ اﻟﻤﺮاوح اﻟﻜﻬﺮﺑﻴﺔ او ﺣﺘﻰ ﺻﻨﻊ ﻣﻀﺨﺎت اﻟﻤﻴﺎه.

ﺗﻮﺻﻴﻞ اﻟﺪارة : ﻗﻢ ﺑﺘﻮﺻﻴﻞ اﻟﺪارة ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة أدﻧﺎه :

اﻟﺘﻮﺻﻴﻞ : اﻷردوﻳﻨﻮ اﻟﻤﺮﺣﻞ ﻃﺮﻓﻰ اﻟﻤﺤﺮك ﻃﺮﻓﻰ COM ﻃﺮف اﻟﺒﻄﺎرﻳﺔ اﻟﻤﻮﺟﺐ ﻃﺮﻓﻰ NO ﻃﺮف اﻟﺒﻄﺎرﻳﺔ اﻟﺴﺎﻟﺐ ﻃﺮﻓﻰ NC Vcc Gnd Vcc GND ﻣﻨﻔﺬ 12 IN1 ﻣﻨﻔﺬ 13 IN2 ﻛﻴﻔﻴﺔ ﻋﻤﻞ اﻟﺪارة ﺑﺎﻟﻨﺴﺒﺔ ﻟﻼردوﻳﻨﻮ ﻳﺘﻢ اﻟﺘﺤﻜﻢ ﻋﻦ ﻃﺮﻳﻖ اﻟﻤﺨﺎرج اﻟﺮﻗﻤﻴﺔ. ﺑﻤﻌﻨﻰ اﻧﻨﺎ ﺳﻨﻘﻮم ﺑﺘﻮﺻﻴﻞ ﻃﺮﻓﻰ اﻟﻤﺮﺣﻞ ﻋﻠﻰ ﻣﺨﺎرج ﻣﻦ اﻟﻨﻮع اﻟﺮﻗﻤﻲ ﻓﻲ اﻻردوﻳﻨﻮ. ﺳﻨﻘﻮم ﺑﺈﻋﻄﺎء ﻗﻴﻤﺔ HIGH ﻋﻠﻰ اﻟﻤﺨﺮج اﻷول وﻗﻴﻤﺔ LOW ﻋﻠﻰ اﻟﻤﺨﺮج اﻟﺜﺎﻧﻲ ﻟﺠﻌﻞ اﻟﻤﺤﺮك ﻳﺪور ﻣﻊ اﺗﺠﺎه ﻋﻘﺎرب اﻟﺴﺎﻋﺔ. وﻳﻘﻮم ﺑﺎﻟﺪوران ﻋﻜﺲ ﻋﻘﺎرب اﻟﺴﺎﻋﺔ ﻋﻨﺪ ﻋﻜﺲ ﻫﺬه اﻟﻌﻤﻠﻴﺔ. وﻟﺠﻌﻠﻪ ﻳﺘﻮﻗﻒ ﺳﻴﺘﻢ إﻋﻄﺎء ﻛﻼ اﻟﻄﺮﻓﻴﻦ ﻗﻴﻤﺔ. LOW

اﻟﻜﻮد اﻟﺒﺮﻣﺠﻰ : ﻳﺪور اﻟﻤﺤﺮك ﻓﻲ اﻻﺗﺠﺎه اﻻول ﻟﻤﺪة 3 ﺛﻮان ﺛﻢ ﻳﺘﻮﻗﻒ ﻣﺪة 3 ﺛﻮان و ﻳﺪور ﻓﻰ اﻻﺗﺠﺎه اﻟﻤﻀﺎد ﻟﻤﺪه 3 ﺛﻮان ﺛﻢ ﻳﺘﻮﻗﻒ ﻣﺪة 3 ﺛﻮان اﺧﺮى وﻫﻜﺬا ﺣﺘﻰ ﻳﺘﻢ ﻓﺼﻞ اﻟﺘﻴﺎر اﻟﻜﻬﺮﺑﺎﺋﻲ ] [/crayon-5d14293ac73a4866742984 ﺷﺮح اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﻀﺒﻂ اﻟﻤﺨﺎرج اﻟﻤﻮﺻﻮﻟﺔ ﻋﻠﻰ اﻟﺪارة اﻟﻤﺘﻜﺎﻣﻠﺔ IN1 & IN2 ﻛﻤﺨﺮج : ] [/crayon-5d14293ac73aa909665301 ﻓﻲ اﻟﺒﺪاﻳﺔ ﻗﻤﻨﺎ ﺑﺎﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ )( motor_forward. ﺗﻘﻮم ﻫﺬه اﻟﺪاﻟﺔ ﺑﺘﺸﻐﻴﻞ اﻟﻤﺤﺮك ﻣﻊ اﺗﺠﺎه ﻋﻘﺎرب اﻟﺴﺎﻋﺔ ﻟﻤﺪة 3 ﺛﻮان ). ( (delay(3000 ﺛﻢ ﻧﻘﻮم ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ )( motor_stop ﻹﻳﻘﺎف اﻟﻤﺤﺮك ﻋﻦ اﻟﻌﻤﻞ ﻟﻤﺪة 3 ﺛﻮان. ﺛﻢ ﻳﺘﻢ ﻋﻜﺲ اﺗﺠﺎه ﺣﺮﻛﺔ اﻟﻤﺤﺮك ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ )( motor_reverse ﻟﻤﺪة 3 ﺛﻮان. وﻣﻦ ﺛﻢ ﻳﻌﻮد ﻟﻴﻜﺮر ﻧﻔﺲ ﻫﺬه اﻟﻤﻬﻤﺔ ﻣﻦ اﻟﺒﺪاﻳﺔ ﻣﺮة أﺧﺮى. ] [/crayon-5d14293ac73ac104808577 اﻟﺪﻟﺔ )( motor_forward ﺗﻘﻮم ﺑﺘﺤﺮﻳﻚ اﻟﻤﺤﺮك ﺑﺈﺗﺠﺎه ﻋﻘﺎرب اﻟﺴﺎﻋﺔ. ﺗﺘﻢ ﻫﺬه اﻟﻌﻤﻠﻴﺔ ﻋﻦ ﻃﺮﻳﻖ ﺟﻌﻞ ﻗﻴﻤﺔ IN1 ﻟﻠﻤﺮﺣﻞ HIGH واﻟﻄﺮف اﻵﺧﺮ. LOW ] [/crayon-5d14293ac73ae030284592 ﺗﻌﻤﻞ ﻫﺬه اﻟﺪاﻟﺔ )( motor_reverse ﺑﺸﻜﻞ ﻣﺸﺎﺑﻪ ﻟﻠﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ إﻻ أﻧﻬﺎ ﺗﻌﻜﺲ اﺗﺠﺎه دوران اﻟﻤﺤﺮك. ﺗﺘﻢ ﻫﺬه اﻟﻌﻤﻠﻴﺔ ﻋﻦ ﻃﺮﻳﻖ ﺟﻌﻞ ﻗﻴﻤﺔ IN2 ﻟﻠﻤﺮﺣﻞ HIGH و IN1 ﻗﻴﻤﺔ. LOW ] [/crayon-5d14293ac73b0631557174 داﻟﺔ )( motor_stop ﺗﻘﻮم ﺑﺈﻳﻘﺎف اﻟﻤﺤﺮك ﺗﻤﺎﻣﺎ ﻋﻦ اﻟﺤﺮﻛﺔ ﻋﻦ ﻃﺮﻳﻖ ﺟﻌﻞ ﻗﻴﻤﺔ ﻛﻼ اﻟﻄﺮﻓﻴﻦ LOW ﻓﻼ ﻳﺼﻞ اﻟﺘﻴﺎر ﻟﻠﻤﺤﺮك ﻓﻴﺘﻮﻗﻒ. ] [/crayon-5d14293ac73b2192014599