İçindekiler:
Video: Manyetik Bağlantılı Motorlu ve LED'li Disk Üzerinde Warhammer Sihirbazı: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
Sanat projelerinize biraz PIZZAZZ eklemek ister misiniz? Motorlar ve LED'ler gitmenin yolu!
Warhammer oyun meraklısı mısınız? Bu senin için! Bu, eklenen 3 LED, bir motor, bir mikro (PIC) ve küçük pil ile revize edilmiş Diskteki Tzeentch Büyücü Lordum. Bu talimat, tamamlanmış yapıyı ve sorunları kapsar.
Adım 1: Devre
İlk olarak, bunun ne olduğunu merak ediyor olabilirsiniz. Bu, Warhammer adlı masa üstü savaş oyunu için özel yapım minyatürüm. En üstteki adam, oyunun yapımcısının (Gamesworkshop) normal bir modeli, ancak disk ve taban tamamen benim. Onun için yapı başka bir talimatın konusudur, bu yüzden burada buna girmeyeceğim. Devre Buradaki temel fikir, 3 LED'i ve bir motoru mümkün olduğunca küçük bir besleme ile kontrol etmek için küçük, 8 pinli bir mikro almaktı. Her zaman olduğu gibi "yardımcı ellerin" kullanılması iyi bir fikirdir. Bu şeylerin üzerinde çalıştığınız şeyi tutmak için iki klipsi var. Uygulama çok basit olduğu için şemaya gerek yoktu; 3 çıkış pini doğrudan LED'lere ve 2 çıkış pini 1 motora giden 8 pinli bir mikro (Mikroçip PIC). Kullanılan LED'ler Mavi, Beyaz ve Kırmızı yüzeye monte tiptir. Kullanılan motor, kırık bir iç mekan mikro helikopterinden sökülmüştür. Batarya (küçük Lipo) da helikopterden sökülmüştür, ancak daha fazlası için başka bir kaynak kullanmayı planlıyorum. power. On/Off için bir anahtar eklendi.
2. Adım: Kodlayın
PIC'in kodu, pil ömrünü optimize etmek ve birçok rastgele "olay" kullanmak için yapıldı. Pilin mümkün olduğunca uzun süre dayanması için devre, fikri canlı tutarken, bulabildiğim en az miktarda gücü kullanmalıydı.. Bu nedenle, ilk etkinliği ortalama 1 LED flaş veya her 6 saniyede bir motor hareketine indirmeye karar verdim. Kodun, 1 LED'in yanmasından, motorun farklı zaman dilimlerinde veya yönlerde açılmasından rastgele bekleme durumuna kadar değişen 12 rastgele "aktivitesi" vardır. Olaylar, oluşturulan rastgele olaya bağlı olarak 3 saniyeden 40 saniyeye kadar değişir. KOD;============================ =================================================;Disk Denetleyicisi;; -----------; Vcc-> |1 8| <-Vss; MGPIO5 |2 7| GPIO0 -LED1; MGPIO4 |3 6| GPIO1 -LED2; GPIO3-> |4 5| GPIO2 -LED3; -----------;;==================================== ==========================================; Revizyon Geçmişi & Notlar:; V1.0 İlk Başlık, Kod 5/19/09;;;(C) 5/2009;Bu kod kişisel öğrenme/uygulama/değişiklik için kullanılabilir.;Bu kodun ticari ürünlerde herhangi bir şekilde kullanılması bu ücretsiz sürümü ihlal eder.;Sorular/yorumlar için yahoo dot com adresinden devre nokta mage ile iletişime geçin..;------------------------------------------------ ----------------------------------#P12C672. INC'yi dahil et;============== ================================================= ================; Tanımlar;------------------------------------------------ ----------------------------------;================== ================================================= ===========; Veri;------------------------------------------------ ----------------------------------; Zaman tutma değişkenlerisay1 eş 20 sayı2 eş 21 gecikme eş 22Randlo eş 23Randhi eş 24Wtemp eş 25Temp2 eş 26rand eş 27say3 eş 28;============================ ================================================= ===; Vektörleri Sıfırla;; YAPILANDIRMAYI KONTROL EDİN. YANMADAN ÖNCE PARÇALAR!!!; INTOSC; MCLR: ETKİN; PWRUP: ETKİN; DİĞER TÜMLER: DEVRE DIŞI!!;;------------------------------------------ -------------------------------------RESET_ADDR EQU 0x00 org RESET_ADDR başlangıca git;===== ================================================= ========================; Buradan başlayın!;---------------------------------------------- ---------------------------------Başlat; Yapılandırma G/Ç bağlantı noktaları bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08';RA Çıkışları, PGIO3 her zaman tris girişi GPIO movlw h'07'; GPIO'yu Dijital moda ayarlayın movwf ADCON1; Dahili zamanlayıcıyı ayarla movlw h'CF'; Tmr0 Dahili kaynak, ön ölçekleme TMR0 1:256 movwf OPTION_REG movlw h'00' movwf INTCON; TMR0 kesintilerini devre dışı bırakın, bcf STATUS, RP0; Kayıtları Başlat clrf GPIO clrf sayısı1 clrf sayısı2 movlw 045h movwf Randlo movlw 030h movwf Randhi;bekle 1 saniye. çağrı geri dönüşü; 0,2 saniye çağrı geri dönme çağrı geri dönme çağrı geri dönme çağrı geri dönme;========================================= ========================================; Ana;------------------------------------------------ ----------------------------------Ana çağrı iki saniye; Her eylem arasında 2 saniye min 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;strip rasgele 16'dan 7'ye kadar ve lw 0x0F movwf rand; rastgele rutin seçimi xorlw 0x00; 0? btfsc STATUS, Z'ye git flash1; Evet. 0th movfw rand xorlw 0x01'i arayın; 1? btfsc DURUM, Z'ye git flash2; Evet. 1. movfw rand xorlw 0x02'yi arayın; 2? btfsc STATUS, Z'ye git flash3; Evet. 2. movfw rand xorlw 0x03'ü arayın; 3? btfsc STATUS, Z flashall'a git; Evet. 3. movfw rand xorlw 0x04'ü arayın; 4? btfsc STATUS, Z hareketine git; Evet. 4. movfw rand xorlw 0x05'i arayın; 5? btfsc DURUM, Z hareketine git; Evet. 5. movfw rand xorlw 0x06'yı arayın; 6? btfsc STATUS, Z hareket ettiricilere git; Evet. 6. movfw rand xorlw 0x07'yi arayın; 7? btfsc DURUM, Z hareketine git; Evet. 7. movfw rand xorlw 0x08'i arayın; 8? btfsc STATUS, Z hamle patlamasına git; Evet. 8. movfw rand xorlw 0x09'u arayın; 9? btfsc STATUS, Z'ye git Wait1; Evet. 9. movfw rand xorlw 0x0A'yı arayın; A? btfsc STATUS, Z'ye git Wait2; Evet. Ath movfw rand xorlw 0x0B'yi arayın; B? btfsc STATUS, Z'ye git Wait3; Evet. Çağrı Bth hiçbir şeye gitmez; Zamanın 1/4'ü, 10 saniye boyunca hiçbir şey yapmayın.flash1 bsf GPIO, 0 çağrı geri dönme bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 çağrı geri dönme bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 çağrı geri dönme bcf GPIO, 2 ana mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 çağrı geri dönme çağrı geri dönme bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 ana makineye git bsf GPIO, 4 bcf GPIO, 5 çağrı geri dönme bcf GPIO, 4 ana ana hareket, 4 bsf GPIO GPIO, 5 arama iptali arama iptali bcf GPIO, 4 ana taşıyıcıya git bcf GPIO, 4 bsf GPIO, 5 arama iptali bcf GPIO, 5 ana ana taşınmaya git 4 bsf GPIO, 5 çağrı geri dönüşü; 3 kez sağa hareket edin, kısa patlamalar. bcf GPIO, 5 çağrı geri dönme çağrı geri dönme bsf GPIO, 5 çağrı geri dönme çağrı geri dönme bcf GPIO, 5 çağrı geri dönme çağrı iptal bsf GPIO, 5 çağrı geri dönme çağrı geri dönme çağrı geri dönme çağrı geri dönme çağrı iptal bsf GPIO, 4; 3 kez sola hareket ettirin, kısa patlamalar. bcf GPIO, 5 çağrı geri dönme çağrı geri dönme bcf GPIO, 4 çağrı geri dönme çağrı geri dönme bsf GPIO, 4 çağrı geri dönme çağrı geri dönme bcf GPIO, 4 çağrı geri dönme çağrı geri dönme bsf GPIO, 4 çağrı geri dönme çağrı geri dönme bcf GPIO, 4 çağrı geri dönme ana çağrı geri dönme1 var; 1 saniye bekleyin movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf count2 çağrı pon_wait mainWait2'ye git; 0,6 saniye bekleyin movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait movlw.255; 2/10 saniye geri tepme için gecikme. movwf count2 çağrı pon_wait mainWait3'e git; 4 saniye bekle iki saniye ara iki saniye ara mainnothing'e git movlw.50; 10 saniye gecikme Toplam movwf count3nothing_loop movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait decfsz sayı3, F git hiçbir şey_loop ana git;====================================== ==========================================; 2 saniye bekleyin;------------------------------------------ ---------------------------------iki saniye movlw.10; 2 saniye gecikme Toplam movwf count3twosec_loop movlw.255; 2/10 saniye geri tepme için gecikme. movwf sayı2 çağrı pon_wait decfsz sayı3, F git iki saniyelik_loopreturn;======================================== ========================================; Geri dönme sinyali; Yüklemek ve çağırmak için 4 döngü, geri dönmek için 2 döngü.; 4Mhz Tc:: sayı2=255 -> 0,2 sn;-------------------------------------- -------------------------------------------- geri dönme movlw.127; 1/10 saniye geri tepme için gecikme. movwf count2 çağrı pon_wait dönüş;------------------------------------------- -----------------------------------; say1=255d:: 0'a 775 döngü, geri dönmek için + 3 döngü.;-------------------------------- ----------------------------------------------pon_waitbig_loopS movlw.255 movwf say1short_loopS decfsz sayısı1, F kısa_loopS decfsz sayısı2'ye git, F big_loopSreturnend'e git
Adım 3: Parçalar
Bu resim, bileşenleri bu adamın altına sığdırmak için ne kadar küçük almam gerektiğini gösteriyor.1 8-pin Mikroçip (PIC)3 SMT LED'ler (Mavi, Kırmızı, Beyaz)1 Dahili bir mikro heliden motor.1 Aynı heliden LIPO pil. 1 güç anahtarı1 2,5 mm ahşap dübel (2 uzunluğunda)2 1 mm nadir toprak mıknatısı
4. Adım: İnşa Et
Önce her şey için bir kütle merkezi bulundu. Bu, motor montaj alanı olacaktır. Motor, Greenstuff (minyatür dünyasında kullanılır) adı verilen goop kullanılarak monte edildi. 3 LED'in kablolaması önceden yapıldı. Mikro, kenara çok yakın olmayan, yol dışı bir alana süper yapıştırıldı. Güç düğmesi ve pil, dengeyi korumak için mikronun (küçük) ağırlığını dengelemek için monte edildi. Teller lehimlendi. Sıradaki gerçekten havalı kısım. Motordaki rotor dişlisinin ucuna süper yapıştırıcı (bu daha sonra aşağı bakacak) bir nadir toprak mıknatısı monte edildi. 5 mm derinliğinde 1 mm çapında bir delik için 2.5 çaplı kısa (~2 ) uzunlukta bir tahta dübel (el ve uç kullanılarak) delinmiştir. Bu deliğe 1 mm'lik başka bir nadir toprak mıknatısı yapıştırılmıştır. Şimdi, şekil için tabanım manyetik olarak motorun rotoruna akuple edilmiştir. Motor döndüğünde, denge merkezinden, şeklin tüm üst kısmını döndürür. LIPO pil çıkışı şu anda şarj olmadan 3.4V okuyor. Bu, motoru döndürmek ve LED'leri yakmak için yeterlidir, ancak tabana monte edilen şekil ile kendi kendine dönmüyor. Bir sonraki sürümüm daha fazla güç için 5V regülatörlü 12V uzaktan kumanda pili kullanın!
Önerilen:
Manyetik Bağlantılı Su Pompası: 10 Adım (Resimli)
Manyetik Bağlantılı Su Pompası: Bu TALİMADA manyetik kaplinli su pompasını nasıl yaptığımı anlatacağım. Bu su pompasında pervane ile elektrik motorunun çalışmasını sağlayan ekseni arasında mekanik bir bağlantı yoktur. Ancak bu nasıl sağlanır ve
8 Milin Üzerinde İlk Evrensel Manyetik Taşınabilir Pimler!: 5 Adım
8 Milden Fazla İlk Evrensel Manyetik Taşınabilir Pimler!: Merhaba! Benim adım Georgina Yeboah ve kısa bir süre önce Over 8 Miles web çizgi romanımdaki karakterlerden yola çıkarak bu manyetik pimleri yarattım! Webcomic'in ana sayfasının linkini bu intronun altında ve Tapas linkinde bulabilirsiniz. Bu pinleri şu şekilde yaptım
Elli Metre Menzilli Kablosuz Erişim Noktası TP Bağlantılı WN7200ND Raspbian Stretch Üzerinde USB Kablosuz Adaptör: 6 Adım
Elli Metre Menzilli Kablosuz Erişim Noktası TP Link ile Raspbian Stretch üzerinde WN7200ND USB Kablosuz Adaptör: Raspberry Pi, Güvenli Kablosuz Erişim Noktaları oluşturmak için harika ama iyi bir menzile sahip değil, genişletmek için bir TP Link WN7200ND USB Kablosuz Adaptör kullandım. Nasıl yapıldığını paylaşmak istiyorum Neden router yerine ahududu pi kullanayım?
Küçük D/C Motorlu Dizüstü Bilgisayar için DIY Manyetik Kaplin: 5 Adım
Küçük D/C Motorundan Çıkan Dizüstü Bilgisayar için DIY Manyetik Kaplin: Birkaç ay önce Dizüstü bilgisayarımın pili bitti, bu yüzden 7/24 prize takılı olmam gerekiyor, yoksa dizüstü bilgisayarım ölür. Bu yüzden dizüstü bilgisayarımın hafif hareketleriyle fişten çekilmekten bıktım ve yerinde kalması için ona manyetik bir bağlayıcı yapmaya karar verdim.
Eski Xbox 360 Sabit Disk + Sabit Disk Transfer Kiti = Taşınabilir USB Sabit Disk!: 4 Adım
Eski Xbox 360 Sabit Disk + Sabit Disk Transfer Kiti = Taşınabilir USB Sabit Disk!: Demek… Xbox 360'ınız için 120GB HDD almaya karar verdiniz. Artık muhtemelen almayacağınız eski bir sabit diskiniz var. artık kullan, hem de işe yaramaz bir kablo. Onu satabilir ya da başkasına verebilirsin… ya da iyi bir şekilde kullanabilirsin