جدول المحتويات:

RaspberryPi: تتلاشى LED داخل وخارج: 4 خطوات (بالصور)
RaspberryPi: تتلاشى LED داخل وخارج: 4 خطوات (بالصور)

فيديو: RaspberryPi: تتلاشى LED داخل وخارج: 4 خطوات (بالصور)

فيديو: RaspberryPi: تتلاشى LED داخل وخارج: 4 خطوات (بالصور)
فيديو: WHY I WANT L4D3 2024, شهر نوفمبر
Anonim
RaspberryPi: تتلاشى الصمام للداخل والخارج
RaspberryPi: تتلاشى الصمام للداخل والخارج

الخطوات التالية عبارة عن تجارب لتوضيح كيفية عمل مصابيح LED. يوضحون كيفية تعتيم LED بمعدل متساوٍ وكيفية تلاشيها وإخفائها.

سوف تحتاج:

  • RaspberryPi (لقد استخدمت Pi أقدم ، Pi-3 الخاص بي قيد الاستخدام ، ولكن أي Pi ستعمل.)
  • اللوح
  • 5 ملم ليد أحمر
  • 330 أوم المقاوم (غير الحرجة 220-560 أوم ستعمل.)
  • وصل الأسلاك

إن Pi-cobbler الذي استخدمته من Adafruit ليس ضروريًا ، لكنه يجعل اللوح أسهل.

WiringPi هي مجموعة من المكتبات لبرمجة RaspberryPi في C. توجد تعليمات التنزيل والتثبيت والاستخدام على

لتثبيت wiringPi ، اتبع الإرشادات الموجودة على هذه الصفحة:

للحصول على قائمة بأرقام دبوس الأسلاك ، أدخل gpio readall في سطر الأوامر.

في الإصدارات الأحدث من Raspian wiring ، يتم تثبيت Pi بشكل افتراضي.

الخطوة 1: تعديل عرض النبض

تعديل عرض النبض
تعديل عرض النبض
تعديل عرض النبض
تعديل عرض النبض
تعديل عرض النبض
تعديل عرض النبض

تعمل مصابيح LED دائمًا بنفس الجهد بغض النظر عن السطوع. يتم تحديد السطوع بواسطة مذبذب موجة مربعة ومقدار الوقت الذي يكون فيه الجهد مرتفعًا يحدد السطوع. وهذا ما يسمى تعديل عرض النبض (PWM). يتم التحكم في ذلك عن طريق وظيفة wiringPi pwmWrite (pin، n) حيث n لها قيمة من 0 إلى 255. إذا كان n = 2 سيكون سطوع LED ضعف سطوع n = 1. يتضاعف السطوع دائمًا عندما يتضاعف n. إذن ، n = 255 ستكون ضعف سطوع n = 128.

غالبًا ما يتم التعبير عن قيمة n كنسبة مئوية تسمى دورة العمل. تُظهر الصور آثار راسم الذبذبات لدورات عمل 25 و 50 و 75٪.

الخطوة 2: LED والمقاوم

الصمام والمقاوم
الصمام والمقاوم

هذا ليس ضروريًا ، ولكن وجود القليل منها في متناول اليد يمكن أن يجعل استخدام اللوح أسهل كثيرًا.

جندى المقاوم في الصمام القصير. استخدم المقاوم 220-560 أوم.

الخطوة 3: Un-even Dimming

Un-even Dimming
Un-even Dimming

بناء الدائرة كما في الرسم التخطيطي. هذا تمامًا مثل الدائرة التي تومض مصباح LED. يستخدم wiringPi pin 1 لأنك تحتاج إلى استخدام دبوس ممكّن لـ PWM. تجميع البرنامج وتشغيله. ستلاحظ أنه كلما كان مؤشر LED أكثر سطوعًا كلما كان خافتًا أبطأ. مع اقترابها من أخفض درجة حرارة ، ستصبح باهتة بسرعة كبيرة.

/******************************************************************

* التحويل البرمجي: gcc -o fade1 -Wall -I / usr / local / include -L / usr / local / lib * fade1.c -lwiringPi * * التنفيذ: sudo./fade1 * * جميع أرقام الدبوس هي أرقام wiringPi ما لم يُذكر خلاف ذلك. **************************************************** **************** / #include int main () {wiringPiSetup ()؛ // الإعداد المطلوب بواسطة wiringPi pinMode (1 ، PWM_OUTPUT) ؛ // pwmSetMode (PWM_MODE_MS) ، // وضع علامة / مسافة int i ؛ while (1) {for (i = 255؛ i> -1؛ i--) {pwmWrite (1، i) ؛ تأخير (10) ؛ } لـ (i = 0؛ i <256؛ i ++) {pwmWrite (1، i) ؛ تأخير (10) ؛ }}}

توضح الخطوة التالية كيفية تعتيم مؤشر LED بمعدل ثابت ، وفي واحد للبيان.

الخطوة 4: الخطوة 4: لأعلى ولأسفل في One For () ، وبسعر متساوٍ

لكي يخفت مؤشر LED بمعدل ثابت ، يجب أن يزيد التأخير () بمعدل أسي لأن نصف دورة العمل ستنتج دائمًا نصف السطوع.

الخط:

int د = (16-i / 16) ^ 2 ؛

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

/******************************************************************

* التحويل البرمجي: gcc -o fade1 -Wall -I / usr / local / include -L / usr / local / lib * fade2.c -lwiringPi * * Execute: sudo./fade2 * * جميع أرقام pin هي أرقام wiringPi ما لم يُذكر خلاف ذلك. **************************************************** **************** / #include int main () {wiringPiSetup ()؛ // الإعداد المطلوب بواسطة wiringPi pinMode (1 ، PWM_OUTPUT) ؛ // pwmSetMode (PWM_MODE_MS) ، // وضع علامة / مسافة بينما (1) {int i؛ كثافة العمليات س = 1 ؛ لـ (i = 0 ؛ i> -1 ؛ i = i + x) {int d = (16-i / 16) ^ 2 ؛ // احسب التربيع العكسي لمؤشر pwmWrite (1، i) ؛ تأخير (د) ؛ إذا (i == 255) x = -1 ؛ // تبديل الاتجاه عند الذروة}}}

موصى به: