Tartalomjegyzék:

Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel: 4 lépés
Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel: 4 lépés

Videó: Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel: 4 lépés

Videó: Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel: 4 lépés
Videó: Warhammer Vermintide 2 - The Sorcerer OST 2024, Július
Anonim
Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel
Warhammer Sorcerer lemezre mágnesesen csatolt motorral és LED-ekkel

Szeretne néhány PIZZAZZ -ot hozzáadni művészeti projektjeihez? A motorok és a LED -ek az út!

Ön Warhammer játék rajongó? Ez neked szól! Ez az én Tzeentch Sorcerer Lord on Disc, amelyet 3 LED -del, egy motorral, egy mikro (PIC) és kis akkumulátorral javítottak. Ez az utasítás a befejezett összeállítást és a problémákat tartalmazza.

1. lépés: Áramkör

Áramkör
Áramkör

Először is elgondolkodhat azon, hogy mi ez. Ez az én személyre szabott miniatűröm a Warhammer nevű asztali asztali harci játékhoz. A tetején álló srác a játék készítőjének (Gamesworkshop) rendes modellje, de a lemez és az alap az enyém. Az ő számára készült felépítés egy másik tanulságos tárgy, ezért ebbe nem megyek bele. Áramkör Az alapötlet itt az volt, hogy egy kicsi, 8 tűs mikroelemet vezessen 3 LED és egy motor vezérlésére, a lehető legkisebb ellátással. A "segítő kezek" használata, mint mindig, jó ötlet. Ezeknek a dolgoknak két csíptetője van, amellyel bármit megtarthat, amin dolgozik. Nem volt szükség sematikus rajzra, mivel az egyszerűsítés nagyon egyszerű; 8 tűs mikro (Microchip PIC), 3 kimeneti tűvel egyenesen a LED -ekhez, és 2 kimeneti tűvel 1 motorhoz. A használt LED -ek kék, fehér és piros felületre szerelhetők. A használt motort egy törött beltéri mikro -helikopterből szakították le. Az akkumulátort (kis Lipo) szintén kiszakították a heli -ból, de már tervezem, hogy más forrást használok bekapcsoló.

2. lépés: Kód

Kód
Kód

A PIC kódja az akkumulátor élettartamának optimalizálása és sok véletlenszerű "esemény" felhasználásával készült. Annak érdekében, hogy az akkumulátor a lehető leghosszabb ideig tartson, az áramkörnek a lehető legkevesebb energiát kellett felhasználnia, miközben életben tartotta az ötletet. Tehát úgy döntöttem, hogy 6 másodpercenként átlagosan 1 LED vakura vagy motormozgásra csökkentem a kezdeti tevékenységet. A kódnak 12 véletlenszerű "tevékenysége" van, kezdve az 1 LED bekapcsolásától, a motor különböző időtartamokra vagy irányokig történő bekapcsolásától a véletlenszerű várakozási állapotig. Az események 3 másodperctől több mint 40 másodpercig terjednek, a véletlenszerűen generált esemény alapján. KÓD; ================================ ==================================================; Lemezvezérlő;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ====================================== ==========================================; Felülvizsgálati előzmények és megjegyzések:; V1.0 Kezdeti fejléc, 5/19/09 kód;;; (C) 5/2009; Ez a kód személyes tanulásra/alkalmazásra/módosításra használható.; Ennek a kódnak a kereskedelmi termékekben való bármilyen használata sérti ezt az ingyenes szoftverkiadást..; ------------------------------------------------ -------------------------------#tartalmazza P12C672. INC; ============= ================================================== ================; Meghatározza; ------------------------------------------------ -------------------------------; ================== ================================================== ===========; Adat;------------------------------------------------ -------------------------------; Időtartó változók száma: 1 egyenlő: 20 szám: 2 egyenlő: 21 késleltetés egyenlő 22 ================================================== ===; Vektorok visszaállítása;; BEÁLLÍTÁS ELLENŐRZÉSE. BITS ÉGÉS ELŐTT !!!; INTOSC; MCLR: ENGEDÉLYEZETT; PWRUP: ENGEDÉLYEZETT; MINDEN MÁS: TILTVA !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR elindult; ===== ================================================== ========================; Kezdd itt!;---------------------------------------------- ---------------------------------Rajt; Config I/O portok bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA kimenetek, PGIO3 mindig bemenet tris GPIO movlw h'07'; Állítsa a GPIO -t digitális módba movwf ADCON1; Belső időzítő beállítása movlw h'CF '; Tmr0 Belső forrás, előskála TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; A TMR0 megszakítások letiltása, bcf STATUS, RP0; Initialize Registers clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; várjon 1 másodpercet. hívás visszakapcsolás; 0,2 másodperces hívás visszakapcsolás ========================================; Fő;------------------------------------------------ ------------------------------- főhívás twosec; 2 mp perc minden művelet között 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; szalag véletlenszerű 16 -tól 7 -ig, és 0w0x0f movwf rand; véletlenszerű rutin kiválasztás xorlw 0x00; 0? btfsc STATUS, Z goto flash1; Igen. Hívja a 0 -as movfw rand xorlw 0x01 -et; 1? btfsc STATUS, Z goto flash2; Igen. 1. movfw rand xorlw 0x02 hívása; 2? btfsc STATUS, Z goto flash3; Igen. Második movfw rand xorlw 0x03 hívása; 3? btfsc STATUS, Z goto flashall; Igen. Hívja a 3. movfw rand xorlw 0x04; 4? btfsc STATUS, Z goto movels; Igen. Hívja a 4. movfw rand xorlw 0x05; 5? btfsc STATUS, Z goto movell; Igen. Hívja az 5. movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto mozgató; Igen. Hívja a 6. movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl; Igen. Hívja a 7. movfw rand xorlw 0x08; 8? btfsc STATUS, Z goto moveburst; Igen. Hívja a 8. movfw rand xorlw 0x09; 9? btfsc STATUS, Z goto Wait1; Igen. Hívja a 9. movfw rand xorlw 0x0A -t; A? btfsc STATUS, Z goto Wait2; Igen. Hívja Ath movfw rand xorlw 0x0B; B? btfsc STATUS, Z goto Wait3; Igen. Call Bth goto semmit; 1/4 -szer, ne csináljon semmit 10 másodpercig. Flash1 bsf GPIO, 0 hívás visszavonás bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 hívás visszakapcsolás bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 hívás visszavonás bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 hívás visszavonási hívás visszavonás bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 hívás visszakapcsolás bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 hívás visszavonási hívás visszavonása 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 hívás visszakapcsolás; háromszor jobbra mozogni, rövid sorozatok. bcf GPIO, 5 hívás visszavonó hívás visszakapcsolás bsf GPIO, 5 hívás visszavonási hívás visszavonás bcf GPIO, 5 hívás visszavonási hívás visszavonása bsf GPIO, 5 hívás visszavonás bcf GPIO, 5 hívás visszavonási hívás visszavonás hívás visszavonás bsf GPIO, 4 mozogjon balra háromszor, rövid sorozatok. bcf GPIO, 5 hívás visszavonó hívás visszavonása bcf GPIO, 4 hívás visszavonási hívás visszavonás bsf GPIO, 4 hívás visszavonási hívás visszavonás bcf GPIO, 4 hívás visszavonási hívás visszavonás bsf GPIO, 4 hívás visszavonási hívás visszavonás bcf GPIO, 4 hívás debounce go; Várjon 1 másodpercet movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait goto mainWait2; Várjon 0,6 másodpercet movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait movlw.255; 2/10 másodperces késleltetés. movwf count2 call pon_wait goto mainWait3; Várjon 4 másodpercet, hívjon kettőt, hívjon kettőt, és folytassa a movlw.50; 10 másodperces késleltetés Összes movwf count3nothing_loop movlw.255; 2/10 másodperces késleltetés. movwf count2 hívja pon_wait decfsz count3, F goto nothing_loop goto main; ======================================= ==========================================; 2 másodperc várakozás; ----------------------------------------------- --------------------------------- twosec movlw.10; 2 másodperc késés Összes movwf count3twosec_loop movlw.255; 2/10 másodperces késleltetés. movwf count2 hívja pon_wait decfsz count3, F goto twosec_loopreturn; ======================================= ========================================; Visszakapcsolási jel; 4 ciklus a betöltéshez és a híváshoz, 2 ciklus a visszatéréshez.; 4Mhz Tc:: count2 = 255-> 0,2 mp; -------------------------------------- ----------------------------------------- debounce movlw.127; 1/10 másodperces késleltetés. movwf count2 call pon_wait return; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 ciklus 0-ig, + 3 ciklus a visszatéréshez.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSurnurnend

3. lépés: Alkatrészek

Alkatrészek
Alkatrészek

Ez a kép azt mutatja, milyen kicsi volt, hogy az alkatrészeket illesszem a fickó alá. 8 8 tűs mikrochip (PIC) 3 SMT LED (kék, piros, fehér) 1 főkapcsoló1 2,5 mm -es fa dübel (2 hosszú) 2 1 mm -es ritkaföldfém mágnes

4. lépés: Építsen

Épít
Épít

Először az egész tömegközéppontját találták meg. Ez lenne a motor rögzítési területe. A motort a Greenstuff nevű goop segítségével szerelték fel (a miniatűr világban használták). A 3 LED -et előhuzaloztuk. A mikro szuperragasztva volt az út mentén, nem túl közel a széléhez. A tápkapcsolót és az akkumulátort úgy szerelték fel, hogy ellensúlyozzák a mikro (kis) súlyát, az egyensúly megtartása érdekében. A vezetékeket forrasztották. Az igazán hűvös rész következik. Szuperragasztó a motor forgórészének hegyén (ez később lefelé néz) egy ritkaföldfém mágnest szereltek fel. Rövid (~ 2 ) hosszúságú, 2,5 átmérőjű fa dübelt fúrtak ki (kézzel és fúróval) egy 5 mm mély, 1 mm átmérőjű lyukhoz. Ebben a lyukban egy másik 1 mm -es ritkaföldfém mágnest ragasztottak fel. Most az ábra alapja mágneses A motor forgórészéhez csatlakoztatva. Amikor a motor forog, az egyensúly középpontjából az ábra teljes felső részét elforgatja. Piros szalmát vágtak a motor és a fa dübel lefedésére. Ezt előre megmérték, mielőtt a fa dübelt felszerelve, hogy biztosítsa a megfelelő illeszkedést. A LIPO akkumulátor kimenete jelenleg 3,4 V -ot mutat újratöltés nélkül. Ez elegendő a motor forgatásához és a LED -ek meggyújtásához, de az alapra szerelt figurával nem forog. A következő verzióm használjon 12V -os távoli akkumulátort 5V -os szabályozóval a nagyobb teljesítmény érdekében!

Ajánlott: