- المكونات مطلوبة
- مخطط الرسم البياني
- تصنيع PCB لـ Raspberry Pi RGB LCD HAT باستخدام EasyEDA
- حساب وطلب عينات PCB عبر الإنترنت باستخدام EasyEDA
- إعداد Raspberry Pi لقبعة LCD
- كود Python لـ Raspberry Pi LCD HAT
- اختبار Raspberry Pi RGB LCD HAT
قبعات Raspberry Pi هي نفسها دروع Arduino ، ويمكن وضعها مباشرة في الجزء العلوي من Raspberry Pi ولا تتطلب أي اتصالات أخرى. نحن هنا بصدد بناء قبعة RGB LCD لـ Raspberry Pi على PCB. تتكون قبعة LCD هذه من وحدة 16x2 LCD وخمسة مفاتيح وثلاثة مصابيح LED NeoPixel. تُستخدم المفاتيح هنا لتغيير النص المعروض على الشاشة وتستخدم مصابيح NeoPixel LED كمؤشرات. يمكن برمجة هذه المفاتيح و Neo Pixels وفقًا لمتطلبات مثل يمكن استخدام المفاتيح لعرض قيم المستشعر مثل درجة الحرارة والرطوبة وما إلى ذلك ، ويمكن استخدام Neo pixels لعرض الحالة مثل Red للإشارة إلى بعض الخطأ والأخضر أثناء تلقي بعض البيانات.
هنا سوف نستخدم برنامج EasyEDA عبر الإنترنت لتصميم الدائرة و PCB لهذا Pi HAT ، و JLCPCB لطلب ثنائي الفينيل متعدد الكلور.
المكونات مطلوبة
- رازبيري باي 4
- 16 * 2 وحدة عرض LCD
- المصابيح النيو بكسل (3)
- المكثفات
- مفاتيح (5)
مخطط الرسم البياني
يظهر أدناه مخطط الدائرة الكاملة لـ Raspberry Pi RGB LCD HAT. تم رسم التخطيطي باستخدام EasyEDA. كما ترى ، نحن نقوم بتوصيل وحدة 16x2 LCD و 3 مصابيح NeoPixel و 5 مفاتيح مع Raspberry Pi. يستخدم الموصل أيضًا لتمكين أو تعطيل مصابيح NeoPixel LED.
تصنيع PCB لـ Raspberry Pi RGB LCD HAT باستخدام EasyEDA
أثناء تصميم PCB لـ Raspberry Pi RGB LCD HAT ، كان الجزء الأكثر تحديًا هو الحصول على البصمة الصحيحة. إذا كانت الأبعاد خاطئة ، فلن تناسب المكونات PCB. لكن من حسن حظك أن EasyEDA توفر بصمات أقدام لجميع المكونات في السوق تقريبًا. هذا بسبب مجتمع المستخدمين الواسع حيث يقوم المستخدمون بإنشاء آثار أقدام وإتاحتها للجمهور لاستخدامها في مشاريعهم.
EasyEDA هي أداة EDA عبر الإنترنت استخدمتها سابقًا عدة مرات ووجدتها ملائمة جدًا للاستخدام نظرًا لأنها تحتوي على مجموعة جيدة من آثار الأقدام ، وهي مفتوحة المصدر. بعد تصميم PCB ، يمكننا طلب عينات PCB من خلال خدمات تصنيع PCB منخفضة التكلفة- JLCPCB. كما أنها توفر خدمات مصادر المكونات حيث يكون لديها مخزون كبير من المكونات الإلكترونية ، ويمكن للمستخدمين طلب المكونات المطلوبة جنبًا إلى جنب مع طلب ثنائي الفينيل متعدد الكلور.
أثناء تصميم الدوائر وثنائي الفينيل متعدد الكلور ، يمكنك أيضًا جعل تصميمات دائرتك وتصميمات ثنائي الفينيل متعدد الكلور عامة حتى يتمكن المستخدمون الآخرون من نسخها أو تحريرها والاستفادة من عملك ، كما جعلنا تصميم Pi RGB LCD Hat هذا متاحًا للجميع ، تحقق مما يلي حلقة الوصل:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
يمكنك عرض أي طبقة (علوي ، سفلي ، علوي ، حرير سفلي ، إلخ) لثنائي الفينيل متعدد الكلور عن طريق تحديد الطبقة من نافذة "الطبقات". بصرف النظر عن هذا ، فإنها توفر أيضًا عرض نموذج ثلاثي الأبعاد لثنائي الفينيل متعدد الكلور حول كيفية ظهوره بعد التصنيع. ستبدو لقطة الطبقة العليا والطبقة السفلية لشاشة LCD HAT كما يلي:
حساب وطلب عينات PCB عبر الإنترنت باستخدام EasyEDA
بعد الانتهاء من تصميم PI RGB LCD HAT ، يمكنك طلب PCB من خلال JLCPCB.com. لطلب PCB من JLCPCB ، تحتاج إلى ملف Gerber. يمكنك تنزيل ملف جربر من الرابط أدناه:
- ملف جربر لـ Raspberry Pi RGB LCD Hat
لإنشاء ملفات Gerber الخاصة بـ PCB ، ما عليك سوى النقر فوق الزر Generate Fabrication File في صفحة محرر EasyEDA ، ثم تنزيل ملف Gerber من هناك ، أو النقر فوق Order at JLCPCB كما هو موضح في الصورة أدناه. سيؤدي هذا إلى إعادة توجيهك إلى JLCPCB.com ، حيث يمكنك تحديد عدد مركبات ثنائي الفينيل متعدد الكلور المطلوب طلبها ، وعدد طبقات النحاس التي تحتاجها ، وسمك ثنائي الفينيل متعدد الكلور ، ووزن النحاس ، ولون ثنائي الفينيل متعدد الكلور ، ومعلمات ثنائي الفينيل متعدد الكلور ، مثل اللقطة الموضحة أدناه:
بعد النقر فوق الزر " Order at JLCPCB" ، سينقلك إلى موقع JLCPCB على الويب ، حيث يمكنك طلب PCB بسعر منخفض جدًا ، وهو 2 دولار. كما أن وقت الإنشاء أقل بكثير ، وهو 48 ساعة مع تسليم DHL من 3-5 أيام. سوف تحصل على مركبات ثنائي الفينيل متعدد الكلور في غضون أسبوع من الطلب.
بعد طلب PCB ، يمكنك التحقق من تقدم إنتاج PCB الخاص بك مع التاريخ والوقت. يمكنك التحقق من ذلك بالانتقال إلى صفحة الحساب والنقر على رابط "تقدم الإنتاج" أسفل PCB كما هو موضح في الصورة أدناه.
بعد أيام قليلة من طلب مركبات ثنائي الفينيل متعدد الكلور ، حصلت على عينات من ثنائي الفينيل متعدد الكلور في عبوات ممتازة ، كما هو موضح في الصور أدناه.
بعد التأكد من صحة المسارات وآثار الأقدام. شرعت في تجميع ثنائي الفينيل متعدد الكلور. تبدو اللوحة الملحومة تمامًا كما يلي:
إعداد Raspberry Pi لقبعة LCD
قبل بدء البرمجة ، Raspberry Pi ، قم أولاً بتحديث Raspberry Pi وتثبيت بعض المكتبات الضرورية. قم بتشغيل الأوامر أدناه لتحديث Raspberry Pi وترقيته:
sudo apt-get update sudo apt-get Upgrade
الآن قم بتثبيت مكتبة Adafruit_Blinka لمصابيح NeoPixel LED. توفر مكتبة Adafruit_Blinka دعم CircuitPython في Python.
تثبيت sudo pip3 adafruit-circpython-neopixel
بعد ذلك ، قم بتثبيت مكتبة Adafruit_CharLCD لوحدة LCD. هذه المكتبة مخصصة للوحات Adafruit LCD ، ولكنها تعمل أيضًا مع لوحات LCD ذات العلامات التجارية الأخرى أيضًا.
sudo pip3 تثبيت Adafruit-CharLCD
كود Python لـ Raspberry Pi LCD HAT
نحن هنا نعرض قبعة RGB LCD لـ Raspberry Pi باستخدام عدد قليل من المفاتيح لإظهار بعض القيم الخاصة على وحدة LCD و RGB LEDs كمؤشرات. لذلك يتعين علينا برمجة Raspberry Pi بطريقة أنه عندما نضغط على مفتاح التبديل ، يجب أن يظهر بعض قيم المستشعر أو القيم الأخرى.
يتم تقديم رمز Python الكامل في نهاية الصفحة. نحن هنا نوضح الكود خطوة بخطوة.
ابدأ الكود عن طريق استيراد جميع المكتبات المطلوبة.
استيراد RPi.GPIO مثل GPIO استيراد neopixel وقت الاستيراد استيراد لوحة استيراد Adafruit_CharLCD كشاشة LCD
بعد ذلك ، حدد جميع دبابيس GPIO حيث يتم توصيل شاشة LCD والمفاتيح الأخرى.
lcd_rs = 7 lcd_en = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_backlight = 2 sw0 = 5 sw2 = 13 sw3 = 19 sw4 = 26
الآن ، حدد وضع GPIO باستخدام وضع BCM. يمكنك أيضًا تغييره إلى BOARD. ثم حدد جميع دبابيس التبديل على أنها مدخلات.
GPIO.setmode (GPIO.BCM) # استخدم أرقام BCM GPIO GPIO.setup (sw0، GPIO.IN) GPIO.setup (sw2، GPIO.IN) GPIO.setup (sw3، GPIO.IN) GPIO.setup (sw4، GPIO.في)
بعد ذلك ، حدد دبوس GPIO حيث يتم توصيل مصابيح Neo Pixel LED. ثم حدد رقم Neo Pixel LEDs. هنا يتم استخدام ثلاثة مصابيح LED ، يمكنك تغييرها وفقًا لاحتياجاتك.
pixel_pin = board.D21 num_pixels = 3
الآن داخل وظيفة lcddisplay () ، قم بتعيين مهمة معينة لكل مفتاح. على سبيل المثال ، هنا عند الضغط على المفتاح الأول ، يجب أن يعرض Raspberry Pi "UP" على شاشة LCD ، وعندما يتم الضغط على المفتاح الثاني ، يجب أن يعرض "DOWN" على شاشة LCD وما إلى ذلك بالنسبة إلى الزرين الآخرين.
بدلاً من طباعة شيء ما على شاشة LCD ، يمكنك استخدام هذه المفاتيح لأداء مهمة مختلفة. على سبيل المثال ، يمكنك استخدام المفتاح 1 لعرض قيمة درجة الحرارة ، والمفتاح 2 لعرض قيم الرطوبة ، والتبديل 3 لعرض قيم الضغط ، إلخ.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0،0) lcd.message ('UP') if (GPIO.input (sw2) == False): lcd.clear () lcd.set_cursor (0،0) lcd.message ('DOWN') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0،0) lcd.message ('LEFT') إذا كان (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0،0) lcd.message ('RIGHT')
الآن داخل حلقة while true ، تُستخدم وظيفة pixels.fill لإضاءة Neo Pixels بألوان مختلفة. لذلك تمت برمجة Pi لإضاءة Neo Pixels باللون الأحمر والأخضر والأزرق لمدة ثانية واحدة لكل منهما.
يمكنك أيضًا استخدام وحدات البكسل الجديدة هذه كمؤشرات. على سبيل المثال ، يمكنك إضاءة Neo Pixel بلون أحمر للإشارة إلى أن Pi متصل بمصدر الطاقة أو يمكنك استخدام مصابيح LED أخرى للإشارة إلى أن Pi يتلقى البيانات أو يرسلها ، إلخ.
pixels.fill ((255، 0، 0)) pixels.show () time.sleep (1) pixels.fill ((0، 255، 0)) pixels.show () time.sleep (1) pixels.fill ((0 ، 0 ، 255)) بكسل ، عرض () الوقت ، النوم (1) دورة قوس قزح (0.001)
اختبار Raspberry Pi RGB LCD HAT
بعد تجميع شاشة LCD وربطها بـ Raspberry Pi ، نحن جميعًا على استعداد لاستخدام PI RGB LCD HAT. لذلك ، قم بتشغيل كود python باستخدام الأمر أدناه.
بيثون code_filename.py
الآن اضغط على المفاتيح. عندما تضغط على مفتاح SW0 ، يجب أن تطبع "UP" على شاشة LCD. بالنسبة لمحول SW2 ، يجب أن يطبع "Down" ونفس الشيء لبقية المفاتيح.
يوجد أدناه فيديو عمل كامل مع كود Python.