সুচিপত্র:

ওয়ারহ্যামার যাদুকর ডিস্কে ম্যাগনেটিক্যালি-কাপলড মোটর এবং এলইডি সহ: 4 টি ধাপ
ওয়ারহ্যামার যাদুকর ডিস্কে ম্যাগনেটিক্যালি-কাপলড মোটর এবং এলইডি সহ: 4 টি ধাপ

ভিডিও: ওয়ারহ্যামার যাদুকর ডিস্কে ম্যাগনেটিক্যালি-কাপলড মোটর এবং এলইডি সহ: 4 টি ধাপ

ভিডিও: ওয়ারহ্যামার যাদুকর ডিস্কে ম্যাগনেটিক্যালি-কাপলড মোটর এবং এলইডি সহ: 4 টি ধাপ
ভিডিও: বড় পর্দায় আসছে জনপ্রিয় যুদ্ধভিত্তিক গেমস ওয়ারহ্যামার | Henry Cavill | Hollywood | Desh TV 2024, জুলাই
Anonim
ওয়ারহ্যামার জাদুকর চুম্বকীয়ভাবে সংযুক্ত মোটর এবং এলইডি সহ ডিস্কে
ওয়ারহ্যামার জাদুকর চুম্বকীয়ভাবে সংযুক্ত মোটর এবং এলইডি সহ ডিস্কে

আপনার শিল্প প্রকল্পে কিছু PIZZAZZ যোগ করতে চান? মোটর এবং LEDs যেতে উপায়!

আপনি কি ওয়ারহ্যামার গেমিং উত্সাহী? এটা তোমার জন্য! এটি ডিস্কে আমার Tzeentch Sorcerer Lord, যোগ করা 3 LED এর, একটি মোটর, একটি মাইক্রো (PIC) এবং ছোট ব্যাটারির সাথে সংশোধিত। এই নির্দেশযোগ্য সম্পূর্ণ বিল্ড এবং সমস্যাগুলি জুড়ে।

ধাপ 1: সার্কিট

সার্কিট
সার্কিট

প্রথমত, আপনি হয়তো ভাবছেন এটা কি। ওয়ারহ্যামার নামক টেবিলটপ ওয়ারগেমের জন্য এটি আমার কাস্টম তৈরি ক্ষুদ্রাকৃতি। শীর্ষে থাকা লোকটি গেমের নির্মাতা (গেমসশপ) থেকে একটি নিয়মিত মডেল, তবে ডিস্ক এবং বেসটি সবই আমার। তার জন্য নির্মাণ আরেকটি নির্দেশযোগ্য বিষয়, তাই আমি এখানে won'tুকবো না। সার্কিট এখানে মূল ধারণাটি ছিল একটি ছোট, 8 পিন মাইক্রো 3 এলইডি এবং একটি মোটরকে নিয়ন্ত্রণ করার জন্য, যতটা সম্ভব ছোট সরবরাহের সাথে। "সাহায্য-হাত" ব্যবহার, সর্বদা হিসাবে, একটি ভাল ধারণা। এই জিনিসগুলির দুটি ক্লিপ আছে যা আপনি কাজ করছেন তা ধরে রাখার জন্য কোন পরিকল্পিত প্রয়োজন ছিল না, কারণ ইমপেমেন্টেশন খুব সহজ; একটি 8 পিন মাইক্রো (মাইক্রোচিপ PIC) 3 আউটপুট পিন দিয়ে সরাসরি LEDs তে যাচ্ছে এবং 2 আউটপুট পিন 1 মোটরে যাচ্ছে এলইডি ব্যবহৃত হল একটি নীল, সাদা এবং লাল পৃষ্ঠের মাউন্ট টাইপ। ব্যবহৃত মোটরটি একটি ভাঙা ইনডোর মাইক্রো হেলিকপ্টার থেকে ছিঁড়ে ফেলা হয়েছিল। ব্যাটারি (ছোট লিপো) হেলি থেকেও ছিঁড়ে ফেলা হয়েছিল, কিন্তু আমি ইতিমধ্যেই আরও একটি উৎস ব্যবহার করার পরিকল্পনা করেছি শক্তি চালু/বন্ধ করার জন্য একটি সুইচ যোগ করা হয়েছে।

ধাপ 2: কোড

কোড
কোড

ব্যাটারি লাইফ অপ্টিমাইজ করার জন্য এবং অনেক এলোমেলো "ইভেন্ট" ব্যবহার করার জন্য PIC এর কোডটি তৈরি করা হয়েছিল। ব্যাটারি যতদিন সম্ভব দীর্ঘস্থায়ী করার জন্য, সার্কিটটি আমি ধারণ করতে পারার জন্য সর্বনিম্ন শক্তি ব্যবহার করতে হয়েছিল, ধারণাটি জীবিত রেখে । সুতরাং, আমি প্রাথমিক কার্যকলাপকে প্রতি 6 সেকেন্ডে 1 টি এলইডি ফ্ল্যাশ বা মোটর সরানোর গড় করার সিদ্ধান্ত নিয়েছি। কোডটিতে 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;;; ।; ------------------------------------------------ -------------------------------#অন্তর্ভুক্ত P12C672. INC; ============= ====================================================== ================; সংজ্ঞায়িত করে; ------------------------------------------------ -------------------------------; ================== ======================================================== ===========; ডেটা; ------------------------------------------------ -------------------------------; সময় পালন পরিবর্তনশীল হিসাব 1 সমান 20 গণনা 2 সমান 21 বিলম্ব সমান 22 র্যান্ডলো সমান 23 রাঁধী সমান 24Wtemp সমীকরণ 25 ====================================================== ===; ভেক্টর রিসেট করুন;; কনফিগ চেক করুন। পোড়ানোর আগে বিট !!! INTOSC; MCLR: সক্ষম; PWRUP: সক্ষম; অন্যান্য সকল: অক্ষম !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR শুরু হয়েছে; ===== ======================================================== ==========================; এখান থেকে শুরু কর!;---------------------------------------------- --------------------------------- শুরু; কনফিগ I/O পোর্ট bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA আউটপুট, PGIO3 সর্বদা ইনপুট tris GPIO movlw h'07'; GPIO কে ডিজিটাল মোডে movwf ADCON1 এ সেট করুন; অভ্যন্তরীণ টাইমার movlw h'CF 'সেট করুন; Tmr0 অভ্যন্তরীণ উৎস, prescale TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; TMR0 বাধা, bcf STATUS, RP0 নিষ্ক্রিয় করুন; নিবন্ধন শুরু করুন clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; 1 সেকেন্ড অপেক্ষা করুন। কল ডিবাউন্স; 0.2 সেকেন্ড কল debounce কল debounce কল debounce কল debounce; =========================================== ==============================================; প্রধান; ------------------------------------------------ ------------------------------- প্রধান কল twosec; প্রতিটি কর্মের মধ্যে 2 সেকেন্ডের মধ্যে 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 পর্যন্ত এবং এলোমেলো রুটিন নির্বাচন xorlw 0x00; 0? বিটিএফএসসি স্ট্যাটাস, জেড গোটো ফ্ল্যাশ 1; হ্যাঁ. 0 ম movfw র্যান্ড xorlw 0x01 কল করুন; 1? বিটিএফএসসি স্ট্যাটাস, জেড গোটো ফ্ল্যাশ 2; হ্যাঁ. 1 ম movfw র্যান্ড xorlw 0x02 কল করুন; 2? বিটিএফএসসি স্ট্যাটাস, জেড গোটো ফ্ল্যাশ 3; হ্যাঁ. 2nd movfw rand xorlw 0x03 কল করুন; 3? বিটিএফএসসি স্ট্যাটাস, জেড গোটো ফ্ল্যাশল; হ্যাঁ. 3 য় movfw র্যান্ড xorlw 0x04 কল করুন; 4? বিটিএফএসসি স্ট্যাটাস, জেড গোটো মুভলস; হ্যাঁ. চতুর্থ movfw র্যান্ড xorlw 0x05 কল করুন; 5? বিটিএফএসসি স্ট্যাটাস, জেড গোটো মুভেল; হ্যাঁ. 5 ম movfw র্যান্ড xorlw 0x06 কল করুন; 6? বিটিএফএসসি স্ট্যাটাস, জেড গোটো মুভারস; হ্যাঁ. ষষ্ঠ movfw র্যান্ড xorlw 0x07 কল করুন; 7? বিটিএফএসসি স্ট্যাটাস, জেড গোটো মুভারল; হ্যাঁ. 7 ম movfw র্যান্ড xorlw 0x08 কল করুন; 8? btfsc স্ট্যাটাস, Z goto moveburst; হ্যাঁ. 8 ম movfw র্যান্ড xorlw 0x09 কল করুন; 9? btfsc স্ট্যাটাস, Z goto Wait1; হ্যাঁ. 9 ম movfw র্যান্ড xorlw 0x0A কল করুন; ক? btfsc স্ট্যাটাস, Z goto Wait2; হ্যাঁ. Ath movfw rand xorlw 0x0B কল করুন; খ? btfsc স্ট্যাটাস, Z goto Wait3; হ্যাঁ. কল Bth goto কিছুই না; 1/4 সময়, 10 সেকেন্ডের জন্য কিছুই করবেন না। 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 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 call debounce bcf GPIO, 5 goto mainmoveburst 4 bsf GPIO, 5 কল debounce; ডানদিকে 3 বার সরান, ছোট বিস্ফোরণ। bcf GPIO, 5 call debounce call debounce bsf GPIO, 5 call debounce call debounce bcf GPIO, 5 call debounce call debounce bsf GPIO, 5 call debounce bcf GPIO, 5 call debounce call debounce 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 call debounce goto mainWait1; অপেক্ষা করুন 1 সেকেন্ড movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait goto mainWait2; অপেক্ষা করুন 0.6 সেকেন্ড movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait goto mainWait3; অপেক্ষা করুন 4 সেকেন্ড কল দুই সেক কল দুই সেকেন্ড গোটো মেইননিথিং movlw.50; 10 সেকেন্ডের জন্য বিলম্ব মোট movwf count3nothing_loop movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait decfsz count3, F goto nothing_loop goto main; ========================================= ==============================================; 2 সেকেন্ড অপেক্ষা; ---------------------------------------------- --------------------------------- দুই সেকেন্ড movlw.10; 2 সেকেন্ডের জন্য বিলম্ব মোট movwf count3twosec_loop movlw.255; 2/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait decfsz count3, F goto twosec_loopreturn; =========================================== ==============================================; ডিবাউন্স সিগন্যাল; লোড এবং কল করার জন্য 4 চক্র, 2 চক্র ফেরত। 4Mhz Tc:: count2 = 255-> 0.2 sec; -------------------------------------- ----------------------------------------- debounce movlw.127; 1/10 সেকেন্ড ডিবাউন্সের জন্য বিলম্ব। movwf count2 কল pon_wait রিটার্ন; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 চক্র থেকে 0, + 3 চক্র ফিরতে।; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend

ধাপ 3: অংশ

যন্ত্রাংশ
যন্ত্রাংশ

এই ছবিটি দেখায় যে এই লোকটির অধীনে ফিট করার জন্য আমার উপাদানগুলি কতটা ছোট ছিল। 8-পিন মাইক্রোচিপ (PIC) 3 SMT LED এর (নীল, লাল, সাদা) 1 মোটর ইনডোর মাইক্রো হেলি থেকে 1 LIPO ব্যাটারি একই হেলি থেকে। 1 পাওয়ার সুইচ 1 2.5 মিমি কাঠের ডোয়েল (2 লম্বা) 2 1 মিমি বিরল পৃথিবীর চুম্বক

ধাপ 4: নির্মাণ

নির্মাণ
নির্মাণ

প্রথমে পুরো বস্তুর ভর কেন্দ্র খুঁজে পাওয়া গেল। এটি মোটর মাউন্ট এলাকা হবে। মোটরটি গ্রিনস্টাফ নামক গুপ ব্যবহার করে মাউন্ট করা হয়েছিল (মিনিয়েচার জগতে ব্যবহৃত হয়) ।3 টি এলইডি প্রি -ওয়ার্ড ছিল। মাইক্রোটি বহির্বিভাগে সুপারগ্লুড করা হয়েছিল, প্রান্তের খুব কাছাকাছি নয়। ভারসাম্য বজায় রাখার জন্য মাইক্রোর (ছোট) ওজন অফসেট করার জন্য পাওয়ার সুইচ এবং ব্যাটারি মাউন্ট করা হয়েছিল। তারগুলি সোল্ডার করা হয়েছিল। সত্যিই শীতল অংশটি পরবর্তী। মোটরের রটার গিয়ারের ডগায় সুপারগ্লু (এটি পরে মুখোমুখি হবে) একটি বিরল পৃথিবী চুম্বক মাউন্ট করা হয়েছিল। ৫ মিমি গভীর ১ মিমি ব্যাসের গর্তের জন্য ২.৫ ব্যাসের একটি ছোট (~ 2 ) দৈর্ঘ্যের ডোয়েল ড্রিল করা হয়েছিল (হাত ও বিট ব্যবহার করে)। এই গর্তে আরও ১ মিমি বিরল পৃথিবী চুম্বক আঠালো ছিল। এখন, চিত্রের জন্য আমার ভিত্তি চুম্বকীয়ভাবে মোটরের রোটারের সাথে মিলিত হয়। এটি মিলছে কিনা তা নিশ্চিত করার জন্য। আরও শক্তির জন্য 5V রেগুলেটর সহ 12V রিমোট ব্যাটারি ব্যবহার করুন!

প্রস্তাবিত: