Мазмұны:

Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде: 4 қадам
Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде: 4 қадам

Бейне: Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде: 4 қадам

Бейне: Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде: 4 қадам
Бейне: МЕСТЬ ДВАРФОВ! - ПРОХОЖДЕНИE-ОБЗОР DWARVES: GLORY, DEATH AND LOOT 2024, Қараша
Anonim
Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде
Warhammer сиқыршысы магнитпен қосылған қозғалтқышы бар жарықдиодты дискіде

Өнерлік жобаларыңызға PIZZAZZ қосқыңыз келе ме? Қозғалтқыштар мен жарық диодтары - бұл жол!

Сіз Warhammer ойынының әуесқойысыз ба? Бұл сізге арналған! Бұл менің дискідегі Tzeentch сиқыршысы Лорд, 3 жарықдиодты, мотор, микро (PIC) және шағын батареямен өңделген. Бұл нұсқаулық аяқталған құрылыс пен мәселелерді қамтиды.

1 -қадам: Схема

Схема
Схема

Біріншіден, сіз бұл не деп ойлайтын шығарсыз. Бұл менің үстелдің үстіңгі тақтасына арналған Warhammer деп аталатын шағын ойын. Жоғарыдағы жігіт - бұл ойын жасаушының қарапайым моделі (Gamesworkshop), бірақ диск пен базаның бәрі менікі. Ол үшін құрастыру - бұл басқа нұсқаулықтың тақырыбы, сондықтан мен бұл туралы айтпаймын. Мұндағы негізгі идея - 3 светодиоды мен қозғалтқышты мүмкіндігінше аз қоректендіру үшін 8 істікшелі микро алу. Әдетте, «көмек қолын» пайдалану жақсы идея. Бұл нәрселерде сіз жұмыс істеп жатқан нәрсені ұстауға арналған екі қысқыш бар. Ешқандай схема қажет емес, себебі имплантация өте қарапайым; 8 шығыс микро (Microchip PIC) 3 шығыс істікшесі тікелей светодиодқа, ал 2 шығыс істікшесі 1 қозғалтқышқа Қолданылатын жарықдиодты көк, ақ және қызыл беттік қондырғы түрі. Қолданылған мотор сынған жабық микро тікұшақтан алынған. Батареяны (кішкентай Липо) сонымен қатар велосипедтен жұлып алған, бірақ мен тағы да басқа көзді пайдалануды жоспарлап отырмын. қосу/өшіру үшін қосқыш қосылды.

2 -қадам: код

Код
Код

PIC коды батареяның қызмет ету мерзімін оңтайландыру және көптеген кездейсоқ «оқиғаларды» пайдалану үшін жасалған. Батареяны мүмкіндігінше ұзақ уақыт жұмыс істету үшін, схема идеяны сақтай отырып, мен есептей алатын ең аз қуат жұмсауға мәжбүр болды.. Осылайша, мен бастапқы әрекетті әр 6 секунд сайын орташа 1 жарық диодты жарықтандырғышқа немесе қозғалтқышқа дейін төмендетуге шешім қабылдадым. Кодта 1 кездейсоқ жарық диодты қосудан, қозғалтқышты әр түрлі уақытқа немесе бағытқа қосудан, кездейсоқ күту күйіне дейінгі 12 кездейсоқ «әрекет» бар. Оқиғалар кездейсоқ оқиғаға байланысты 3 секундтан 40 секундқа дейін өзгереді. CODE; =========================== =================================================== Диск контроллері;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ==================================== ==========================================; Қайта қарау тарихы мен ескертулер:; V1.0 Бастапқы тақырып, 19.05.09 коды;;; (C) 5/2009; Бұл код жеке оқу/қолдану/өзгерту үшін қолданылуы мүмкін.; Коммерциялық өнімдерде бұл кодты кез келген қолдану осы тегін бағдарламалық қамтамасыз етуді бұзады.; Сұрақтар/түсініктемелер үшін yahoo dot com мекенжайындағы нүктелік сиқырмен байланысыңыз..; ------------------------------------------------ ------------------------------#P12C672. INC кіреді; ============= =================================================== =================; Анықтайды; ------------------------------------------------ -------------------------------; ================== =================================================== ============; Деректер; ------------------------------------------------ -------------------------------; Уақыт сақтайтын айнымалылар саны1 тең 20 санау 2 тең 21 кешіктіру теңдігі 22 Рандло теңесуі 23 Ранди теңесуі 24 Уақыт теңдігі 25 Темп2 теңдігі 26 рэнд теңдігі 27 сан 3 тең 28; ========================== ================================================== ===; Векторларды қалпына келтіру; КОНФИГРАЦИЯНЫ ҚАРАҢЫЗ. КҮЙІКТІҢ АЛДЫНДА БІТТЕР !!!; INTOSC; MCLR: ENABLED; PWRUP: ENABLED; БАСҚАЛАР: МҮГЕДІ !!;; ------------------------------------------ ------------------------------------- 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 STATUS, RP0; Регистрлерді бастаңыз clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; 1 секунд күтіңіз. қоңырау шалу; 0,2 сек қоңырауды алып тастау қоңыраудан бас тарту қоңыраудан бас тарту қоңыраудан бас тарту; =========================================; Негізгі; ------------------------------------------------ ------------------------------- негізгі қоңырау twosec; Әр әрекет арасындағы 2 секунд мин Rrf, 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 -ге дейін және 0x0F movwf рандқа дейін жолақ; кездейсоқ жоспарлы таңдау xorlw 0x00; 0? btfsc STATUS, Z goto flash1; Иә. 0th movfw rand xorlw 0x01 қоңырау шалыңыз; 1? btfsc STATUS, Z goto flash2; Иә. 1 -ші movfw rand xorlw 0x02 -ге қоңырау шалыңыз; 2? btfsc STATUS, Z goto flash3; Иә. 2 -ші movfw rand xorlw 0x03 -ке қоңырау шалыңыз; 3? btfsc STATUS, Z goto flashall; Иә. 3 -ші movfw rand xorlw 0x04 қоңырау шалыңыз; 4? btfsc STATUS, Z қозғалысы; Иә. 4 -ші movfw rand xorlw 0x05 нөміріне қоңырау шалыңыз; 5? btfsc STATUS, Z goto movell; Иә. 5 -ші movfw rand xorlw 0x06 қоңырау шалыңыз; 6? btfsc STATUS, Z goto жылжытушылар; Иә. 6 -шы movfw rand xorlw 0x07 -ге қоңырау шалыңыз; 7? btfsc STATUS, Z goto moverl; Иә. 7 -ші movfw rand xorlw 0x08 -ге қоңырау шалыңыз; 8? btfsc STATUS, Z goto moveburst; Иә. 8 -ші movfw rand xorlw 0x09 -ге қоңырау шалыңыз; 9? btfsc STATUS, Z goto Wait1; Иә. 9 -шы movfw rand xorlw 0x0A қоңырау шалыңыз; A? btfsc STATUS, Z goto Wait2; Иә. Ath movfw rand xorlw 0x0B қоңырау шалыңыз; B? btfsc STATUS, Z goto Wait3; Иә. Bth -ге ештеңе қоңырау шалыңыз; Уақыттың 1/4 бөлігінде 10 секунд бойы ештеңе жасамаңыз. Flash1 bsf GPIO, 0 қоңыраудың шығуы bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 қоңыраудың шығуы bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 қоңыраудың шығуы 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 bounce bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 қоңыраудың шығуы 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 bcf GPIO, 5 goto mainmoveburst bcf GPIO, 4 bsf GPIO, 5 қоңыраудан бас тарту; 3 рет оңға жылжытыңыз, қысқа жарылыс. bcf GPIO, 5 қоңыраудан бас тарту bsf GPIO, 5 bsf GPIO қоңырауынан бас тарту bsf GPIO; 3 рет солға жылжытыңыз, қысқа жарылыс. bcf GPIO, 5 қоңыраудан бас тарту қоңырауынан бас тарту bcf GPIO, 4 қоңырауынан бас тарту bsf GPIO, 4 қоңырауынан бас тарту bcf GPIO, 4 қоңыраудан бас тарту bsf GPIO, 4 қоңырауды жою bcf GPIO, 4 қоңыраудан бас тарту қоңыраудан дебо 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 секунд күтіңіз. 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 секунд күтіңіз twosec қоңырау twosec goto mainnothing movlw.50; 10 секундқа кідіріс Total movwf count3nothing_loop movlw.255; 2/10 екінші шығуды кешіктіру. movwf count2 қоңырау pon_wait decfsz count3, F goto nothing_loop goto main; ================================== ==========================================; 2 секунд күту; ---------------------------------------------- --------------------------------- twosec movlw.10; 2 секундқа кідіріс Total 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 сек; -------------------------------------- ----------------------------------------- debl movlw.127; 1/10 секундтық дебютті кешіктіру. movwf count2 қоңырау pon_wait қайтару; -------------------------------------------- -----------------------------------; count1 = 255d:: 0-775 цикл, қайтару үшін + 3 цикл.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend

3 -қадам: бөлшектер

Бөлшектер
Бөлшектер

Бұл суретте менің компоненттерді осы жігітке сыйғызу үшін қаншалықты кішкентай болғаным көрсетілген. 8 8 істікшелі микрочип (PIC) 3 SMT жарықдиодты (көк, қызыл, ақ) 1 Ішкі микро спиральдан жасалған қозғалтқыш. 1 қуат қосқышы 1 2,5 мм ағаш дюбель (ұзындығы 2 дюйм) 2 1 мм сирек жер магниті

4 -қадам: Құру

Құру
Құру

Алдымен барлық заттың массасы орталығы табылды. Бұл қозғалтқышты орнату аймағы болар еді. Қозғалтқыш Greenstuff (миниатюралық әлемде қолданылады) деп аталатын гуп көмегімен орнатылды. 3 жарықдиодты алдын ала орнатылды. Микробақ шетіне жақын емес жерде жабыстырылған. Қуат қосқышы мен аккумулятор тепе -теңдікті сақтау үшін микро (шағын) салмағын өтеу үшін орнатылған. Сымдар дәнекерленді. Шынында да керемет бөлігі - мотордағы роторлы берілістің ұшындағы суперглюг (сирек кездесетін жер магниті). Диаметрі 5 мм тереңдікте диаметрі 5 мм болатын қысқа (~ 2 дюйм) ағаш дюбель бұрғыланды (қолмен және битпен). Бұл тесікке тағы 1 мм сирек жер магниті жабыстырылды. Енді фигураның негізі магниттік Қозғалтқыш тепе -теңдіктің орталығынан айналғанда, ол фигураның барлық жоғарғы бөлігін айналдырады. Қозғалтқыш пен ағаш сүлгіні жабу үшін қызыл сабан кесілген. LIPO аккумуляторының қуаты қайта зарядталмайтын 3,4В шамасында. Бұл қозғалтқышты айналдыру үшін және жарық диодтарын жағу үшін жеткілікті, бірақ фигураның негізге орнатылуы өздігінен айналмайды. Менің келесі нұсқам Қосымша қуат алу үшін 5В реттегіші бар 12В қашықтағы батареяны қолданыңыз!

Ұсынылған: