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

اكتشاف اللون باستخدام RGB LED: 4 خطوات
اكتشاف اللون باستخدام RGB LED: 4 خطوات

فيديو: اكتشاف اللون باستخدام RGB LED: 4 خطوات

فيديو: اكتشاف اللون باستخدام RGB LED: 4 خطوات
فيديو: ☑️ RGB LED أردوينو للمبتدئين - كيفية استعمال ال 2024, شهر نوفمبر
Anonim
كشف اللون باستخدام RGB LED
كشف اللون باستخدام RGB LED

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

الخطوة 1: الأجزاء المطلوبة

الأجزاء المطلوبة
الأجزاء المطلوبة

لقد استخدمت متحكمًا دقيقًا PIC 16F887 ، ولكن تقريبًا أي وحدة تحكم ذات إمكانية تعديل عرض النبضة ستعمل. 1 RGB LED1 متحكم 1 LED أحمر قياسي 1 1 كيلو أوم المقاوم 1 مقاوم ضوئي (يتغير المقاومة اعتمادًا على مقدار الضوء الذي يضيء عليه) بعض الأسلاك أحتاج فقط إلى متحكم و RGB LED للحصول على مجموعة واسعة من أجهزة الكشف عن الألوان ، ولكن إذا كنت تريد فقط دائرة ذلك يكتشف لونًا واحدًا ، فأنت لست بحاجة إلى متحكم دقيق - فأنت تحتاج فقط إلى مؤشر LED ساطع للون الذي تريد اكتشافه. مؤشر LED الأحمر القياسي هو "مؤشر LED" - يضيء عند اكتشاف اللون الصحيح.

الخطوة الثانية: بناء الدائرة

بناء الدائرة
بناء الدائرة
بناء الدائرة
بناء الدائرة

التخطيطي بسيط نوعًا ما ، وفي الشكل العام ، موضح أدناه. يتم تشغيل RGB LED خارجيًا بواسطة إشارة PWM ، لقد وضعت شريطًا كهربائيًا حول المقاوم الضوئي حتى لا يدخل الضوء المحيط - سيتم اكتشاف الضوء الموجود فوقه مباشرة فقط.

الخطوة الثالثة: الكود

تمت كتابة هذا الرمز لـ Microchip PIC 16F887 ، ولكن نأمل أن تحصل على الفكرة العامة. لقد استخدمت مقياس الجهد المدمج في لوحة التطوير الخاصة بي لتغيير طيف ألوان RGB LED (ولا يمر عبر الطيف الكامل لأنني لا أمتلك 3 وحدات PWM ، لكنها جيدة بما يكفي) تم تضمين التعليقات. # تضمين # تضمين # تضمين البايت CCP2CON = 0x1D # بايت PWM1CON = 0x9Bint value = 128 ؛ int p1 = 0 ؛ int p2 = 0 ؛ void my_setup_ccp1 (قيمة int8) {output_low (PIN_C2) ؛ CCP1CON = القيمة ؛ PWM1CON = 0 ؛} قيمة my_setup_ccp2 باطلة {output_low (PIN_C1) ؛ CCP2CON = القيمة ؛} // =================================== باطل رئيسي () {// A4 = مصدر الطاقة للصورة الضوئية Output_high (PIN_A4) ؛ الإخراج_عالي (PIN_B1) ؛ setup_adc (ADC_CLOCK_INTERNAL) ؛ set_adc_channel (0) ؛ setup_adc_ports (sAN0) ؛ // Timer / Interrupt setupenable_interrupts (INT_TIMER2) ؛ my_setup_ccp2 (CCP_PWM)؛ setup_timer_2 (T2_DIV_BY_1، 128، 1)؛ // setup_compare (2، COMPARE_PWM | COMPARE_TIMER2) ؛ بينما (1) {// منع PIC من النوم. // Pin A3 هو اتصال الثنائي الضوئي إذا (المدخلات (PIN_A3) == 1) output_high (PIN_A4) ؛ else output_low (PIN_A4) ؛ // اقرأ قيمة مقياس الجهد لتغيير لون قيمة LED = read_adc () ؛ التبديل (القيمة) {الحالة 0: p1 = القيمة ؛ output_low (PIN_C0) ؛ p2 = القيمة ؛ استراحة؛ الحالة 50: p1 = القيمة ؛ output_high (PIN_C0) ؛ p2 = القيمة ؛ استراحة؛ الحالة 100: p1 = القيمة ؛ output_high (PIN_C0) ؛ p2 = القيمة ؛ استراحة؛ الحالة 150: output_high (PIN_C0) ؛ p1 = 50 ؛ p2 = القيمة ؛ استراحة؛ الحالة 200: output_low (PIN_C0) ؛ p1 = 0 ؛ p2 = القيمة ؛ استراحة؛ الحالة 250: p1 = 0 ؛ p2 = القيمة ؛ output_low (PIN_C0) ؛ استراحة؛ } p1 = القيمة ؛ ع 2 = 128 - ف 1 ؛ set_pwm1_duty (p1) ؛ set_pwm2_duty (p2) ؛}}

الخطوة 4: التطبيقات

التطبيقات!
التطبيقات!

يمكن استخدام كاشف ألوان بسيط مثل هذا في الروبوتات ، أو للمشاريع الرائعة مثل فصل ليغو حسب اللون ، أو فرز M & Ms ، أو كعامل مساعد لعمى الألوان. نأمل أن تكون هذه التعليمات مفيدة في تحسين مشروع تفكر فيه!:) المصابيح جيدة لأشياء كثيرة….

موصى به: