Turinys:

„Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais: 4 žingsniai
„Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais: 4 žingsniai

Video: „Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais: 4 žingsniai

Video: „Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais: 4 žingsniai
Video: SINDRI MYR - Conniving Sorcerer - #Shorts | Warhammer 40k Lore 2024, Lapkritis
Anonim
„Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais
„Warhammer Sorcerer“diske su magnetiškai sujungtu varikliu ir šviesos diodais

Ar norite pridėti keletą PIZZAZZ savo meno projektų? Varikliai ir šviesos diodai yra kelias!

Ar esate „Warhammer“žaidimų entuziastas? Tai tau! Tai mano „Tzeentch Sorcerer Lord on Disc“, peržiūrėtas pridėjus 3 šviesos diodus, variklį, mikro (PIC) ir mažą bateriją. Ši instrukcija apima užbaigtą kūrimą ir problemas.

1 žingsnis: grandinė

Grandinė
Grandinė

Pirma, jums gali kilti klausimas, kas tai yra. Tai mano pagal užsakymą pagaminta miniatiūra, skirta stalo žaidimui „Warhammer“. Viršuje esantis vaikinas yra įprastas žaidimo kūrėjo („Gamesworkshop“) modelis, tačiau diskas ir bazė yra mano. Pagrindinė jo idėja buvo paimti mažą 8 kontaktų mikrovaldiklį, kad būtų galima valdyti 3 šviesos diodus ir variklį su kuo mažesne tiekimo galimybe. Naudoti „pagalbos rankas“, kaip visada, yra gera idėja. Šiuose dalykuose yra du spaustukai, skirti laikyti bet ką, su kuo dirbate. Schemos nereikėjo, nes impementacija yra labai paprasta; 8 kontaktų mikro („Microchip PIC“) su 3 išvesties kaiščiais, nukreiptais tiesiai į šviesos diodus, ir 2 išvesties kaiščiais, skirtais vienam varikliui. Naudojami šviesos diodai yra mėlynos, baltos ir raudonos spalvos, montuojami ant paviršiaus. Naudotas variklis buvo nuplėštas iš sugedusio patalpų mikro helekopterio. Baterija (maža „Lipo“) taip pat buvo nuplėšta iš helio, bet aš jau planuoju naudoti kitą šaltinį maitinimas. Įjungimo/išjungimo jungiklis buvo pridėtas.

2 žingsnis: kodas

Kodas
Kodas

PIC kodas buvo sukurtas siekiant optimizuoti akumuliatoriaus veikimo laiką ir panaudoti daugybę atsitiktinių „įvykių“. Kad baterija tarnautų kuo ilgiau, grandinė turėjo sunaudoti mažiausią energijos kiekį, kurį galėjau suprasti, išlaikydamas idėją gyvą. Taigi, nusprendžiau sumažinti pradinę veiklą vidutiniškai iki 1 LED blykstės ar variklio judesio kas 6 sekundes. Kode yra 12 atsitiktinių „veiklų“, pradedant nuo 1 šviesos diodo įjungimo, variklio įjungimo skirtingais laikotarpiais ar kryptimis iki atsitiktinio laukimo būsenos. Įvykiai skiriasi nuo 3 sekundžių iki daugiau nei 40 sekundžių, atsižvelgiant į atsitiktinį įvykį. KODAS; =============================== ==================================================; Disko valdiklis;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ====================================== ==========================================; Peržiūrų istorija ir pastabos:; V1.0 pradinė antraštė, kodas 5/19/09;;; (C) 5/2009; Šis kodas gali būti naudojamas asmeniniam mokymuisi/taikymui/modifikavimui.; Bet koks šio kodo naudojimas komerciniuose produktuose pažeidžia šią nemokamos versijos versiją.; Jei turite klausimų/komentarų, susisiekite su „dot dot“, esančiu „yahoo dot com“.; ------------------------------------------------ -------------------------------#apima P12C672. INC; ============= ================================================== ================; Apibrėžia; ------------------------------------------------ -------------------------------; ================== ================================================== ===========; Duomenys; ------------------------------------------------ -------------------------------; Laiko išlaikymo kintamieji: skaičius 1 ekv. 20 skaičius2 lyg. 21 uždelsimas lygiai 22 ================================================== ===; Iš naujo nustatyti vektorius;; CHECK CONFIG. BITS PRIEŠ DEGIMĄ !!!; INTOSC; MCLR: ĮJUNGTA; PWRUP: ĮJUNGTA; VISI KITI: NEGALIMA !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR pradėtas; ===== ================================================== ========================; Pradėti čia!;---------------------------------------------- --------------------------------- pradžia; Konfigūruoti įvesties/išvesties prievadus bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA išėjimai, PGIO3 visada įves tris GPIO movlw h'07'; Nustatykite GPIO į skaitmeninį režimą movwf ADCON1; Nustatykite vidinį laikmatį movlw h'CF '; Tmr0 Vidinis šaltinis, išankstinė skalė TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Išjungti TMR0 pertraukimus, bcf STATUS, RP0; Inicijuoti registrus clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; palaukite 1 sek. skambučio atjungimas; 0,2 sek. Skambučio išjungimas skambučio atjungimas skambučio atjungimas skambučio atjungimas; ========================================= ========================================; Pagrindinis; ------------------------------------------------ ------------------------------- pagrindinis skambutis twosec; 2 sek. Min. Tarp kiekvieno veiksmo 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; atsitiktinis 16 iki 7 ir ll 0x0F movwf rand; atsitiktinis įprastas pasirinkimas xorlw 0x00; 0? btfsc STATUS, Z goto flash1; Taip. Skambinkite 0 -ąja movfw rand xorlw 0x01; 1? btfsc STATUS, Z goto flash2; Taip. Skambinkite 1 -ąja movfw rand xorlw 0x02; 2? btfsc STATUS, Z goto flash3; Taip. Skambinkite antrajam movfw rand xorlw 0x03; 3? btfsc STATUS, Z goto flashall; Taip. Skambinkite trečiajam movfw rand xorlw 0x04; 4? btfsc STATUS, Z goto movels; Taip. Skambinkite 4 -ąja movfw rand xorlw 0x05; 5? btfsc STATUS, Z goto movell; Taip. Skambinkite 5 -ajam movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto judintojai; Taip. Skambinkite 6 -ajam movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl; Taip. Skambinkite 7 -ajam movfw rand xorlw 0x08; 8? btfsc STATUS, Z goto moveburst; Taip. Skambinkite 8 -ajam movfw rand xorlw 0x09; 9? btfsc STATUS, Z goto Wait1; Taip. Skambinkite 9 -ajam movfw rand xorlw 0x0A; A? btfsc STATUS, Z goto Wait2; Taip. Skambinkite Ath movfw rand xorlw 0x0B; B? btfsc STATUS, Z goto Wait3; Taip. Skambinti Bth goto nieko; 1/4 laiko, nieko nedarykite 10 sekundžių. Flash1 bsf GPIO, 0 skambučio išjungimas bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 skambučio atjungimas bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 skambučių perjungimas bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 skambučių perjungimo skambučio išjungimas bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 „goto mainmovels“bsf GPIO, 4 bcf GPIO, 5 skambučių nukreipimo bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 skambučių išjungimo skambučių atjungimas bcf GPIO, 4 goto mainmovers bcf GPIO, 4 bsf GPIO, 5 skambučių išjungimo bcf GPIO, 5 goto mainmoverl bcf GPIO, 4 bsf GPIO, 5 skambučių nukreipimo skambučių išjungimas bcf GPIO, 5 goto mainmoveburst b 4 bsf GPIO, 5 skambučių nukreipimas; 3 kartus judėkite į dešinę, trumpi pliūpsniai. bcf GPIO, 5 skambučių nukreipimo skambučių atjungimas bsf GPIO, 5 skambučių nukreipimo skambučių atjungimas bcf GPIO, 5 skambučių nukreipimo skambučių išjungimas bsf GPIO, 5 skambučių atjungimas bcf GPIO, 5 skambučių nukreipimo skambučių išjungimas skambučių išjungimo skambučių atjungimas bsf GPIO, 3 kartus judėkite į kairę, trumpi pliūpsniai. bcf GPIO, 5 skambučių atjungimo skambučių atjungimas bcf GPIO, 4 skambučių nukreipimo skambučių atjungimas bsf GPIO, 4 skambučių nukreipimo skambučių išjungimas bcf GPIO, 4 skambučių atjungimo skambučių išjungimas bsf GPIO, 4 skambučių nukreipimo skambučių išjungimas bcf GPIO, 4 skambučių išjungimas; Palaukite 1 sekundę movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait goto mainWait2; Palaukite 0,6 sekundės movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait goto mainWait3; Palaukite 4 sekundes, paskambinkite dviems sekundėms, paskambinkite dviems, ir gaukite mainnothing movlw.50; Vėlavimas 10 sekundžių Iš viso movwf count3nothing_loop movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait decfsz count3, F goto nothing_loop goto main; ===================================== ==========================================; 2 sekundės palaukti; ---------------------------------------------- --------------------------------- twosec movlw.10; 2 sekundžių vėlavimas Iš viso movwf count3twosec_loop movlw.255; Vėluojama 2/10 sekundžių. movwf count2 skambinti pon_wait decfsz count3, F goto twosec_loopreturn; ======================================= ========================================; Išjungimo signalas; 4 pakrovimo ir iškvietimo ciklai, 2 ciklai grįžti.; 4Mhz Tc:: count2 = 255-> 0,2 sek.; -------------------------------------- ----------------------------------------- debounce movlw.127; 1/10 sekundės atsilikimas. movwf count2 skambinti pon_wait return; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 ciklai iki 0, + 3 ciklai grįžti.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loop

3 žingsnis: dalys

Dalys
Dalys

Šiame paveikslėlyje parodyta, koks mažas turėjau sudėti komponentus po šiuo vaikinu. 1 8 kontaktų mikroschema (PIC) 3 SMT šviesos diodai (mėlyna, raudona, balta) 1 maitinimo jungiklis1 2,5 mm medinis kaištis (2 colių ilgio) 2 1 mm retųjų žemių magnetai

4 žingsnis: statykite

Statyti
Statyti

Pirmiausia buvo rastas viso masės centras. Tai būtų variklio tvirtinimo sritis. Variklis buvo sumontuotas naudojant „Greenstuff“(naudojamas miniatiūrų pasaulyje). 3 šviesos diodai buvo iš anksto prijungti. Mikro buvo priklijuotas ne kelio zonoje, ne per arti krašto. Maitinimo jungiklis ir baterija buvo sumontuoti taip, kad būtų kompensuotas (mažas) mikro svoris, kad būtų išlaikyta pusiausvyra. Laidai buvo lituojami. Tikrai šauni dalis yra kita. Ant variklio rotoriaus krumpliaračio antgalio (tai vėliau būtų nukreipta žemyn) buvo sumontuotas superklijai. Trumpas (~ 2 colių) ilgio 2,5 skersmens medinis kaištis buvo išgręžtas (ranka ir antgaliu) 5 mm gylio 1 mm skersmens angai. Šioje skylėje buvo priklijuotas dar vienas 1 mm retųjų žemių magnetas. Dabar mano figūros pagrindas yra magnetinis prijungtas prie variklio rotoriaus. Kai variklis sukasi iš pusiausvyros centro, jis pasuka visą viršutinę figūros dalį. Raudonas šiaudas buvo nupjautas, kad uždengtų variklį ir medinį kaištį. Tai buvo iš anksto išmatuota prieš medinį kaištį sumontuotas, kad būtų užtikrintas jo atitikimas. Šiuo metu LIPO akumuliatoriaus galia be įkrovimo nuskaito 3,4 V. To pakanka, kad suktųsi variklis ir užsidegtų šviesos diodai, tačiau kai figūra sumontuota ant pagrindo, ji nesisuka. Mano kita versija Norėdami gauti daugiau energijos, naudokite 12 V nuotolinę bateriją su 5 V reguliatoriumi!

Rekomenduojamas: