Sisukord:

Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega: 4 sammu
Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega: 4 sammu

Video: Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega: 4 sammu

Video: Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega: 4 sammu
Video: СООБРАЗИМ НА ТРОИХ! ► 1 Кооперативный стрим Warhammer: Vermintide 2 2024, November
Anonim
Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega
Warhammeri nõid plaadil koos magnetiliselt ühendatud mootori ja LED-idega

Kas soovite oma kunstiprojektidesse lisada PIZZAZZi? Mootorid ja LED -id on tee!

Kas olete Warhammeri mängude entusiast? See on teie jaoks! See on minu Tzeentch Sorcerer Lord on Disc, mida on täiendatud 3 LED -i, mootori, mikro (PIC) ja väikese akuga. See juhend hõlmab valmis ehitust ja probleeme.

Samm: vooluring

Vooluring
Vooluring

Esiteks võite küsida, mis see on. See on minu eritellimusel valmistatud miniatuur lauaplaadi Wargamer mänguks Warhammer. Tipus olev tüüp on mängu tegija (Gamesworkshop) tavaline mudel, kuid ketas ja alus on kõik minu omad. Tema ehitamine on teise juhendatava teema, nii et ma ei hakka seda siin käsitlema. Lülitus Põhiidee oli võtta väike, 8 -kontaktiline mikro, et juhtida kolme LED -i ja mootorit, võimalikult väikese varuga. "Abikäte" kasutamine, nagu alati, on hea mõte. Nendel asjadel on kaks klambrit, mis hoiavad kõike, millega töötate. Skeem ei olnud vajalik, kuna rakendamine on väga lihtne; 8 -kontaktiline mikro (Microchip PIC), millel on 3 väljundtihvti otse LED -idele ja 2 väljundtihvti ühele mootorile. Kasutatavad LED -id on sinise, valge ja punase pinnaga kinnitusdetailid. Kasutatud mootor rebiti katkisest siseruumide mikrohelikopterist. Aku (väike Lipo) rebiti ka heli alt välja, kuid plaanin juba kasutada mõnda muud allikat toide. Sisse/välja lülitamiseks lisati lüliti.

2. samm: kood

Kood
Kood

PIC -i kood tehti selleks, et optimeerida aku kasutusaega ja kasutada paljusid juhuslikke "sündmusi". Selleks, et aku kestaks nii kaua kui võimalik, pidi vooluring kasutama võimalikult vähe energiat, hoides ideed elus. Niisiis, otsustasin vähendada esialgset tegevust keskmiselt 1 LED -välgu või mootori liigutusega iga 6 sekundi järel. Koodil on 12 juhuslikku "tegevust", mis ulatuvad 1 LED -i sisselülitamisest, mootori sisselülitamisest erinevatel ajaperioodidel või suundadel kuni juhusliku ooterežiimini. Sündmused varieeruvad genereeritud juhusliku sündmuse põhjal 3 sekundist kuni rohkem kui 40 sekundini. KOOD; ============================= ==================================================; Ketta kontroller;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ====================================== ==========================================; Revision History & Notes:; V1.0 Esialgne päis, kood 5/19/09;;; (C) 5/2009; Seda koodi võib kasutada isiklikuks õppimiseks/rakendamiseks/muutmiseks.; Selle koodi mis tahes kasutamine ärilistes toodetes rikub seda tasuta tarkvara väljalaset.; Küsimuste/kommentaaride korral võtke ühendust yahoo dot com'i ahelaga dot mage.; ------------------------------------------------ -------------------------------#sisaldavad P12C672. INC; ============= ================================================== ================; Määrab; ------------------------------------------------ -------------------------------; ================== ================================================== ===========; Andmed; ------------------------------------------------ -------------------------------; Aega hoidvad muutujad arv 1 ek 20 loendus 2 võrdne 21 viivitus 22 ================================================== ===; Lähtesta vektorid;; Kontrollige seadistust. BITS ENNE PÕLETAMIST !!!; INTOSC; MCLR: LUBATUD; PWRUP: LUBATUD; KÕIK MUUD: LUBATUD !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR alustas; ===== ================================================== ========================; Alusta siit!;---------------------------------------------- --------------------------------- algus; Seadistage I/O pordid bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA väljundid, PGIO3 sisestage alati tris GPIO movlw h'07'; Seadke GPIO digitaalsele režiimile movwf ADCON1; Määra sisemine taimer movlw h'CF '; Tmr0 Sisemine allikas, eelkvaliteet TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Keela TMR0 katkestused, bcf STATUS, RP0; Initsialiseeri registrid clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; oodake 1 sekund. kõne tagasilükkamine; 0,2 sek kõne katkestamine kõne debounce kõne debounce kõne debounce; ========================================= ========================================; Peamine; ------------------------------------------------ ------------------------------- põhikõne twosec; 2 sekundit min iga tegevuse vahel 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; riba juhuslik 16 kuni 7 ja ll 0x0F movwf rand; juhuslik rutiinne valik xorlw 0x00; 0? btfsc STATUS, Z goto flash1; Jah. Helista 0 -le movfw rand xorlw 0x01; 1? btfsc STATUS, Z goto flash2; Jah. Helista 1. movfw rand xorlw 0x02; 2? btfsc STATUS, Z goto flash3; Jah. Helista 2. movfw rand xorlw 0x03; 3? btfsc STATUS, Z goto flashall; Jah. Helista 3. movfw rand xorlw 0x04; 4? btfsc STATUS, Z goto movels; Jah. Helista 4. movfw rand xorlw 0x05; 5? btfsc STATUS, Z goto movell; Jah. Helista 5. movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto liigutajad; Jah. Helista 6. movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl; Jah. Helista 7. movfw rand xorlw 0x08; 8? btfsc STATUS, Z goto moveburst; Jah. Helista 8. movfw rand xorlw 0x09; 9? btfsc STATUS, Z goto Oota1; Jah. Helista 9. movfw rand xorlw 0x0A; A? btfsc STATUS, Z goto Wait2; Jah. Helista Ath movfw rand xorlw 0x0B; B? btfsc STATUS, Z goto Wait3; Jah. Kõne Bth ei saa midagi; 1/4 ajast, ärge tehke midagi 10 sekundi jooksul. Flash1 bsf GPIO, 0 kõne tagasilöök bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 kõne tagasilöök bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 kõne tagasilükkamine bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 kõne tühistamiskõne bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 kõne tagasivõtmise bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 kõne tühistamiskõne 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 b 4 bsf GPIO, 5 kõne tagasilükkamine; liikuda paremale 3 korda, lühikesed puhked. bcf GPIO, 5 kõne tühistamiskõne debounce bsf GPIO, 5 kõne tühistamiskõne debounce bcf GPIO, 5 kõne debounce call debounce bsf GPIO, 5 call debounce bcf GPIO, 5 call debounce call debounce call debounce call debounce bsf GPIO, 4 3 korda vasakule liikuda, lühikesed pursked. bcf GPIO, 5 kõne tühistamiskõne debounce bcf GPIO, 4 kõne tühistamiskõne debounce bsf GPIO, 4 kõne tagasikõne debounce bcf GPIO, 4 kõne debounce call debounce bsf GPIO, 4 kõne debounce call debounce bcf GPIO, 4 call debounce gob; Oodake 1 sekund movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait goto mainWait2; Oodake 0,6 sekundit movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait goto mainWait3; Oodake 4 sekundit, helistage kaks korda, helistage kaks korda, minge liikuma.50; Viivitus 10 sekundit Kokku movwf count3nothing_loop movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 kõne pon_wait decfsz count3, F goto nothing_loop goto main; ===================================== ==========================================; 2 sekundit oodata; ---------------------------------------------- -------------------------------- twosec movlw.10; Viivitus 2 sekundit Kokku movwf count3twosec_loop movlw.255; Hilinemine 2/10 sekundi võrra. movwf count2 helista pon_wait decfsz count3, F goto twosec_loopreturn; ======================================= ========================================; Tagasilöögisignaal; 4 tsüklit laadimiseks ja helistamiseks, 2 tsüklit tagastamiseks.; 4Mhz Tc:: count2 = 255-> 0,2 s; -------------------------------------- ----------------------------------------- debounce movlw.127; Hilinemine 1/10 sekundi võrra tagasi. movwf count2 helista tagasi pon_wait; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 tsüklit kuni 0, + 3 tsüklit tagasi.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1 lühike_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loop

3. samm: osad

Osad
Osad

Sellel pildil on näha, kui väikesed ma pidin komponendid selle tüübi alla mahutama. 1 8-kontaktiline mikrokiip (PIC) 3 SMT LED-i (sinine, punane, valge) 1 toitelüliti1 2,5 mm puidust tüübel (2 pikk) 2 1 mm haruldaste muldmetallide magnetit

4. samm: ehitage

Ehitamine
Ehitamine

Kõigepealt leiti kogu asja massikeskus. See oleks mootori kinnituspiirkond. Mootor paigaldati Greenstuffi nimega (kasutatakse miniatuurses maailmas). 3 LED -i olid eelnevalt ühendatud. Mikro oli liimitud teest eemal, mitte liiga serva lähedal. Toitelüliti ja aku paigaldati tasakaalu säilitamiseks mikro (väikese) kaalu tasakaalustamiseks. Juhtmed olid joodetud. Tõeliselt lahe osa on järgmine. Mootori rootori hammasratta otsas olev superliim (see oleks hiljem allapoole) paigaldati haruldaste muldmetallide magnet. Lühikese (~ 2 ) pikkusega 2,5 läbimõõduga puidust tüübel puuriti välja (käsitsi ja otsikuga) 5 mm sügavuse 1 mm läbimõõduga augu jaoks. Sellesse auku liimiti veel 1 mm haruldaste muldmetallide magnet. Nüüd on minu joonise alus magnetiliselt ühendatud mootori rootoriga. Kui mootor pöörleb, pöörab see tasakaalu keskpunktist kogu joonise ülemise osa. Mootori ja puidust tüübli katmiseks lõigati punane õled. Seda mõõdeti enne puidust tüübli paigaldatud, et tagada selle sobivus. LIPO aku väljund näitab praegu 3,4 V ilma laadimiseta. Sellest piisab mootori pöörlemiseks ja LED -ide süütamiseks, kuid alusele paigaldatud joonis ei pöörle ise. Minu järgmine versioon suurema võimsuse saamiseks kasutage 12 V kaugjuhtimispatareid koos 5 V regulaatoriga!

Soovitan: