جدول المحتويات:
- الخطوة 1: المفهوم
- الخطوة 2: قائمة التصميم والأجزاء
- الخطوة 3: اللوح و Micro Code
- الخطوة 4: لحام ثنائي الفينيل متعدد الكلور
- الخطوة 5: الخاتمة
فيديو: عداد دوران وعاء الدم باستخدام مصابيح LED ذات 7 شرائح: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
كان هذا المشروع مخصصًا لعداد دوران لعبة BloodBowl باستخدام ستة مصابيح LED من 7 شرائح Charlieplexed.
الخطوة 1: المفهوم
سألني أحد أصدقائي عن أفكار لبناء لعبة Bloodbowl Turn Counter في لعبة اللوح الخاصة به. لم أكن أعرف ما هو هذا وماذا يريد ، فقد استغرق الأمر بعض الوقت لاتخاذ قرار بشأن ما إذا كنت سأفعل ذلك وكيف سأفعل ذلك. الفكرة الأساسية هي أن يكون لديك 3 أزرار انضغاطية ، تتحكم في 3 مصابيح LED لكل منها ، وسيتم وضعها داخل برج مُصمم خصيصًا ، وكان الطلب الكبير الوحيد هو الحصول على أعلى 4 شاشات من 0 إلى 8 وإعادة تعيينها ، مع وجود 2 أقل. يعرض العد التنازلي من 8 إلى 0 ويعود بالدوران ، وسأكمل الدائرة ، وسيكمل البرج.
الخطوة 2: قائمة التصميم والأجزاء
نظرًا لأن المفهوم يستدعي 6 مصابيح LED ذات 7 مقاطع ، وكان لدي بعض الصور ذات الرقاقة الدقيقة 8 بت في متناول يدي ، فقد بحثت في طرق استخدام بلدان جزر المحيط الهادئ للتحكم في مؤشرات LED. لقد وجدت هذا الرابط https://www.mikroe.com/en/books /picbook/7_08chapter.htm الذي ينص على أنه "يمكن الوصول إلى ما يصل إلى 6 شاشات بهذا الشكل دون أن يتأثر سطوع كل شاشة." لقد اعتبرت هذا تحديًا وشيءًا يجب التحقيق فيه كجزء من مشروعي. أول شيء فعلته هو التقاط بعض العروض المتوهجة المكونة من 7 أجزاء من الصندوق الخاص بي ومعرفة كيفية عملها. اخبار سيئة. الأجزاء المحددة التي اخترتها لم تكن تتصرف كما أردت. سيضيء المقطع عند الحاجة ، على اللوح ، ولكن تم توزيع تيار التسرب على الأجزاء الستة الأخرى. أدركت أن الشاشات المتوهجة قد لا تكون الطريقة الأفضل ، أو كنت بحاجة لاستخدامها بطريقة مختلفة. لذلك من أجل البساطة ، تحققت من أن مصابيح LED ذات الأجزاء السبعة التي أمتلكها ستعمل على اللوح ، وطلبت بعض شاشات الأنود الشائعة ، وكان الشيء الثاني الذي احتجت إلى فعله هو تخطيط تصميمي والبدء في العمل على الكود. الصورة هي دائرتي. ليس كثيرًا ، لأن الكود الموجود في الموافقة المسبقة عن علم يعتني بتعدد الإرسال … errr Charlieplexing. ملاحظة: تحتوي جميع شاشات العرض الستة على نفس الخطوط من برنامج التشغيل IC. يمكّن المحدد IC كل شاشة ، 1 في كل مرة ، ويتم تحديث الخطوط المكونة من 7 مقاطع بواسطة الموافقة المسبقة عن علم وفقًا لذلك. فكرة بسيطة للغاية. بعد ذلك ، كل ما كان مطلوبًا هو الرمز وإكمال الأجهزة. قائمة الأجزاء بعد 3 طلبات صغيرة من Digi-Key أثناء اتخاذ قرار بشأن مكونات محددة ، كان لدي كل ما أحتاجه (مع بعض الأشياء في متناول اليد) ؛ 1 ~ 3 بوصة × 4 "مفاتيح ضغط صغيرة PCB6 (NO) 1 74LS47 ، شاشة عرض 7 مقاطع IC1 PIC16F627 1 CD4028 ، 1 من 10 محدد IC 6 مقاومات 10KOhm1 470Ohm المقاوم 1 بكرة من الأسلاك. لقد استخدمت ألوانًا وقياسات مختلفة ، ولكن هذا كان أنا فقط. 3) تحسين التصميم: لا توجد أي من هذه المشكلات في حد ذاتها معقدة للغاية ، ولكن التعامل معها جميعًا دون أي خبرة يمكن أن يكون أمرًا بسيطًا للغاية بالنسبة للمبتدئين. مطلوب مبرمج أجهزة لنسخ الجهاز ، ومحطة اللحام ، وما إلى ذلك … أول شيء قد يلاحظه شخص ما هو أن مصابيح LED ذات الأجزاء السبعة لا تحتوي على مقاومات متسلسلة (الحد الحالي)! اسمحوا لي أن أتطرق إلى ذلك بسرعة ، من خلال الإشارة إلى أن تصميمي الأصلي احتوى عليها … لكن اقرأ الخطوة التالية للتوضيح!
الخطوة 3: اللوح و Micro Code
كان اللوح أمرًا لا بد منه لهذا الغرض. الموضح هو لوح التجارب العام الخاص بي ، ولكن بالنسبة لحجم هذا المشروع ، استخدمت بالفعل هذا ولوحًا أصغر حجمًا ، حيث كان هناك العديد من الأسلاك التي يجب أن تكون متباعدة. أكد هذا 3 أشياء ؛ 1) تم التحقق من صحة توصيل أسلاك IC! 2) قادني إلى تحسين وإنهاء الكود الخاص بي.3) جعلني أدرك أنني لست بحاجة إلى المقاومات المحددة الحالية! 1 WIRING كما ذكر ، تم العثور على تصميمي التخطيطي للعمل مع الكود الخاص بي ، حيث أن LED سوف يتنقل عبر الأرقام باستخدام مفتاح زر ضغط واحد ، بحيث يتحقق من الكود والتخطيط. لم يكن الأمر مطلوبًا كثيرًا ، لكن لوح التجارب أكد أنني كنت في حالة جيدة. 2 كان لدى CODEI في الأصل رمز معيّن مع روتين أساسي للبحث عن الأزرار وعرض ISR (روتين خدمة المقاطعة) الأرقام ،. بعد اختبارات اللوح ، قمت بعكس الإجراءات ، لذلك كان معظم الوقت يعرض باستمرار الأرقام و ISR للتحقق من الأزرار. السبب في أنني فعلت ذلك ، هو فقط الحصول على عرض ثابت ، نظرًا لأن PIC تعمل بساعة داخلية 4 ميجا هرتز ، فأنا أضيع القليل من الوقت في البحث عن الأزرار. لا توجد مشكلة كبيرة … يعتمد فقط على الطريقة التي تريد بها تنفيذ التعليمات البرمجية وما هو الأكثر منطقية لكل تطبيق. لهذا ، يعد العرض مهمًا ، لذلك وضعت ذلك في الروتين الرئيسي. عندما وصلت أجزائي الأولى (جميع شاشات العرض الستة!) ، أكملت توصيل أسلاك اللوح ووجدت مشكلة أخرى. عند الضغط على الزر ، احتوى الكود الخاص بي على بعض السجلات القذرة التي لم يتم مسحها وكان ISR يتسبب في بعض الأخطاء الطفيفة في العرض. ==================================================== ===== ؛ عداد الدوران ؛؛ ----------- ؛ Dsply3 Dsply2 ؛ Dsply4 Dsply1 ؛ Led1 Led3 ؛ A5 | 4 15 | A6 - Led2 ؛ Vss | 5 14 | Vdd؛ Button1 B0 | 6 13 | ب 7 ؛ ب 1 | 7 12 | ب 6 ؛ B2 | 8 11 | B5 ؛ ب 3 | 9 10 | ب 4 ؛ ----------- ؛؛ LED1-3 - BCD-dec IC -LEDSeg's1-6 ؛ Dsply1-3 - BCD-7seg IC -Dsply # 1-9 ؛؛ =================================== ============================================== ؛ تاريخ المراجعة والملاحظات: رأس V1.0 الأولي ، الرمز 3/30/09 ؛ ؛؛ (C) 5/2009 ؛ يمكن استخدام هذا الرمز للتعلم / التطبيق / التعديل الشخصي. ؛ أي استخدام لهذا الرمز في المنتجات التجارية ينتهك هذا الإصدار المجاني. ؛ للأسئلة / التعليقات ، اتصل بدائرة dot mage على yahoo dot com. ؛ ------------------------------------------------ ------------------------------- # تشمل P16F627A. INC ؛ ============= ==================================================== ================ ؛ يعرّف ؛ ------------------------------------------------ -------------------------------؛ ================== ==================================================== =========== ؛ البيانات؛------------------------------------------------ ------------------------------- ؛ متغيرات حفظ الوقت العدد 1 يساوي 20 عدد 2 يساوي 21 dis1 يساوي 22dis2 يساوي 23dis3 يساوي 24dis4 يساوي 25dis5 يساوي 26dis6 يساوي 27w_temp يساوي 28status_temp يساوي 29ISRCNTR يساوي 2A ؛ ======================== ==================================================== ======= ؛ إعادة تعيين ناقلات ؛؛ تحقق من التكوين. بت قبل الاحتراق !!! ؛ INTOSC. MCLR: ممكّن ؛ PWRUP: تمكين ؛ كل الآخرين: تعطيل !! ؛؛ ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 ISR_ADDR EQU 0x04 org RESET_ADDR الانتقال إلى البداية ؛ == ==================================================== ============================ ؛ ISR ؛؛ ----------------------------------------------- -------------------------------- org ISR_ADDR movwf w_temp swapf STATUS، w movwf status_temp ؛؛ ISR هنا ؛ تحقق من مفاتيح PB0-PB5 btfsc PORTB ، 0 ؛ تحقق من SW1 call sw1debounce btfsc PORTB، 1 ؛ تحقق من SW1 call sw2debounce btfsc PORTB، 2 ؛ تحقق من SW1 call sw3debounce btfsc PORTB، 3 ؛ تحقق من SW1 call sw4debounce btfsc PORTB، 4 ؛ تحقق من SW1 call sw5debounce btfsc PORTB، 5 ؛ تحقق من SW1 call sw6debounce goto endisrsw1debounce call debounce ؛ انتظر 0.2 ثانية استدعاء debounce incf dis1 ؛ تحديث العداد movf dis1، W ؛ تحقق من وجود تجاوز xorlw 0x1A ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'10 '؛ نعم ، إعادة تعيين العرض. movwf dis1 returnsw2debounce call debounce ؛ انتظر 0.2 ثانية call debounce incf dis2 ؛ تحديث العداد movf dis2، W ؛ تحقق من وجود تجاوز xorlw 0x4A ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'40 '؛ نعم ، إعادة تعيين العرض. movwf dis2 returnsw3debounce call debounce ؛ انتظر 0.2 ثانية call debounce incf dis3 ؛ تحديث العداد movf dis3 ، W ؛ تحقق من وجود تجاوز xorlw 0x5A ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'50 '؛ نعم ، إعادة تعيين العرض. movwf dis3 returnsw4debounce call debounce ؛ انتظر 0.2 ثانية استدعاء debounce incf dis4 ؛ تحديث العداد movf dis4، W؛ تحقق من وجود تجاوز xorlw 0x8A ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'80 '؛ نعم ، إعادة تعيين العرض. movwf dis4 returnsw5debounce call debounce ؛ انتظر 0.2 ثانية استدعاء debounce incf dis5 ؛ تحديث العداد movf dis5، W ؛ تحقق من وجود تجاوز xorlw 0x9A ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'90 '؛ نعم ، إعادة العرض. movwf dis5 returnsw6debounce call debounce ؛ انتظر 0.2 ثانية call debounce incf dis6 ؛ تحديث العداد movf dis6، W ؛ تحقق من وجود تجاوز xorlw 0xCA ؛ 10 في 7 سيغ؟ btfss STATUS ، إرجاع Z ؛ لا ، ارجع للمسح. movlw h'C0 '؛ نعم ، إعادة العرض. movwf dis6 returnendisr bcf INTCON، T0IF swapf status_temp، w movwf STATUS swapf w_temp، f swapf w_temp، wretfie؛ ============================== ==================================================== = ؛ أبدأ هنا!؛---------------------------------------------- ---------------------------------بداية ؛ منافذ الإدخال / الإخراج التكوين clrf PORTA movlw 0x07 movwf CMCON bcf STATUS ، RP1 bsf STATUS ، RP0 movlw h'00 '؛ مخرجات RA ، RA5 لا يوجد خرج movwf TRISA bcf STATUS ، RP0 clrf PORTB bsf STATUS ، RPF' movlw ؛ h مدخلات RB movwf TRISB ؛ ضبط المؤقت الداخلي bsf PCON ، 3 ؛ اضبط على 4 ميجا هرتز. movlw h'CF '؛ Tmr0 مصدر داخلي ، مقياس مسبق TMR0 1: 256 movwf OPTION_REG movlw h'A0 'movwf INTCON ؛ تمكين المقاطعات TMR0 ، bcf STATUS ، RP0 ؛ تهيئة التسجيلات clrf PORTA ؛ مسح PortA clrf PORTB ؛ مسح PortB مخرجات clrf عدد 1 clrf count2 movlw h'10 'movwf dis1 movlw h'40' movwf dis2 movlw h'50 'movwf dis3 movlw h'80' movwf dis4 movlw h'90 'movwf dis5 movlw h'C0' movwf dis6 call تنقض. 0.2 ثانية ؛ اختبار LEDs ، عرض 8 ؟؟؟ ؛ ======================================== ========================================== ؛ الأساسية؛ يحصل على المدخلات من شاشات التبديل ، والتخفيضات والشوائب. العرض 1-6 سلكي ؛ أولاً ، يتم تحميل BCD-7Seg IC بقيمة العرض ، ويتم تنشيط BCD-Dec IC من أجل ؛ تحديد العرض ؛ ثانيًا ، يتم تعليق تأخير بالمللي ثانية للعرض ؛ ثالثًا ، BCD-Dec تم إلغاء تنشيط IC … تم تحديد display0 لإيقاف العرض ؛؛ يتكرر هذا لكل من الشاشات الستة ، ويتم تكرار ذلك في الحلقة. ؛ ISR يتعامل مع استشعار التبديل بمعدل 15 هرتز. ؛ -------------- -------------------------------------------------- --------------- main؛ Disp1 movf dis1، 0 movwf PORTA call ledon goto main؛ ===================== ==================================================== ======== ؛ ليدون. ضبط الوقت لتشغيل الصمام الثنائي الباعث للضوء ؛ 6 شاشات -> 1/6 دورة عمل عند 1 كيلو هرتز = 166 دورة ؛ ----------------------------------- -------------------------------------------- ledon movlw.54 movwf count1ledloop decfsz count1، F goto ledloopreturn؛ ============================================ ===================================== ؛ إشارة الانقضاض 4 دورات للتحميل والاستدعاء ، دورتان للعودة ؛ 4 ميجا هرتز تك:: count2 = 255 -> 0.2 ثانية ؛ -------------------------------------- ----------------------------------------- debounce movlw.255 ؛ تأخير للخصم 1/5 ثانية. movwf count2 استدعاء pon_wait return ؛ -------------------------------------------- ----------------------------------- ؛ count1 = 255d:: 775 دورة إلى 0 ، + 3 دورات للعودة. --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1، F goto short_loopS decfsz count2، F goto big_loopSreturnend3 كان لدى CIRCUITI في الأصل 470 أوم مقاومات من كل خط تشغيل عرض من خط تمكين 74LS47 و CD4028. ومع ذلك ، اختبرت السحب الحالي لدارتي ووجدت أنها تسحب فقط 31 مللي أمبير. ونظرًا لأن المحرك الفعلي للشاشات هو مباشرة من 74LS47 وتمكينه من IC آخر ، فإن التشغيل السريع لمتوسط ومتطلبات الذروة وأوراق البيانات ذات الصلة … ! يبدو أن قيادة خط CA مباشرة من 4028 أثناء قيادة جميع القطاعات مباشرة أمر جيد! …نوعا ما.:) لدي خلل في الكود الخاص بي لم يمسح سجلاتي عند الضغط على زر ، مما تسبب في أن يكون للشاشة الأخيرة مقطعين مضيئين للغاية عند الضغط على الزر. كان هذا سيئا. ومع ذلك ، أدى مسح السجل إلى إصلاح هذه المشكلة ، وتؤكد فحوصات الطاقة المستمرة أنها تساوي باستمرار حوالي 30 مللي أمبير. يجب أن يمنحني هذا (استنادًا إلى الخبرة السابقة مع الدوائر المماثلة) حوالي 20 ساعة من وقت التشغيل باستخدام بطارية 1 9 فولت (500 مللي أمبير / 30 مللي أمبير بموجب تنظيم 5 فولت) … آمل! قررت الاحتفاظ بمصباح LED مدفوعًا بشكل مباشر ، ولكن ضعها في مآخذ في حالة حدوث شيء ما ، على المدى الطويل.
الخطوة 4: لحام ثنائي الفينيل متعدد الكلور
في كل مرة أصل إلى هذه النقطة في مشروعي ، أقوم بتأخير بسيط. في البداية كنت سأقوم بلف هذا الشيء بالأسلاك ، لكني سرعان ما تخلت عن هذه الفكرة. في البداية أعتقد أن "بعض الأسلاك للحام ، ليست مشكلة كبيرة" … ثم ، بحلول الوقت الذي يكون مشروعي جاهزًا للحام ، أفكر ، " كان يجب أن أرسل لوحة أولية أو أنقش لوحة خاصة بي ". أنا لست في نقش ثنائي الفينيل متعدد الكلور (حتى الآن) ، ولا أريد أن أدفع دولارًا أمريكيًا لصنع لوحة ، لذلك … نعم ….. لقد أمضيت حوالي 3 ساعات في لحام هذا الشيء. إنها عبارة عن حوالي 150 سلكًا ، أي 300 نقطة لحام ، بالإضافة إلى اللمسات الأخيرة لجسور اللحام. على أي حال ، هذا هو الجانب الخلفي للوحة المصورة …. استغرق الأمر 20 دقيقة من التفكير منذ أن أظهرت الشاشة عرض # الخطأ بنمط منطقي كان علي فك شفرته. بعد ذلك ، حددت موقع القصير ، وبام! عملت على أكمل وجه.
الخطوة 5: الخاتمة
نجح هذا المشروع! استغرق هذا المشروع حوالي أسبوعين للتفكير وإرسال النقاط الجيدة بالبريد الإلكتروني إلى مقدم الطلب ، حوالي 3 ساعات من إكمال الكود وتصحيح الأخطاء ، حوالي 4 ساعات من اللوح والتصحيح ، ~ 3 ساعات من اللحام باستخدام 3 وحدات IC فقط ، من الممكن المصابيح Charlieplex 6 ذات 7 مقاطع. سحب الطاقة حوالي 30 مللي أمبير مع هذا التصميم ، وهذا ليس سيئًا إذا قلت ذلك بنفسي ، أشك في إمكانية استخدام المزيد من مصابيح LED المكونة من 7 مقاطع ، لكن لم يتم دفع المغلف. يمكن تطبيقها على أي تطبيق تقريبًا باستخدام مصابيح LED ذات 7 مقاطع ؛ مقياس حرارة ، ساعة ، عرض نص ، إلخ. مع بعض التعليمات البرمجية الصعبة ، يمكن أن يكون لديك شاشة متحركة ، أو صور … ربما حتى قاعدة لمشروع POV (استمرار الرؤية). يُترك التنفيذ النهائي لصديقي لبناء برجه ووضع اللوح فيه ، كما يراه مناسبًا. إذا / عندما يتم ذلك ، سأحصل على صورة تم تحميلها. ولكن بالنسبة للدائرة ، يبدو أن هذا مبني حسب الطلب!
موصى به:
مصابيح LED ذات تأثير مطارد للقلب مثيرة للاهتمام DIY: 8 خطوات (مع صور)
مصابيح LED ذات تأثير مطارد للقلب المثير للاهتمام DIY: يغطي هذا الهيكل كيفية صنع أضواء LED ذات تأثير سحري مذهل لمطاردة حبيبك وأبيك وأمك وزملائك في الفصل وأصدقائك الحميمين. من السهل جدًا بناء هذا طالما أن لديك صبرًا. أوصي بالحصول على بعض الخبرة في اللحام إذا كنت تبني
ساعة LED ذات 7 شرائح بتقنية WiFi: 3 خطوات (بالصور)
ساعة LED ذات الأجزاء السبعة لشبكة WiFi: المشروع: ساعة LED ذات 7 شرائح من WiFi ، التاريخ: نوفمبر - ديسمبر 2019 ، تستخدم الساعة ذات الأجزاء السبعة مصدر Anode 5V مشترك عبر مقاومات 22ohm تعتمد على التحكم في Shift Register. كان السبب الرئيسي لبناء هذه الساعة هو إعادة استخدام ساعتين بجانب السرير
مصابيح ذات طبقات بإطار خشبي: 10 خطوات (مع صور)
مصابيح ذات طبقات في إطار خشبي: يحتوي هذا الضوء على طبقات من اللوح الخشبي تم قطعها بالليزر ، ثم توضع داخل إطار خشبي. بعض الاستخدامات: استخدمه كمصباح على خزانة الملابس! ضعها على الرف في كابينة تاهو التي تستأجرها لقضاء عطلة نهاية الأسبوع مع الأصدقاء! تعلقها
كيفية صنع مروحة طاولة صغيرة ذات دوران تلقائي: 5 خطوات (بالصور)
كيف تصنع مروحة طاولة دوران أوتوماتيكية صغيرة: مرحبًا يا رفاق ، في هذا Instructable سوف أرشدكم إلى صنع مروحة طاولة دوران أوتوماتيكية صغيرة خاصة بكم مع عدد أقل من المكونات. يمكن تشغيل هذا الجهاز بمصدر 9 فولت وينتج نسيمًا مذهلاً. تتأرجح هذه المروحة بزاوية 120 درجة كحد أقصى
عداد عرض 7 شرائح: 3 خطوات
عداد عرض 7-Segment: لدي اليوم مشروع آخر لك - عداد عرض مكون من 7 أرقام. إنه مشروع صغير ممتع يتم حسابه من 0 إلى 9 ثم العودة من 0. يمكنك فقط استخدامه كبرنامج تعليمي عام حول استخدام هذا النوع الشائع من العرض. أجزاء هذا