Raspberry Pi هو لوحة قائمة على معالج معماري ARM مصممة لمهندسي الإلكترونية والهواة. يعد PI أحد أكثر منصات تطوير المشاريع الموثوقة الموجودة حاليًا. مع سرعة معالج أعلى وذاكرة وصول عشوائي تبلغ 1 جيجابايت ، يمكن استخدام PI للعديد من المشاريع البارزة مثل معالجة الصور وإنترنت الأشياء.
للقيام بأي من المشاريع البارزة ، يحتاج المرء إلى فهم الوظائف الأساسية لـ PI. سنغطي جميع الوظائف الأساسية لـ Raspberry Pi في هذه الدروس. سنناقش في كل درس تعليمي إحدى وظائف PI. بنهاية سلسلة دروس Raspberry Pi التعليمية هذه ، ستكون قادرًا على تعلم Raspberry Pi وإنشاء مشاريع جيدة بنفسك. اذهب من خلال الدروس أدناه:
- الابتداء مع Raspberry Pi
- تكوين Raspberry Pi
- وميض LED
- واجهة زر
- جيل Raspberry Pi PWM
- واجهة LCD مع Raspberry Pi
- التحكم في محرك DC
- التحكم في محرك متدرج
- التفاعل سجل التحول
- دروس Raspberry Pi ADC
- التحكم في محرك سيرفو
- لوحة اللمس بالسعة
في هذا البرنامج التعليمي ، سنقوم بعمل واجهة عرض شرائح Raspberry Pi 7. تعد شاشات Seven Segment الأرخص بالنسبة لوحدة العرض. يمكن استخدام اثنين من هذه الأجزاء المكدسة معًا لعرض درجة الحرارة وقيمة العداد وما إلى ذلك. سنقوم بتوصيل وحدة العرض المكونة من 7 مقاطع بـ GPIO لـ PI والتحكم فيها لعرض الأرقام وفقًا لذلك. بعد ذلك سنقوم بكتابة برنامج في PYTHON لعرض سبعة أجزاء ليتم حسابه من 0-9 وإعادة تعيين نفسه إلى الصفر.
عرض سبعة قطاعات:
هناك أنواع وأحجام مختلفة لشاشات العرض المكونة من 7 أجزاء. لقد قمنا بتغطية Seven Segment التي تعمل بالتفصيل هنا. يوجد أساسًا نوعان من الأجزاء السبعة ، نوع الأنود المشترك (مشترك إيجابي أو مشترك VCC) ونوع كاثود مشترك (سلبي مشترك أو أرضية مشتركة).
الأنود المشترك (CA): في هذا ، يتم توصيل جميع المحطات السلبية (الكاثود) لجميع المصابيح الثمانية معًا (انظر الرسم البياني أدناه) ، والمسمى باسم COM. وتُترك جميع الأطراف الموجبة بمفردها.
الكاثود المشترك (CC): في هذا ، يتم توصيل جميع المحطات الموجبة (الأنودات) لجميع المصابيح الثمانية معًا ، والتي تسمى COM. وتركت كل الحرارة السالبة وشأنها.
تكون شاشات المقاطع السبعة CC و CA مفيدة جدًا أثناء تعدد إرسال عدة خلايا معًا. في البرنامج التعليمي الخاص بنا ، سوف نستخدم CC أو عرض شرائح الكاثود السبعة المشترك.
لقد قمنا بالفعل بتوصيل الجزء 7 مع 8051 ، مع Arduino و AVR. لقد استخدمنا أيضًا عرض 7 مقاطع في العديد من مشاريعنا.
سنناقش قليلاً حول Raspberry Pi GPIO قبل المضي قدمًا ،
يوجد 40 دبوس إخراج GPIO في Raspberry Pi 2. ولكن من بين 40 ، يمكن برمجة 26 دبوسًا فقط (GPIO2 إلى GPIO27) ، انظر الشكل أدناه. تؤدي بعض هذه المسامير بعض الوظائف الخاصة. مع وضع GPIO الخاص جانباً ، يتبقى لدينا 17 GPIO.
تعد إشارة GPIO (رقم التعريف الشخصي 1 أو 17) + 3.3 فولت كافية لتشغيل شاشة العرض المكونة من 7 أجزاء. لتوفير الحد الحالي ، سنستخدم المقاوم 1KΩ لكل قطعة كما هو موضح في مخطط الدائرة.
لمعرفة المزيد عن دبابيس GPIO ومخرجاتها الحالية ، انتقل إلى: وميض LED مع Raspberry Pi
المكونات المطلوبة:
نحن هنا نستخدم Raspberry Pi 2 Model B مع نظام التشغيل Raspbian Jessie OS. تمت مناقشة جميع متطلبات الأجهزة والبرامج الأساسية مسبقًا ، يمكنك البحث عنها في مقدمة Raspberry Pi ، بخلاف ما نحتاج إليه:
- ربط دبابيس
- عرض مقاطع الكاثود المشترك 7 (LT543)
- 1KΩ المقاوم (8 قطع)
- اللوح
شرح الدائرة والعمل:
فيما يلي التوصيلات التي تمت من أجل عرض مقاطع Interfacing 7 إلى Raspberry Pi. لقد استخدمنا مقطع الكاثود 7 المشترك هنا:
PIN1 أو e ------------------ GPIO21
PIN2 أو d ------------------ GPIO20
PIN4 أو c ------------------ GPIO16
PIN5 أو h أو DP ---------- GPIO 12 // ليس إلزاميًا لأننا لا نستخدم الفاصلة العشرية
PIN6 أو b ------------------ GPIO6
PIN7 أو ------------------ GPIO13
PIN9 أو f ------------------ GPIO19
PIN10 أو g ---------------- GPIO26
PIN3 أو PIN8 ------------- متصل بالأرض
لذلك سنستخدم 8 دبابيس GPIO من PI كمنفذ 8 بت. هنا GPIO13 هو LSB (بت أقل أهمية) و GPIO 12 هو MSB (بت الأكثر أهمية).
الآن، إذا كنا نريد لعرض الرقم "1"، ونحن بحاجة إلى قطاعات الطاقة B و C. لتشغيل الجزء B و C ، نحتاج إلى تشغيل GPIO6 و GPIO16. لذا فإن البايت الخاص بوظيفة "PORT" سيكون 0b00000110 وستكون القيمة السداسية لـ "PORT" هي 0x06. مع كل من الدبابيس عالية نحصل على "1" على الشاشة.
لقد كتبنا قيم كل رقم ليتم عرضه وتخزين هذه القيم في سلسلة من الأحرف تسمى "DISPLAY" (راجع قسم الكود أدناه). ثم قمنا باستدعاء هذه القيم واحدة تلو الأخرى لإظهار الرقم المقابل على الشاشة ، باستخدام الوظيفة "المنفذ".
شرح البرمجة:
بمجرد توصيل كل شيء وفقًا لمخطط الدائرة ، يمكننا تشغيل PI لكتابة البرنامج في PYHTON.
سنتحدث عن بعض الأوامر التي سنستخدمها في برنامج PYHTON ،
سنقوم باستيراد ملف GPIO من المكتبة ، وتمكننا الوظيفة أدناه من برمجة دبابيس GPIO في PI. نقوم أيضًا بإعادة تسمية "GPIO" إلى "IO" ، لذلك في البرنامج عندما نريد الإشارة إلى دبابيس GPIO ، سنستخدم كلمة "IO".
استيراد RPi.GPIO كـ IO
في بعض الأحيان ، عندما تقوم دبابيس GPIO ، التي نحاول استخدامها ، ببعض الوظائف الأخرى. في هذه الحالة ، سوف نتلقى تحذيرات أثناء تنفيذ البرنامج. يخبر الأمر أدناه PI بتجاهل التحذيرات ومتابعة البرنامج.
تحذيرات IO.set (خطأ)
يمكننا إحالة دبابيس GPIO الخاصة بـ PI ، إما عن طريق رقم التعريف الشخصي على اللوحة أو عن طريق رقم وظيفتها. مثل "PIN 29" على السبورة هو "GPIO5". لذلك نقول هنا إما أننا سنمثل الدبوس هنا بـ "29" أو "5".
IO.setmode (IO.BCM)
نحن نضع 8 دبابيس GPIO كدبابيس إخراج ، لدبابيس البيانات والتحكم في LCD.
IO.setup (13، IO.OUT) IO.setup (6، IO.OUT) IO.setup (16، IO.OUT) IO.setup (20، IO.OUT) IO.setup (21، IO.OUT) IO.setup (19 ، IO.OUT) IO.setup (26 ، IO.OUT) IO.setup (12 ، IO.OUT)
في حالة صحة الشرط في الأقواس ، سيتم تنفيذ التعليمات داخل الحلقة مرة واحدة. لذلك إذا كان البت 0 الخاص بـ "دبوس" 8 بت صحيحًا ، فسيكون PIN13 مرتفعًا ، وإلا فسيكون PIN13 منخفضًا. لدينا ثمانية شروط "if else" من bit0 إلى bit7 ، بحيث يمكن جعل مؤشر LED المناسب ، داخل شاشة العرض ذات الأجزاء السبعة ، مرتفعًا أو منخفضًا ، لعرض الرقم المقابل.
إذا (pin & 0x01 == 0x01): IO.output (13،1) وإلا: IO.output (13،0)
ينفذ هذا الأمر الحلقة 10 مرات ، ويزيد x من 0 إلى 9.
لـ x في النطاق (10):
يتم استخدام الأمر أدناه كحلقة إلى الأبد ، باستخدام هذا الأمر ، سيتم تنفيذ التعليمات الموجودة داخل هذه الحلقة بشكل مستمر.
بينما 1:
تم شرح جميع الوظائف والأوامر الأخرى في قسم "الكود" أدناه بمساعدة "التعليقات".
بعد كتابة البرنامج وتنفيذه ، يقوم Raspberry Pi بتشغيل GPIOs المقابلة لإظهار الرقم على 7 Segment Display. البرنامج مكتوب للعرض ليتم العد من 0-9 بشكل مستمر