Taula de continguts:

Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED: 4 passos
Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED: 4 passos

Vídeo: Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED: 4 passos

Vídeo: Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED: 4 passos
Vídeo: 40 Facts and Lore on the Planet of the Sorcerers Warhammer 40K 2024, Desembre
Anonim
Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED
Warhammer Sorcerer en disc amb motor acoblat magnèticament i LED

Voleu afegir PIZZAZZ als vostres projectes artístics? Els motors i els LED són el camí a seguir.

Ets un apassionat dels jocs de Warhammer? Aquest és per a tu! Aquest és el meu Tzeentch Sorcerer Lord on Disc, revisat amb 3 LED afegits, un motor, un micro (PIC) i una bateria petita. Aquesta instrucció cobreix la versió i els problemes completats.

Pas 1: Circuit

Circuit
Circuit

En primer lloc, us podeu preguntar què és això. Aquesta és la meva miniatura feta a mida per a un joc de guerra de sobretaula anomenat Warhammer. El noi de la part superior és un model habitual del creador del joc (Gamesworkshop), però el disc i la base són tots meus. La construcció per a ell és el tema d’un altre instructiu, de manera que no entraré aquí. Circuit La idea bàsica aquí era agafar un petit micro de 8 pins per controlar 3 LEDs i un motor, amb un subministrament el més petit possible. L’ús de les “mans ajudants”, com sempre, és una bona idea. Aquestes coses tenen dos clips per contenir qualsevol cosa que estigueu treballant. No calia cap esquema, ja que la impementació és molt senzilla; un micro de 8 pins (Microchip PIC) amb 3 pins de sortida que van directament a LEDs i 2 pins de sortida que van a 1 motor. Els LED que s’utilitzen són de tipus blau, blanc i vermell. El motor utilitzat es va arrencar d’un micro helicòpter interior trencat. La bateria (Lipo petita) també es va arrencar de l’heli, però ja penso utilitzar una altra font per obtenir més informació S'ha afegit un commutador per activar / desactivar.

Pas 2: Codi

Codi
Codi

El codi del PIC es va fer per optimitzar la durada de la bateria i utilitzar molts "esdeveniments" aleatoris. Per tal que la bateria durés el màxim de temps possible, el circuit va haver d’utilitzar la quantitat mínima d’energia que vaig poder trobar, mantenint viva la idea. Per tant, vaig decidir reduir l’activitat inicial a una mitjana de 1 flaix LED o moviment del motor cada 6 segons. El codi té 12 "activitats" aleatòries, que van des de l'encesa d'un LED, l'encesa del motor durant diferents períodes de temps o adreces, fins a un estat d'espera aleatori. Els esdeveniments varien de 3 segons a més de 40 segons, segons l’esdeveniment aleatori generat. CODE; ============================= ===================================================; Controlador de disc;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ====================================== ==========================================; Historial i notes de revisions:; V1.0 Capçalera inicial, Codi 5/19/09;;; (C) 5/2009; Aquest codi es pot utilitzar per a l'aprenentatge / aplicació / modificació personal.; Qualsevol ús d'aquest codi en productes comercials incompleix aquesta versió de programari gratuït..; ------------------------------------------------ ------------------------------- # include P12C672. INC; ============= =================================================== ================; Defineix; ------------------------------------------------ -------------------------------; ================== =================================================== ===========; Dades; ------------------------------------------------ -------------------------------; Variable de manteniment del temps1 equ 20 count2 equ 21 delay equ 22Randlo equ 23Randhi equ 24Wtemp equ 25Temp2 equ 26rand equ 27count3 equ 28; =========================== =================================================== ===; Restableix els vectors;; VERIFICAR CONFIG. BITS ABANS DE CREMAR-SE !!!; INTOSC; MCLR: HABILITAT; PWRUP: HABILITAT; TOTS ELS ALTRES: DESACTIVATS !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR anar a començar; ===== =================================================== ========================; Comença aquí!;---------------------------------------------- ---------------------------------començar; Configuració dels ports d'E / S bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; Sortides RA, PGIO3 sempre ingressa tris GPIO movlw h'07'; Estableix GPIO en mode digital movwf ADCON1; Estableix el temporitzador intern movlw h'CF '; Tmr0 Font interna, prescala TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Desactiva les interrupcions de TMR0, bcf STATUS, RP0; Inicialitzar registres clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; espereu 1 s. trucada rebounce; 0,2 s de rebounce de trucades de rebounce de trucades de rebounce de trucades; ========================================; Principal; ------------------------------------------------ ------------------------------- trucada principal dos segons; 2 segons min entre cada acció 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; tira aleatòria 16 fins a 7 andlw 0x0F movwf rand; selecció de rutina aleatòria xorlw 0x00; 0? btfsc STATUS, Z va a flash1; Sí. Truqueu al 0è movfw rand xorlw 0x01; 1? btfsc STATUS, Z va a flash2; Sí. Truqueu al primer movfw rand xorlw 0x02; 2? btfsc STATUS, Z va a flash3; Sí. Truqueu al segon movfw rand xorlw 0x03; 3? btfsc STATUS, Z goto flashall; Sí. Truqueu al tercer movfw rand xorlw 0x04; 4? btfsc STATUS, Z va anar movels; Sí. Truqueu al quart movfw rand xorlw 0x05; 5? btfsc STATUS, Z va movell; Sí. Truqueu al cinquè movfw rand xorlw 0x06; 6? btfsc STATUS, Z va a moure's; Sí. Truqueu al 6è movfw rand xorlw 0x07; 7? btfsc STATUS, Z va a moverl; Sí. Truqueu al 7è movfw rand xorlw 0x08; 8? btfsc STATUS, Z goto moveburst; Sí. Truqueu al 8è movfw rand xorlw 0x09; 9? btfsc STATUS, Z vés a Wait1; Sí. Truqueu al novè moviment de movfw xorlw 0x0A; A? btfsc STATUS, Z vés a Wait2; Sí. Truca a Ath movfw rand xorlw 0x0B; B? btfsc STATUS, Z vés a Wait3; Sí. Truca a Bth i no passa res; 1/4 del temps, no feu res durant 10 segons. Flash1 bsf GPIO, 0 rebounce de trucades bcf GPIO, 0 vés a mainflash2 bsf GPIO, 1 trucada rebounce bcf GPIO, 1 vés a mainflash3 bsf GPIO, 2 trucades rebounce bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 trucades rebounce trucades rebounce bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 call rebounce bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 trucades rebounce trucades debounce bcf GPIO, 4 goto mainmovers bcf GPIO, 4 bsf GPIO, 5 trucades debounce bcf GPIO, 5 goto mainmoverl bcf GPIO, 4 bsf GPIO, 5 trucades debounce call rebounce bcf GPIO, 5 goto mainmoveburst bcf GPIO, 4 bsf GPIO, 5 rebounce de trucades; moure’s a la dreta 3 vegades, ràfegues curtes. bcf GPIO, 5 trucades debounce trucades rebounce bsf GPIO, 5 trucades debounce trucades debounce bcf GPIO, 5 trucades debounce trucades debounce bsf GPIO, 5 trucades debounce bcf GPIO, 5 trucades debounce trucades debounce trucades debounce trucades rebounce trucades bounce GPIO, 4; moure’s cap a l’esquerra 3 vegades, ràfegues curtes. bcf GPIO, 5 trucades rebounce trucades rebounce bcf GPIO, 4 trucades debounce trucades rebounce bsf GPIO, 4 trucades debounce trucades rebounce bcf GPIO, 4 trucades debounce trucades debounce bsf GPIO, 4 trucades debounce trucades rebounce bcf GPIO, 4 trucades debounce trucades rebounce anar a mainWait1; Espereu 1 segon movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait anar a mainWait2; Espereu 0,6 segons movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait anar a mainWait3; Espereu 4 segons trucar dos cops trucar dos cops anar a la mainnothing movlw.50; Retard de 10 segons Total de movwf count3nothing_loop movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait decfsz count3, F goto nothing_loop goto main; ===================================== ==========================================; 2 segons d'espera; ---------------------------------------------- --------------------------------- dos segles movlw.10; Retard de 2 segons Movwf total3twosec_loop movlw.255; Retard per a rebot de 2/10 segons. movwf count2 call pon_wait decfsz count3, F goto twosec_loopreturn; ========================================= ========================================; Senyal de rebut; 4 cicles per carregar i trucar, 2 cicles per tornar.; 4Mhz Tc:: count2 = 255 -> 0,2 seg; -------------------------------------- ----------------------------------------- debounce movlw.127; Retard de rebot de 1/10 segons. movwf count2 call pon_wait return; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 cicles a 0, + 3 cicles per tornar.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend

Pas 3: parts

Parts
Parts

Aquesta imatge mostra el petit que havia d’aconseguir que els components encaixessin sota aquest tipus. 1 Microchip de 8 pins (PIC) 3 LED SMT (blaus, vermells, blancs) 1 Motor d’una micro heli interior. 1 bateria LIPO de la mateixa heli. 1 interruptor d'alimentació 1 clavilla de fusta de 2,5 mm (2 de llarg) 2 imants de terra rara d'1 mm

Pas 4: construeix

Construeix
Construeix

Primer es va trobar un centre de massa per a tota la cosa. Aquesta seria la zona de muntatge del motor. El motor es va muntar amb un Goop anomenat Greenstuff (utilitzat al món de les miniatures). Els 3 LEDs estaven pre-cablejats. L’interruptor d’alimentació i la bateria es van muntar per compensar el pes (petit) del micro, per mantenir l’equilibri. Es van soldar els cables. La part més fresca és la següent. La superglue a la punta de l’engranatge del rotor del motor (això estaria mirant cap avall més endavant) es va muntar un imant de terra rara. Es va foradar una espiga de fusta de 2,5 diàmetres de llargada curta (~ 2 ) (amb mà i broca) per a un forat d'1 mm de diàmetre de 5 mm de profunditat. En aquest forat es va enganxar un altre imant de terra rara d'1 mm. Ara, la meva base per a la figura és magnètica acoblat al rotor del motor. Quan el motor gira, des del seu centre d’equilibri, gira tota la part superior de la figura. Es va tallar una palla vermella per cobrir el motor i el passador de fusta. Es va mesurar prèviament abans de muntat, per garantir que coincideixi. La sortida de la bateria LIPO està llegint 3,4 V sense recarregar-se. Això és suficient per fer girar el motor i encendre els LED, però amb la figura muntada a la base, no gira per si mateixa. La meva següent versió utilitzeu una bateria remota de 12 V amb regulador de 5 V per obtenir més energia.

Recomanat: