


Arduino IDE كيفية برمجة اردوينو برو ميكرو بواسطة برنامج

لوحة اردوينو برو ميكرو لوحة تتميز بصغر الحجم والسعر الرخيص، بالاضافة ان بها عدد قليل من المنافذ سواء منافذ رقمية او تناظرية مما يجعلها مناسبة للمشاريع الصغيره والبسيطة التى لا تحتاج الى كثير من المنافذ.
الفيديو الخاص بالمشروع
مقدمة
في هذا الدرس، سوف نتعلم كيفية برمجة لوحة اردوينو برو ميكرو باستخدام برنامج Arduino IDE. وسنقوم برفع كود برمجي بسيط لتشغيل وإطفاء مصباحان LED موجودان على لوحة اردوينو برو ميكرو لفترات زمنية ثابتة ومتتابعة.

الحصول علي القطع
: يمكنك شراء لوحة اردوينو برو ميكرو من متجر ڤولتات
Arduino Pro Micro
الشرح
فى البداية، قم بتشغيل برنامج Arduino Ide، وقم بالضغط على خانة Tools فى اعلى واجهة البرنامج ومن ثم اضغط على Board واختر من القائمة التى ستظهر Arduino AVR Boards ومن القائمة التى ستظهر اختر اللوحة او الاصدار الذى تريد برمجته وفى حالتنا هذه سوف نختار Arduino Micro :

ومن ثم قم بتوصيل لوحة اردوينو برو ميكرو بالحاسوب وقم بالضغط على خانة Tools فى اعلى واجهة البرنامج ومن ثم اضغط على Port واختر من القائمة التى ستظهر منفذ ال COM المتصل به لوحة اردوينو برو ميكرو ويختلف رقم منفذ ال COM هذا باختلاف منفذ الUSB المتصل به اللوحة فى الحاسوب، بالنسبة لى قمت بتوصيل لوحة اردوينو برو ميكرو فى منفذ COM8 ولذلك سوف اختار هذا المنفذ :

يمكنك الان رفع اى كود برمجى تريده على لوحة اردوينو برو ميكرو، سنقوم برفع كود برمجي بسيط لتشغيل وإطفاء مصباحان LED موجودان على لوحة اردوينو برو ميكرو لفترات زمنية ثابتة ومتتابعة، يمكنك تحميل هذا الكود من جزء المصادر فى نهاية الدرس.

بعد رفع الكود البرمجى ستجد ان المصباحان يتبادلان الاضاءة لفترات زمنية ثابتة كما فى ال GIF الذى فى الاسفل :

ملحوظة :
يمكنك تطبيق نفس الخطوات السابقة على لوحة اردوينو ميكرو، حيث ان اردوينو برو ميكرو يعتمد على نفس الميكروكنترولر الخاص باردوينو ميكرو ولكن بحجم لوحة اصغر وعدد منافذ طاقة اقل.
مشاريع ذات صلة
Comments

How to program Arduino Pro Micro using Arduino IDE

Arduino Pro Micro is a small size and cheap price board, it has a limited number of pins, both digital and analog, which makes it suitable for small and simple projects that don’t require many pins.
Project video
Oveview
In this lesson, we will learn how to program the Arduino Pro Micro board using the Arduino IDE software. We will upload a simple code to turn on and off two LED lights that exist on the Arduino Pro Micro board at fixed and consecutive time intervals.

Getting the items
You can buy the Arduino Pro Micro board from Voltaat Store :
Arduino Pro Micro
steps
First, run the Arduino Ide program, click on the “Tools” tab at the top of the screen, then click on “Board” and choose “Arduino AVR Boards” from the list that will appear, and from the list that will appear choose the board or version that you want to program. In our case, we will choose “Arduino Micro”:


You can now upload any code you want to the Arduino Pro Micro board. We will upload a simple code to turn on and off two LED lights on the Arduino Pro Micro board for fixed periods of time. You can download this code from the Resources section at the end of this lesson.

After uploading the code, you will notice that the two LEDs alternate in lighting up for fixed periods of time, as shown in the GIF below.

note:
You can apply the same previous steps to program the Arduino Micro board, as the Arduino Pro Micro is based on the same microcontroller as the Arduino Micro, but with a smaller board size and fewer power pins.
Related Tutorials
Comments

كيف تختار نوع لوحة الاردوينو المناسبة لمشروعك

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

الحصول علي القطع
: يمكنك شراء لوحات الاردوينو المختلفة التى سيتم ذكرها فى هذا الدرس من متجر ڤولتات
Arduino Uno R3 (Voltaat Version)
Arduino Mega2560 R3 (Voltaat Version)
Arduino Nano
Arduino Micro Pro
LilyPad Arduino 328 Main Board
الشرح
قبل البدء فى شرح امكانيات ومميزات كل لوحة يجب علينا اولا ان نعرف بعض المفاهيم الاساسية ونعرف على ماذا تدل، مما يساعدنا فى فهم المقارنات واختيار اللوحة الافضل :
• تردد الكريستالة : وهى ببساطة تعنى مدى سرعة تنفيذ الأوامر، فاذا كان تردد الكريستالة 16 ميجا هرتز كما فى الاردوينو فانه يستطيع تنفيذ 16 مليون امر فى الثانية
• ذاكرة الفلاش : هى ذاكرة دائمة وهى ببساطة تتحكم فى حجم الكود البرمجى الذى يمكنك رفعه على الاردوينو
• الذاكرة المؤقتة : هى ذاكرة الوصول العشوائى وهى التى تحتفظ بالبيانات والمعلومات المدخلة اثناء عمل الاردوينو وتفقد البيانات المخزنة بها عند قطع التيار الكهربى عن الاردوينو
• عدد المنافذ الرقمية : هو عدد المنافذ القادرة على اخراج او استقبال قيم 1 او 0 فقط على اطرافها
• عدد المنافذ التناظرية : هو عدد المنافذ القادرة على استقبال اشارة تناظرية ذات قيم متغيرة
• عدد منافذ PWM : هى منافذ يمكنها توليد اشارة مربعة بقيم مختلفة لزمن النبضة العالية مما يمكننا من التحكم فى سرعة المحركات او شدة اضاءة المصابيح
والان بعد فهم هذه المصطلحات الاساسية لنبدء فى ذكر مميزات كل لوحة :
نبدأ بلوحة اردوينو اونو، هى اشهر لوحات الاردوينو حاليا، فى الغالب لوحة اردوينو اونو هى اللوحة المناسبة لمشروعك، حيث انها لوحة متوسطة الحجم واكثر ما يميزها هو توفر الكثير من ال shields التى يمكن تركيبها على اللوحة والتى تسهل توصيل وبناء العديد من المشاريع.

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

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

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

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

مشاريع ذات صلة
Comments

تعلم كيفية استخدام لوحة التجارب فى المشاريع الالكترونية

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

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

بالنسبة لمنافذ التوصيل التى نضع عليها المكونات او القطع الالكترونية فهى مجموعتان من الاعمدة كل عمود عبارة عن عدة نقاط متصلة معا وبالتالى لا نحتاج لتوصيل اسلاك بين القطع المتصلة على نفس العمود ولكن الاعمدة منفصلة عن بعضها ولا يصل التيار الكهربى من عمود الى العمود المجاور له الا بتوصيل سلك بينهما.

سون نقوم الان بتوصيل دائرة الكترونية بسيطة فى لوحة التجارب لكى تفهم كيفية استخدامها بشكل افضل، بالنسبة لمصدرالطاقة فسوف نستخدم مصادر الطاقة الخاصة بالاردوينو وسنستخدم مصباح led لانارتة بواسطة منافذ الطاقة الخاصة بالاردوينو، قم بتوصيل الدائرة كما يلى :
التوصيلات من الاردوينو :
• منفذ 5 فولت بالاردوينو ← خط المنافذ الموجبة بلوحة التجارب
• منفذ الجراوند بالاردوينو ← المنافذ السالبة بلوحة التجارب
التوصيلات من مصباح الLED :
• المنفذ الموجب للمصباح ← المنافذ الموجبة بلوحة التجارب
• المنفذ السالب للمصباح ← مقاومة 220 اوم ← المنافذ السالبة بلوحة التجارب
بعد توصيلها سوف تجد المصباح ينير كما فى الصورة التى فى الاسفل :

اذا وصلنا مصباح اخر بنفس العمودان الذى وصلنا فيه المصباح الاول فسيضئ ايضا وذلك لانه كما ذكرنا من قبل جميع منافذ كل عمود متصله ببعضهما البعض.

ولكن اذا قمنا بتوصيل اطراف المصباح بنفس منافذ العمودان ولكن فى المجموعة السفلى فسنجد ان المصباح لا يضئ وذلك لانه كما ذكرنا من قبل ان اعمدة المجموعه العليا ليست متصلة باعمدة المجموعه السفلى.

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

ولكن قم بتوصيلها هكذا بحيث يكون كل جهه من اطراف الايسى متصله باعمدة مجموعة مختلفه.

هناك لوحات تجارب صغيره يمكنك استخدامها مع المشاريع الصغيرة مثل لوحة التجارب هذه .

وهناك لوحات تجارب اصغر من ذلك للمشاريع فائقة الصغر.

اذا كانت لوحة التجارب الخاصة بك حجمها لا يكفى للمشروع الذى تنفذه يمكنك تركيب لوحة تجارب اخرى بها لزيادة مساحة العمل ويمكنك تركيب اى عدد تحتاجه من لوحات التجارب ليصبحا لوحة تجارب كبيره معا .

مشاريع ذات صلة
Comments

Arduino IDE تعلم برمجة راسبيرى باى بيكو بواسطة برنامج

الراسبيري باي بيكو هو لوحة تحكم صغيرة وقوية تدعم برمجتها بواسطة لغة ميكروبايثون. إذا لم تكن مهتمًا ببرمجة المتحكمات باستخدام لغة البرمجة ميكروبايثون وترغب في استخدام الراسبيري باي بيكو في بعض المشاريع، فلا تقلق، حيث يمكنك الآن برمجة الراسبيري باي بيكو باستخدام برنامج Arduino IDE!
الفيديو الخاص بالمشروع
مقدمة
في هذا الدرس، سوف نتعلم كيفية برمجة لوحة راسبيري باي بيكو باستخدام برنامج Arduino IDE. وسنقوم برفع كود برمجي بسيط من احد الامثلة الجاهزة فى برنامج Arduino IDE لتشغيل وإطفاء مصباح LED موجود على لوحة الراسبيري باي بيكو لفترات زمنية ثابتة.

الحصول علي القطع
: يمكنك شراء لوحة راسبيرى باى بيكو من متجر ڤولتات
Raspberry Pi Pico
الشرح
فى البداية، قم بتشغيل برنامج Arduino Ide وقم بالضغط على خانة File فى اعلى واجهة البرنامج ومن ثم اضغط على preferences كما فى الصورة التى فى الاسفل :

ومن ثم ستظهر لك نافذه كما فى الصورة التى اسفل الرابط، توجه الى الى المستطيل الذى فى اسفل النافذه والذى بجانب عبارة Additional boards manager URLs وقم بالضغط عليه وانسخ الرابط التالى داخل ذلك المستطيل :

ومن ثم اضغط على زر OK :

ومن ثم قم بالضغط على خانة Tools فى اعلى واجهة البرنامج ومن ثم اضغط على Board واختر من القائمة التى ستظهر Boards Manager :

ومن ثم ستظهر لك خانة بحث على يسار الشاشة، اكتب فيها كلمة pico كما فى الصورة التى فى الاسفل :

ومن ثم ستظهر لك عدة اختيارات اختر منها Raspberry pi pico/RP2040 واضغط على زر INSTALL كما فى الصورة التى فى الاسفل :

ومن ثم انتظر بضع دقائق، وسوف تظهرعبارة Platform rp2040:rp2040@installed فى اسفل الشاشة السوداء، مما يدل على ان اللوحة قد تم اضافتها بنجاح الى برنامج Arduino IDE .

واخير، قم بالضغط على خانة Tools فى اعلى واجهة البرنامج ومن ثم اضغط على Board واختر من القائمة التى ستظهر Raspberry pi pico/RP2040 ومن القائمة التى ستظهر اختر اللوحة او الاصدار الذى تريد برمجته وفى حالتنا هذه سوف نختار Raspberry pi pico :

يمكنك الان رفع اى كود برمجى تريده على الراسبيرى باى بيكو، سنقوم برفع كود برمجي بسيط من احد الامثلة الجاهزة فى برنامج Arduino IDE لتشغيل وإطفاء مصباح LED موجود على لوحة الراسبيري باي بيكو لفترات زمنية ثابتة، للوصول الى هذا المثال ورفعه على الراسبيرى باى بيكو اضغط على اضغط على خانة File ومن القائمة اضغط على Examples ومن القائمة التى ستظهر اختر Basics ومن القائمة التى ستظهر اختر Blink كما فى الصورة التى فى الاسفل .

وبعدها قم برفع الكود على اللوحة بالضغط على السهم فى اعلى يسار البرنامج والموضح فى الصورة التى فى الاسفل، وسوف تجد ان هناك مصباح يومض على لوحة راسبيرى باى بيكو لفترات زمنية ثابتة بعد رفع الكود.

تنبيه :
قم بالضغط على زر BOOTSEl قبل توصيل كابل ال usp بلوحة راسبيرى باى بيكو لكى يعمل بشكل صحيح.
مشاريع ذات صلة
Comments

Learn how to program Raspberry Pi Pico with Arduino IDE

Raspberry Pi Pico is a small powerful microcontroller board, it supports programming in MicroPython, if you’re not interested in programming microcontrollers using MicroPython, don’t worry! You can now program Raspberry Pi Pico using the Arduino IDE.
Project video
Oveview
In this tutorial, we will learn how to program a Raspberry Pi Pico board using the Arduino IDE. We will upload a simple code example from the Arduino IDE to turn on and off an LED light on the Raspberry Pi Pico board for fixed periods of time.

Getting the items
You can buy Raspberry Pi Pico board from the Voltaat store :
Raspberry Pi Pico
steps
First, start the Arduino IDE software and click on the “File” tab at the top of the screen. Then, click on “Preferences” as shown in the image below :

And then a window will appear as shown in the image below the link. Go to the box at the bottom of the window next to the phrase “Additional boards manager URLs” and click on it. Then, copy the following link into that box:

And then press the OK button:

And then click on the “Tools” tab at the top of the screen. Then, click on “Board” and select “Boards Manager” from the menu that appears:

And then a search box will appear on the left side of the screen. Type the word “pico” in it as shown in the image below:

And then several options will appear. Choose “Raspberry Pi Pico/RP2040” from the list and click on the “INSTALL” button as shown in the image below:

And then wait for a few minutes, and you will see the message “Platform rp2040:rp2040@installed” at the bottom of the black screen, indicating that the board has been successfully added to the Arduino IDE software.

Finally, click on the “Tools” tab at the top of the screen. Then, click on “Board” and select “Raspberry Pi Pico/RP2040” from the menu that appears. From the submenu that appears, choose the specific board or version you want to program. In our case, we will select “Raspberry Pi Pico”.

You can now upload any code you want to the Raspberry Pi Pico. We will upload a simple code example from the pre-existing examples in the Arduino IDE to turn on and off an LED light on the Raspberry Pi Pico board for fixed periods of time. To access this example and upload it to the Raspberry Pi Pico, click on the “File” tab and from the menu, click on “Examples”. From the submenu that appears, choose “Basics”, and from the submenu that appears next, select “Blink” as shown in the image below:

Then upload the code on the board by pressing the arrow at the top left of the program shown in the image below, and you will find that there is a flashing light on the Raspberry Pi Pico board for fixed periods of time after uploading the code.

Alert:
Press the BOOTSEL button before connecting the USB cable to the Raspberry Pi Pico board so that it works properly.
Related Tutorials
Comments

تعلم كيفية اضافة المكتبات الى الاردوينو من موقع فولتات التعليمى

مكتبات الأردوينو عبارة عن أكواد برمجية جاهزة ومحفوظة في ملفات يتم استدعاؤها بواسطة برنامج Arduino IDE. وتحتوي هذه المكتبات على العديد من الدوال التي يمكن للمبرمج استخدامها للتحكم في الشاشات، أو استقبال معلومات من الحساسات، أو التحكم في وحدة طرفية معينة. مما يسهل عملية البرمجة ويقلل من الوقت المستغرق في تنفيذ مشروع ما .
الفيديو الخاص بالمشروع
مقدمة
في هذا الدرس، سنتعلم كيفية اضافة مكتبات الاردوينو الموجودة فى موقع فولتات التعليمى “learn.voltaat.com” الى برنامج Arduino Ide مما يمكنك من تنفيذ المشاريع الالكترونية المختلفة الموجودة على الموقع .

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

بعد تحميل المكتبة، قم بتشغيل برنامج Arduino Ide وقم بالضغط على خانة Sketch فى اعلى واجهة البرنامج ومن ثم اضغط على Include library واختر من القائمة التى ستظهر …Add .zip library

وبعدها سوف تفتح لك تلك النافذه التى فى الاسفل، قم باختيار الملف الذى حملته مسبقا واضغط على زر open كما فى الصوره التى فى الاسفل :

انتظر بضع ثوانى او دقائق وسوف تجد ان المكتبة قد تم اضافتها بنجاح وسوف تجد عبارة library installed اسفل يسار الشاشة مما يدل على ان المكتبة قد تم اضافتها بنجاح .

اذا اردت التاكد ان المكتبة تم اضافتها بنجاح او اردت ان تجرب احد الامثلة الجاهزة الموجودة فى المكتبة التى قمت باضافتها، اضغط على خانة File ومن القائمة اضغط على Examples ومن ثم ابحث عن المكتبة التى قمت باضافتها ومن ثم اضغط عليها، سوف تجد قائمة جديده ظهرت بها كل الامثلة التى تحتويها المكتبة والتى يمكنك تجريبها والتعلم منها كيفية استخدام المكتبة .

وبهذا تكون المكتبة قد تم اضافتها بنجاح ويمكنك استخدامها فى اى كود برمجى او مشروع يستدعى او يحتاج الى استخدامها .
ملحوظة :
يمكنك تطبيق نفس الخطوات السابقة على اى مكتبة قمت بتحميلها، سواء حملتها من موقع الاردوينو الرسمى او موقع فولتات التعليمى او اى موقع اخر .
مشاريع ذات صلة
Comments

قم ببناء نظام ري ذاتى للنباتات باستخدام الاردوينو

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

الحصول علي القطع
ستحتاج إلى القطع الالكترونية التالية لهذا المشروع، يمكنك شراؤها من متجر ڤولتات :
Arduino Uno R3 (Voltaat Version)
2×16 LCD with I2C Module
Mini Submersible Water Pump
2N2222 – NPN Transistor (3 pieces)
Soil Moisture Sensor
Half-size Breadboard
1/4 Watt Resistor (20 Pack)
Jumper Wires – Male to Female (40 Pack)
Jumper Wires – Male to Male (40 Pack)
التوصيلات
قم بتوصيل الاسلاك بين الاردوينو وحساس رطوبة التربة والترانزستور ومضخة المياه والشاشة الكريستالية كما هو ظاهر فى الصورة التى فى الاسفل .

التوصيلات من الاردوينو الى لوحة التجارب :
• منفذ ال 5 فولت ← المنافذ الموجبة بلوحة التجارب
• منفذ الجراوند ← المنافذ السالبة بلوحة التجارب
التوصيلات من حساس رطوبة التربة :
• المنفذ الموجب لحساس الرطوبة ← المنافذ الموجبة بلوحة التجارب
• المنفذ السالب لحساس الرطوبة ← المنافذ السالبة بلوحة التجارب
• منفذ A0 ← منفذ رقم A0 فى لوحة الاردوينو
التوصيلات من الترانزستور :
• طرف الباعث ← المنافذ السالبة بلوحة التجارب
• طرف الفاعده ← مقاومة 4.7 كيلو اوم ← منفذ رقم 3 فى الاردوينو
التوصيلات من مضخة المياه :
• طرف المضخة الاول ← المنافذ الموجبة بلوحة التجارب
• طرف المضخه الاخر ← طرف المجمع بالترانزستور
التوصيلات من الشاشة الكريستالية:
• المنفذ الموجب للشاشة الكريستالية ← المنافذ الموجبة بلوحة التجارب
• المنفذ السالب للشاشة الكريستالية ← المنافذ السالبة بلوحة التجارب
• المنفذ SCL للشاشة الكريستالية ← منفذ رقم A5 فى لوحة الاردوينو
• المنفذ SDA للشاشة الكريستالية ← منفذ رقم A4 فى لوحة الاردوينو
الكود البرمجى
وظيفة هذا الكود البرمجي هو ضخ المياه للنبات عندما تكون النباتات بحاجة إلى الماء وإيقاف المضخة في حالة تشبع تربة النباتات بالمياه الكافية، مع طباعة حالة ما إذا كانت النباتات بحاجة للماء أم لا على شاشة كريستالية .
/* 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 an auto watering system for plants using Arduino The function of this code is to pump water to the plant when the plants need water and stop the pump if the soil of the plants is sufficiently saturated with water, and printing the status of whether the plants need water or not on a crystal screen. Connections from the Arduino to the breadboard: • Arduino 5v pin → breadboard 5v line • Arduino GND pin → breadboard GND line Connections from the Soil Moisture Sensor: • VCC pin → breadboard 5v line • GND pin → breadboard GND line • A0 pin → Arduino pin A0 Connections from the npn transistor: • the emitter → breadboard GND line • the base → resistor → Arduino pin 3 Connections from the pump : • the first wire → the collector • The second wire → breadboard 5v 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> // Include the LiquidCrystal_I2C library LiquidCrystal_I2C lcd(0x27, 16, 2); // Create an instance of the LiquidCrystal_I2C class with the specified address and dimensions int soilMoistureValue = 0; // Variable to store the analog reading of soil moisture int percentage = 0; // Variable to store the calculated percentage of soil moisture void setup() { pinMode(3, OUTPUT); // Set pin 3 as an output pin lcd.init(); // Initialize the LCD display lcd.backlight(); // Turn on the backlight of the LCD lcd.clear(); // Clear the LCD display digitalWrite(3, LOW); // Set pin 3 to a low state (initially turn off the pump) } void loop() { soilMoistureValue = analogRead(A0); // Read the analog value from pin A0 connected to the soil moisture sensor percentage = map(soilMoistureValue, 490, 1023, 100, 0); // Map the analog value to a percentage value between 0 and 100 if (percentage < 20) { digitalWrite(3, HIGH); // Turn on the pump (set pin 3 to a high state) lcd.setCursor(0, 0); lcd.print("The Plants need "); // print on the LCD display lcd.setCursor(0, 1); lcd.print("water "); lcd.setCursor(8, 1); lcd.print(" PUMP ON"); } if (percentage > 80) { digitalWrite(3, LOW); // Turn off the pump (set pin 3 to a low state) lcd.setCursor(0, 0); lcd.print("Plants have been"); lcd.setCursor(0, 1); lcd.print("watered"); lcd.setCursor(8, 1); lcd.print("PUMP OFF"); } }
التجربة
في البداية، ستجد الشاشة الكريستالية تظهر ما إذا كان النبات بحاجة للماء أم لا، حيث إذا كان النبات يحتاج للماء، ستظهر عبارة “The plants need water”، ومن ثم ستقوم بتشغيل مضخة المياه لتزويد النبات بالماء. بينما إذا تم ري النبات بالفعل ولا يحتاج النبات إلى الري مجددًا، ستجد الشاشة تظهر عبارة “The plants have been watered”، وستقوم بإيقاف مضخة المياه.
مشاريع ذات صلة
Comments

بناء خزنة محمية بكلمة سر بواسطة الاردوينو

هل تمتلك أشياء ثمينة أو مستندات مهمة وتريد الاحتفاظ بها فى خزنة محمية جيدا ؟ قم ببناء خزنة خاصة بك مع حماية بكلمة المرور باستخدام الاردوينو .
الفيديو الخاص بالمشروع
مقدمة
في هذا المشروع، سنستخدم لوحة المفاتيح مع الاردوينو لبناء خزنة آمنة. عند إدخال كلمة المرور الصحيحة، سيتم فتح باب الخزنة بمساعدة محرك سيرفو .
. يمكنك استخدام نفس المشروع لبناء باب آمن يفتح بكلمة مرور

الحصول علي القطع
: ستحتاج إلى القطع الالكترونية التالية لهذا المشروع، يمكنك شراؤها من متجر ڤولتات
Arduino Uno R3 (Voltaat Version)
2×16 LCD with I2C Module
SG90 Servo -Positional Rotation
16 Key Keypad
Jumper Wires – Male to Female (40 Pack)
Jumper Wires – Male to Male (40 Pack)
التوصيلات
. قم بتوصيل الاسلاك بين الاردوينو ومحرك السيرفو ولوحة المفاتيح والشاشة الكريستالية كما هو ظاهر فى الصورة التى فى الاسفل

التوصيلات من الاردوينو الى لوحة التجارب :
• منفذ ال 5 فولت ← المنافذ الموجبة بلوحة التجارب
• منفذ الجراوند ← المنافذ السالبة بلوحة التجارب
التوصيلات من محرك السيرفو :
• المنفذ الموجب لمحرك السيرفو ← المنافذ الموجبة بلوحة التجارب
• المنفذ السالب لمحرك السيرفو ← المنافذ السالبة بلوحة التجارب
• منفذ الاشارة لمحرك السيرفو ← منفذ رقم 10 فى لوحة الاردوينو
التوصيلات من لوحة المفاتيح :
• منفذ رقم 1 ← منفذ رقم 2 فى الاردوينو
• منفذ رقم 2 ← منفذ رقم 3 فى الاردوينو
• منفذ رقم 3 ← منفذ رقم 4 فى الاردوينو
• منفذ رقم 4 ← منفذ رقم 5 فى الاردوينو
• منفذ رقم 5 ← منفذ رقم 6 فى الاردوينو
• منفذ رقم 6 ← منفذ رقم 7 فى الاردوينو
• منفذ رقم 7 ← منفذ رقم 8 فى الاردوينو
• منفذ رقم 8 ← منفذ رقم 9 فى الاردوينو
التوصيلات من الشاشة الكريستالية:
• المنفذ الموجب للشاشة الكريستالية ← المنافذ الموجبة بلوحة التجارب
• المنفذ السالب للشاشة الكريستالية ← المنافذ السالبة بلوحة التجارب
• المنفذ SCL للشاشة الكريستالية ← منفذ رقم A5 فى لوحة الاردوينو
• المنفذ SDA للشاشة الكريستالية ← منفذ رقم A4 فى لوحة الاردوينو
الكود البرمجى
وظيفة هذا الكود البرمجى هو فتح الخزنة عن طريق تحريك محرك سيرفو بمقدار 90 درجة عند إدخال كلمة المرور الصحيحة من خلال لوحة المفاتيح. يمكنك الضغط على المفتاح C فى لوحة المفاتيح لقفل الخزنة مرة أخرى .
تنبيه :
كلمة السر هى "1234B" ، يمكنك تغيير كلمة السر فى الكود البرمجى.
/* Voltaat learn (http://learn.voltaat.com) Link for full tutorial: LiquidCrystal I2C Library: Wire Library: Keypad Library: Servo Library: Tutorial: Build a Secure Safe with Password Protection Connections from the keypad to Arduino: • Keypad pin 1 → Arduino pin 2 • Keypad pin 2 → Arduino pin 3 • Keypad pin 3 → Arduino pin 4 • Keypad pin 4 → Arduino pin 5 • Keypad pin 5 → Arduino pin 6 • Keypad pin 6 → Arduino pin 7 • Keypad pin 7 → Arduino pin 8 • Keypad pin 8 → Arduino pin 9 Connections from the servo motor: • Servo GND pin→ breadboard GND line • Servo 5V pin→ breadboard 5V line • Servo signal pin → Arduino pin 10 Connections from the LCD: • I2C module GND pin → Breadboard GND line • I2C module 5V pin → breadboard GND line • I2C module SDA pin → Arduino pin A4 • I2C module SCL pin → Arduino pin A5 */ // Define libraries #include <Keypad.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Servo.h> // Define the 4x4 keypad pins const byte ROWS = 4; // Four rows const byte COLS = 4; // Four columns char keys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; // Connect to the row pinouts of the keypad byte colPins[COLS] = {5, 4, 3, 2}; // Connect to the column pinouts of the keypad // Initialize the keypad, LCD, and servo Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD I2C address and dimensions Servo myServo; // Create a Servo object // Set password and other variables String password = "1234B"; // Set the password to open the safe const int MAX_PASSWORD_LENGTH = 4; // maximum password length, change accordingly String enteredPassword = ""; // Store the entered password bool safeOpen = false; // Store the state of the safe (open or closed) // Commands inside void setup run once void setup() { Serial.begin(9600); // Initialize serial communication lcd.init(); // Initialize the LCD lcd.backlight(); // Turn on the LCD backlight myServo.attach(10); // Attach the servo to pin 10 myServo.write(0); // Initialize the servo to closed position lcd.setCursor(1, 0); lcd.print("Voltaat Learn"); // Display "Security Safe" on the first line lcd.setCursor(1, 1); lcd.print("Security Safe"); // Clear the second line } // Commands inside void loop run forever void loop() { static bool showEnterPassword = false; static unsigned long prevMillis = 0; const unsigned long delayTime = 5000; // 5 seconds static bool showSafeClosed = false; static unsigned long safeClosedMillis = 0; const unsigned long safeClosedDelayTime = 2000; // 2 seconds // Show "Enter Password" message after 5 seconds if (!showEnterPassword && millis() - prevMillis >= delayTime) { showEnterPassword = true; prevMillis = millis(); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Enter Password:"); } // Read keypad input and handle password entry char key = keypad.getKey(); if (showEnterPassword && key != NO_KEY) { if (key == '#') { // Check if enter key is pressed if (enteredPassword == password) { // Compare entered password with the correct password if (safeOpen) { // If safe is already open, close it and ask to enter password again safeOpen = false; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Press C to close"); enteredPassword = ""; // Clear entered password } else { // If safe is closed, open it and ask to close it safeOpen = true; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Safe is open"); lcd.setCursor(0, 1); lcd.print("Press C to close"); myServo.write(90); // Open the safe by turning the servo to 90 degrees enteredPassword = ""; // Clear entered password } } else { // Incorrect password entered lcd.clear(); lcd.setCursor(0, 0); lcd.print("Wrong Password!"); delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Enter Password:"); enteredPassword = ""; // Clear entered password } } else if (key == '*') { // Check if clear key is pressed enteredPassword = ""; // Clear entered password lcd.clear(); lcd.setCursor(0, 0); lcd.print("Enter Password:"); } else if (key == 'C' || key == 'c') { // Check if C key is pressed if (safeOpen) { // If safe is open, close it safeOpen = false; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Safe is closed"); myServo.write(0); // Close the safe by turning the servo to 0 degrees showSafeClosed = true; safeClosedMillis = millis(); enteredPassword = ""; // Clear entered password } } else if (key == 'D' || key == 'd') { // Check if D key is pressed if (enteredPassword.length() > 0) { // If password is not empty, delete last character enteredPassword = enteredPassword.substring(0, enteredPassword.length() - 1); lcd.setCursor(0, 1); lcd.print(" "); // Clear the password field on the LCD screen lcd.setCursor(0, 1); // Print asterisks instead of the actual password characters for (int i = 0; i < enteredPassword.length(); i++) { lcd.print("*"); } } } else { // Append entered key to the entered password if (enteredPassword.length() < 5 && !safeOpen) { // Limit password to 5 characters enteredPassword += key; lcd.setCursor(0, 1); // Print asterisks instead of the actual password characters for (int i = 0; i < enteredPassword.length(); i++) { lcd.print("*"); } } } } // show "Safe Closed" message for 2 seconds after the safe is closed if (showSafeClosed && millis() - safeClosedMillis >= safeClosedDelayTime) { showSafeClosed = false; lcd.clear(); lcd.setCursor(0, 0); lcd.print("Enter Password:"); } }
التجربة
فى البداية تظهر الشاشة الكريستالية عبارة (ادخل كملة السر) , حينها ادخل كلمة السر ومن ثم اضغط على زر ال #:
• اذا كانت كلمة السر صحيحه , سوف تجد ان الشاشة تظهر جملة تم فتح الخزنة وسوف تجد ان محرك السيرفو قد تحرك بزاوية 90 درجة
• اذا كانت كلمة السر خاطئة , سوف تجد ان الشاشة تظهر عبارة كلمة سر خاطئة ومن ثم تطلب منك ادخال كلمة السر من جديد
• اذا ادخلت حرف خاطئ اثناء ادخال كلمة السر , يمكنك الضغط على الزر D لحذف اخر حرف او اضغط * لحذف كلمة السر كلها وادخالها من جديد