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

ساحر Warhammer على قرص بمحرك ومصابيح LED مقترنة مغناطيسيًا: 4 خطوات
ساحر Warhammer على قرص بمحرك ومصابيح LED مقترنة مغناطيسيًا: 4 خطوات

فيديو: ساحر Warhammer على قرص بمحرك ومصابيح LED مقترنة مغناطيسيًا: 4 خطوات

فيديو: ساحر Warhammer على قرص بمحرك ومصابيح LED مقترنة مغناطيسيًا: 4 خطوات
فيديو: خطير .... تاجر مخدرات يعتدي على شرطي ويهدده بالقتل على المباشر شوفو السيف اللي هاز 2024, يوليو
Anonim
ساحر Warhammer على قرص بمحرك مزدوج مغناطيسي ومصابيح LED
ساحر Warhammer على قرص بمحرك مزدوج مغناطيسي ومصابيح LED

هل تريد إضافة بعض PIZZAZZ إلى مشاريعك الفنية؟ المحركات ومصابيح LED هي السبيل للذهاب!

هل أنت من عشاق ألعاب Warhammer؟ هذا واحد لك! هذا هو Tzeentch Sorcerer Lord على القرص ، تمت مراجعته بإضافة 3 مصابيح LED ومحرك وميكرو (PIC) وبطارية صغيرة. يغطي هذا التوجيه البناء والقضايا المكتملة.

الخطوة 1: الدائرة

دائرة كهربائية
دائرة كهربائية

أولاً ، قد تتساءل ما هو هذا. هذا هو المنمنمات التي صنعت خصيصًا لطاولة المناورات المسماة Warhammer. الرجل الموجود في الأعلى هو نموذج عادي من صانع اللعبة (Gamesworkshop) ، لكن القرص والقاعدة كلها ملكي. التصميم بالنسبة له هو موضوع آخر قابل للتوجيه ، لذلك لن أخوض في ذلك هنا الدائرة كانت الفكرة الأساسية هنا هي أخذ جهاز صغير مكون من 8 سنون للتحكم في 3 مصابيح LED ومحرك ، بإمداد صغير قدر الإمكان. يعتبر استخدام "الأيدي المساعدة" ، كما هو الحال دائمًا ، فكرة جيدة. تحتوي هذه الأشياء على مقطعين للاحتفاظ بأي شيء تعمل عليه. لم تكن هناك حاجة إلى تخطيطي ، حيث أن الانطباق بسيط للغاية ؛ 8 دبوس مايكرو (Microchip PIC) مع 3 دبابيس إخراج تذهب مباشرة إلى LEDs ، و 2 دبابيس إخراج تذهب إلى محرك واحد المصابيح المستخدمة هي من النوع الأزرق والأبيض والأحمر للتركيب على السطح. المحرك المستخدم ممزق من طائرة هليكوبتر صغيرة داخلية مكسورة. تم أيضًا انتزاع البطارية (ليبو صغير) من طائرات الهليكوبتر ، لكنني أخطط بالفعل لاستخدام مصدر آخر لمزيد من المعلومات. تم إضافة مفتاح تشغيل / إيقاف.

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

الشفرة
الشفرة

تم إنشاء رمز الموافقة المسبقة عن علم لتحسين عمر البطارية واستخدام العديد من "الأحداث" العشوائية. ولكي تدوم البطارية لأطول فترة ممكنة ، كان على الدائرة استخدام أقل قدر ممكن من الطاقة ، مع الحفاظ على الفكرة حية. لذلك ، قررت تقليل النشاط الأولي إلى متوسط فلاش LED واحد أو تحرك المحرك كل 6 ثوانٍ. يحتوي الكود على 12 "نشاطًا" عشوائيًا ، بدءًا من تشغيل 1 LED ، وتشغيل المحرك لفترات زمنية أو اتجاهات مختلفة ، إلى حالة انتظار عشوائية. تختلف الأحداث من 3 ثوان على حدة إلى أكثر من 40 ثانية ، بناءً على الحدث العشوائي الذي تم إنشاؤه. ==================================================== ؛ وحدة تحكم القرص ؛ ؛ ----------- ؛ Vcc-> | 1 8 | <-Vss؛ MGPIO5 | 2 7 | GPIO0 -LED1 ؛ MGPIO4 | 3 6 | GPIO1 -LED2 ؛ GPIO3-> | 4 5 | GPIO2 -LED3 ؛ ----------- ؛؛ ====================================== =========================================== ؛ تاريخ المراجعة والملاحظات: رأس V1.0 الأولي ، الرمز 5/19/09 ؛ ؛؛ (C) 5/2009 ؛ يمكن استخدام هذا الرمز للتعلم / التطبيق / التعديل الشخصي. ؛ أي استخدام لهذا الرمز في المنتجات التجارية ينتهك هذا الإصدار المجاني. ؛ للأسئلة / التعليقات ، اتصل بدائرة dot mage على yahoo dot com. ؛ ------------------------------------------------ ------------------------------- # تتضمن P12C672. INC ؛ ============= ==================================================== ================ ؛ يعرّف ؛ ------------------------------------------------ -------------------------------؛ ================== ==================================================== =========== ؛ البيانات؛------------------------------------------------ ------------------------------- ؛ متغيرات حفظ الوقت العدد 1 يساوي 20 عدد 2 يساوي 21 تأخير يساوي 22 راندلو يساوي 23 راندي يساوي 24 واتيمب يساوي 25 تيمب 2 يساوي 26 جراند يساوي 27 كونت 3 يساوي 28 ؛ =========================== ==================================================== === ؛ إعادة تعيين ناقلات ؛؛ تحقق من التكوين. بت قبل الاحتراق !!! ؛ INTOSC. MCLR: ممكّن ؛ PWRUP: تمكين ؛ كل الآخرين: تعطيل !! ؛؛ ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR بدء ؛ ===== ==================================================== ========================= ؛ أبدأ هنا!؛---------------------------------------------- ---------------------------------بداية ؛ تكوين منافذ الإدخال / الإخراج bcf STATUS ، RP1 bsf STATUS ، RP0 movlw h'08 '؛ مخرجات RA ، PGIO3 دائمًا ما تدخل تريس GPIO movlw h'07' ؛ اضبط GPIO على الوضع الرقمي movwf ADCON1 ؛ ضبط المؤقت الداخلي movlw h'CF '؛ Tmr0 مصدر داخلي ، مقياس مسبق TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON ؛ تعطيل المقاطعات TMR0 ، حالة bcf ، RP0 ؛ تهيئة التسجيلات clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi ؛ انتظر 1 ثانية. استدعاء debounce خصم 0.2 ثانية من استدعاء Debounce Call Debounce Call Debounce ========================================= ؛ الأساسية؛------------------------------------------------ ------------------------------- المكالمة الرئيسية مرتين ؛ دقيقتان بين كل إجراء rrf Randhi ، W xorwf Randlo ، W movwf Wtemp swapf Wtemp rlf Randhi ، W xorwf Randhi ، W ؛ LSB = xorwf (Q12، Q3) xorwf Wtemp rlf Wtemp rlf Randlo rlf Randhi movfw Wtemp ؛ قطاع عشوائي 16 وصولاً إلى 7 andlw 0x0F movwf rand ؛ اختيار روتين عشوائي xorlw 0x00 ؛ 0؟ btfsc STATUS، Z goto flash1؛ نعم فعلا. استدعاء 0th movfw rand xorlw 0x01 ؛ 1؟ btfsc STATUS، Z goto flash2؛ نعم فعلا. استدعاء 1st movfw rand xorlw 0x02 ؛ 2؟ btfsc STATUS، Z goto flash3؛ نعم فعلا. استدعاء 2nd movfw rand xorlw 0x03 ؛ 3؟ btfsc STATUS، Z goto flashall؛ نعم فعلا. استدعاء 3rd movfw rand xorlw 0x04 ؛ 4؟ btfsc STATUS، Z goto movels؛ نعم فعلا. استدعاء 4th movfw rand xorlw 0x05 ؛ 5؟ btfsc STATUS، Z goto movell؛ نعم فعلا. استدعاء 5th movfw rand xorlw 0x06 ؛ 6؟ btfsc STATUS، Z goto المحركون؛ نعم فعلا. استدعاء 6th movfw rand xorlw 0x07 ؛ 7؟ btfsc STATUS، Z goto moverl؛ نعم فعلا. استدعاء 7th movfw rand xorlw 0x08 ؛ 8؟ btfsc STATUS، Z goto moveburst؛ نعم فعلا. استدعاء 8th movfw rand xorlw 0x09 ؛ 9؟ btfsc STATUS، Z goto Wait1؛ نعم فعلا. استدعاء 9th movfw rand xorlw 0x0A ؛ أ؟ btfsc STATUS، Z goto Wait2؛ نعم فعلا. استدعاء Ath movfw rand xorlw 0x0B ؛ ب؟ btfsc STATUS ، Z goto Wait3 ؛ نعم فعلا. استدعاء Bth حصلت على لا شيء ؛ 1/4 الوقت ، لا تفعل شيئًا لمدة 10 ثوانٍ. flash1 bsf GPIO ، 0 call debounce bcf GPIO ، 0 goto mainflash2 bsf GPIO ، 1 call debounce bcf GPIO ، 1 goto mainflash3 bsf GPIO ، 2 call debounce bcf GPIO ، 2 goto mainflashall bsf GPIO، 0 bsf GPIO، 1 bsf GPIO، 2 call debounce call debounce bcf GPIO، 0 bcf GPIO، 1 bcf GPIO، 2 goto mainmovels bsf GPIO، 4 bcf GPIO، 5 call debounce bcf GPIO، 4 goto mainmovell bsf GPIO، 4 bcf GPIO، 5 call debounce call debounce bcf GPIO، 4 goto mainmovers bcf GPIO، 4 bsf GPIO، 5 call debounce bcf GPIO، 5 goto mainmoverl bcf GPIO، 4 bsf GPIO، 5 call debounce debounce bcf GPIO، 5 goto mainmoveburst bcf GPIO، 4 bsf GPIO ، 5 call debounce ؛ التحرك لليمين 3 مرات ، رشقات نارية قصيرة. bcf GPIO، 5 call debounce call debounce bsf GPIO، 5 call debounce bcf GPIO، 5 call debounce bsf GPIO، 5 call debounce bcf GPIO، 5 call debounce call debounce call debounce bsf GPIO، 4 ؛ تحرك إلى اليسار 3 مرات ، رشقات نارية قصيرة. bcf GPIO، 5 call debounce call debounce bcf GPIO، 4 call debounce call debounce bsf GPIO، 4 call debounce call debounce bcf GPIO، 4 call debounce call debounce bsf GPIO، 4 call debounce call debounce bcf GPIO، 4 call debounce debounce goto mainWait1 ؛ انتظر 1 ثانية movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait goto mainWait2؛ انتظر 0.6 ثانية movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait movlw.255 ؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait goto mainWait3؛ انتظر لمدة 4 ثوانٍ ، اتصل مرتين وثلاثين ثانية ، ثم انتقل إلى mainnothing movlw.50 ؛ تأخير لمدة 10 ثوانٍ إجمالي عدد movwf3nothing_loop movlw.255؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait decfsz count3، F goto nothing_loop goto main؛ ===================================== =========================================== ؛ 2 ثانية انتظر ؛ ---------------------------------------------- --------------------------------- اثنان وثلاثون movlw.10 ؛ تأخير لمدة 2 ثانية إجمالي عدد movwf 3twosec_loop movlw.255؛ تأخير للاهتزاز 2/10 من الثانية. movwf count2 call pon_wait decfsz count3، F goto twosec_loopreturn؛ ======================================== ========================================= ؛ إشارة الانقضاض 4 دورات للتحميل والاستدعاء ، دورتان للعودة ؛ 4 ميجا هرتز تك:: count2 = 255 -> 0.2 ثانية ؛ -------------------------------------- ----------------------------------------- debounce movlw.127 ؛ تأخير للاهتزاز 1/10 من الثانية. movwf count2 استدعاء pon_wait return ؛ -------------------------------------------- ----------------------------------- ؛ count1 = 255d:: 775 دورة إلى 0 ، + 3 دورات للعودة. --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 عدد movwf 1 عدد_حلقات_قصيرة عدد decfsz 1 ، عدد حلقات_حلقة قصيرة عدد decfsz عدد 2 ، الانتقال إلى حلقة كبيرة

الخطوة 3: الأجزاء

القطع
القطع

توضح هذه الصورة كيف كان عليّ أن أحصل على المكونات لتناسب هذا الرجل. 1 رقاقة صغيرة ذات 8 سنون (PIC) 3 SMT LED (أزرق ، أحمر ، أبيض) 1 محرك من micro heli داخلي ، وبطارية LIPO واحدة من نفس طائرات الهليكوبتر. 1 مفتاح الطاقة 1 2.5 مم وتد خشبي (2 بوصة طويلة) 2 1 مم مغناطيس أرضي نادر

الخطوة 4: بناء

يبني
يبني

أولاً ، تم العثور على مركز كتلة لكل شيء. ستكون هذه منطقة تركيب المحرك. تم تركيب المحرك باستخدام مادة لزجة تسمى Greenstuff (المستخدمة في عالم المنمنمات). تم توصيل المصابيح الثلاثة مسبقًا بالأسلاك ، وتم لصقها بالغراء في منطقة بعيدة ، وليست قريبة جدًا من الحافة. تم تركيب مفتاح الطاقة والبطارية لموازنة الوزن (الصغير) للمايكرو ، للحفاظ على التوازن. تم لحام الأسلاك ، والجزء الرائع حقًا هو التالي ، Superlue على طرف ترس الدوار على المحرك (سيكون هذا متجهًا لأسفل لاحقًا) تم تركيب مغناطيس أرضي نادر. تم حفر وتد خشبي قصير (~ 2 بوصة) بقطر 2.5 (باستخدام اليد والقمة) لثقب بعمق 5 مم بقطر 1 مم. في هذا الثقب تم لصق مغناطيس أرضي نادر آخر 1 مم. الآن ، قاعدتي للشكل مغناطيسي مقترنة بدوار المحرك. عندما يدور المحرك ، من مركز توازنه ، فإنه يدير الجزء العلوي بالكامل من الشكل. تم قطع قش أحمر لتغطية المحرك والوتد الخشبي. تم قياس هذا مسبقًا قبل أن يتم تثبيت وتد الخشب مثبتة ، للتأكد من مطابقتها ، خرج بطارية LIPO يقرأ حاليًا 3.4 فولت دون إعادة الشحن. وهذا يكفي لتدوير المحرك وإضاءة مصابيح LED ، ولكن مع الشكل المثبت على القاعدة ، فإنه لا يدور بنفسه. استخدم بطارية 12 فولت عن بعد مع منظم 5 فولت لمزيد من الطاقة!

موصى به: