Daftar Isi:

Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasang secara Magnetik: 4 Langkah
Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasang secara Magnetik: 4 Langkah

Video: Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasang secara Magnetik: 4 Langkah

Video: Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasang secara Magnetik: 4 Langkah
Video: LEGIONES ASTARTES - The Emperor's Angels | Warhammer 40k Lore 2024, November
Anonim
Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasangkan Secara Magnetik
Warhammer Sorcerer pada Disk Dengan Motor dan LED yang Dipasangkan Secara Magnetik

Ingin menambahkan beberapa PIZZAZZ ke proyek seni Anda? Motor dan LED adalah solusinya!

Apakah Anda seorang penggemar game Warhammer? Yang ini untukmu! Ini adalah Tzeentch Sorcerer Lord on Disc saya, direvisi dengan menambahkan 3 LED, motor, mikro (PIC) dan baterai kecil. Instruksi ini mencakup build dan masalah yang sudah selesai.

Langkah 1: Sirkuit

sirkuit
sirkuit

Pertama, Anda mungkin bertanya-tanya apa ini. Ini adalah miniatur buatan saya untuk table-top permainan meja yang disebut Warhammer. Orang di atas adalah model biasa dari pembuat game (Gamesworkshop), tetapi disk dan basis semuanya milik saya. Membangun untuknya adalah subjek instruksi lain, jadi saya tidak akan membahasnya di sini. Sirkuit Ide dasar di sini adalah mengambil mikro 8 pin kecil untuk mengontrol 3 LED dan motor, dengan suplai sekecil mungkin. Penggunaan "bantuan-bantuan", seperti biasa, adalah ide yang bagus. Benda-benda ini memiliki dua klip untuk menahan apa pun yang sedang Anda kerjakan. Tidak diperlukan skema, karena penerapannya sangat sederhana; Mikro 8 pin (Microchip PIC) dengan 3 pin output langsung ke LED, dan 2 pin output ke 1 motor. LED yang digunakan adalah jenis pemasangan permukaan Biru, Putih dan Merah. Motor yang digunakan robek dari helikopter mikro dalam ruangan yang rusak. Baterai (Lipo kecil) juga robek dari heli, tetapi saya sudah berencana untuk menggunakan sumber lain untuk lebih power. A switch telah ditambahkan untuk On/Off.

Langkah 2: Kode

Kode
Kode

Kode untuk PIC dibuat untuk mengoptimalkan masa pakai baterai dan menggunakan banyak "peristiwa" acak. Agar baterai bertahan selama mungkin, rangkaian harus menggunakan daya paling sedikit yang bisa saya bayangkan, sambil menjaga ide tetap hidup. Jadi, saya memutuskan untuk mengurangi aktivitas awal menjadi rata-rata 1 lampu kilat LED atau gerakan motor setiap 6 detik. Kode memiliki 12 "aktivitas" acak, mulai dari 1 LED menyala, motor menyala untuk periode waktu atau arah yang berbeda, hingga status menunggu acak. Peristiwa bervariasi dari 3 detik hingga lebih dari 40 detik, berdasarkan peristiwa acak yang dihasilkan. KODE;============================ ==================================================;Pengontrol Disk;; -----------; Vcc-> |1 8| <-Vss; MGPIO5 |2 7| GPIO0 -LED1; MGPIO4 |3 6| GPIO1 -LED2; GPIO3-> |4 5| GPIO2 -LED3; -----------;;====================================== ==========================================; Riwayat Revisi & Catatan:; Header Awal V1.0, Kode 19/05/09;;;(C) 5/2009;Kode ini dapat digunakan untuk pembelajaran/aplikasi/modifikasi pribadi.;Setiap penggunaan kode ini dalam produk komersial melanggar rilis freeware ini.;Untuk pertanyaan/komentar, hubungi sirkuit dot mage di yahoo dot com.;------------------------------------------------ -------------------------------#include P12C672. INC;============= ================================================== =================; Mendefinisikan;------------------------------------------------ ------------------------------------------;==================== ================================================== ===========; Data;------------------------------------------------ -------------------------------; Variabel pengatur waktuhitung1 persamaan 20 hitungan2 persamaan 21 penundaan persamaan 22Randlo persamaan 23Randhi persamaan 24Wtemp persamaan 25Temp2 persamaan 26rand persamaan 27hitung3 persamaan 28;========================== ================================================== ===; Atur Ulang Vektor;; PERIKSA KONFIGURASI BIT SEBELUM TERBAKAR!!!; INTOSC; MCLR: DIAKTIFKAN; PWRUP: DIAKTIFKAN; SEMUA LAINNYA: NONAKTIFKAN!!;;------------------------------------------ -------------------------------------RESET_ADDR EQU 0x00 org RESET_ADDR mulai;===== ================================================== ========================; Mulai di sini!;---------------------------------------------- ---------------------------------Mulailah; Port I/O Config bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08';RA Outputs, PGIO3 selalu input tris GPIO movlw h'07'; Setel GPIO ke mode Digital movwf ADCON1; Atur timer internal movlw h'CF'; Tmr0 Sumber internal, skala awal TMR0 1:256 movwf OPTION_REG movlw h'00' movwf INTCON; Nonaktifkan interupsi TMR0, bcf STATUS, RP0; Inisialisasi Register clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi;tunggu 1 detik. panggilan debounce; 0.2 detik panggilan debounce panggilan debounce panggilan debounce panggilan debounce;====================================== ========================================; Utama;------------------------------------------------ -------------------------------panggilan utama dua detik; 2 detik menit antara setiap tindakan 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 acak 16 ke 7 andlw 0x0F movwf rand; pemilihan rutin acak xorlw 0x00; 0? STATUS btfsc, Z goto flash1; Ya. Hubungi 0th movfw rand xorlw 0x01; 1? STATUS btfsc, Z goto flash2; Ya. Hubungi 1st movfw rand xorlw 0x02; 2? STATUS btfsc, Z goto flash3; Ya. Hubungi 2nd movfw rand xorlw 0x03; 3? btfsc STATUS, Z goto flashall; Ya. Hubungi 3rd movfw rand xorlw 0x04; 4? btfsc STATUS, Z goto movels; Ya. Hubungi 4th movfw rand xorlw 0x05; 5? btfsc STATUS, Z goto movell; Ya. Hubungi 5th movfw rand xorlw 0x06; 6? btfsc STATUS, Z penggerak goto; Ya. Hubungi 6th movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl; Ya. Hubungi 7th movfw rand xorlw 0x08; 8? btfsc STATUS, Z goto moveburst; Ya. Hubungi 8th movfw rand xorlw 0x09; 9? STATUS btfsc, Z goto Tunggu1; Ya. Hubungi 9th movfw rand xorlw 0x0A; A? STATUS btfsc, Z goto Wait2; Ya. Hubungi Ath movfw rand xorlw 0x0B; B? STATUS btfsc, Z goto Tunggu3; Ya. Panggil Bth goto apa-apa; 1/4 kali, tidak melakukan apa-apa selama 10 detik.flash1 bsf GPIO, 0 panggilan debounce bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 panggilan debounce bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 panggilan debounce bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 panggilan debounce panggilan debounce bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 panggilan debounce bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 panggilan debounce panggilan debounce bcf GPIO, 4 goto mainmovers bcf GPIO, 4 bsf GPIO, 5 panggilan debounce bcf GPIO, 5 goto mainmoverl bcf GPIO, 4 bsf GPIO, 5 panggilan debounce panggilan debounce bcf GPIO, 5 goto mainmoveburst bcf GPIO 4 bsf GPIO, 5 panggilan debounce; bergerak ke kanan 3 kali, ledakan pendek. bcf GPIO, 5 panggilan debounce panggilan debounce bsf GPIO, 5 panggilan debounce panggilan debounce bcf GPIO, 5 panggilan debounce panggilan debounce bsf GPIO, 5 panggilan debounce bcf GPIO, 5 panggilan debounce panggilan debounce panggilan debounce panggilan debounce bsf GPIO, 4; bergerak ke kiri 3 kali, ledakan singkat. bcf GPIO, 5 panggilan debounce panggilan debounce bcf GPIO, 4 panggilan debounce panggilan debounce bsf GPIO, 4 panggilan debounce panggilan debounce bcf GPIO, 4 panggilan debounce panggilan debounce bsf GPIO, 4 panggilan debounce panggilan debounce bcf GPIO, 4 panggilan debounce panggilan debounce goto mainWait1; Tunggu 1 detik movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait goto mainWait2; Tunggu 0,6 detik movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Penundaan selama 2/10 detik debounce. movwf count2 panggil pon_wait movlw.255; Delay selama 2/10 detik debounce. movwf count2 panggil pon_wait goto mainWait3; Tunggu 4 detik panggil twosec call twosec goto mainnothing movlw.50; Penundaan selama 10 detik Total movwf count3nothing_loop movlw.255; Delay selama 2/10 detik debounce. movwf count2 call pon_wait decfsz count3, F goto nothing_loop goto main;==================================== ==========================================; 2 detik menunggu;------------------------------------------------- ----------------------------------dua detik movlw.10; Penundaan selama 2 detik Total movwf count3twosec_loop movlw.255; Delay selama 2/10 detik debounce. movwf count2 call pon_wait decfsz count3, F goto twosec_loopreturn;==================================== ========================================; Sinyal debounce; 4 siklus untuk memuat dan memanggil, 2 siklus untuk kembali.; 4Mhz Tc:: count2=255 -> 0.2 sec;-------------------------------------- -----------------------------------------debounce movlw.127; Penundaan selama 1/10 detik debounce. movwf count2 panggilan pon_wait kembali;-------------------------------------------- -----------------------------------; count1=255d:: 775 siklus ke 0, + 3 siklus untuk kembali.;--------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend

Langkah 3: Bagian

Bagian
Bagian

Gambar ini menunjukkan betapa kecilnya saya untuk mendapatkan komponen agar sesuai di bawah orang ini.1 8-pin Microchip (PIC)3 LED SMT (Biru, Merah, Putih)1 Motor dari mikro heli.1 baterai LIPO dalam ruangan dari heli yang sama. 1 sakelar daya1 pasak kayu 2,5 mm (panjang 2 )2 magnet tanah jarang 1 mm

Langkah 4: Bangun

Membangun
Membangun

Pertama, pusat massa untuk semuanya ditemukan. Ini akan menjadi area pemasangan motor. Motor dipasang menggunakan goop yang disebut Greenstuff (digunakan di dunia miniatur). 3 LED telah dipasang sebelumnya. Mikro direkatkan di area yang tidak terlalu dekat, tidak terlalu dekat ke tepi. Sakelar daya dan baterai dipasang untuk mengimbangi berat (kecil) mikro, untuk menjaga keseimbangan. Kabel disolder. Bagian yang benar-benar keren adalah berikutnya. Lem super di ujung roda gigi rotor pada motor (ini akan menghadap ke bawah nanti) magnet tanah jarang dipasang. Sebuah paku kayu berdiameter 2,5 pendek (~2 ) panjangnya dibor (menggunakan tangan dan mata bor) untuk membuat lubang berdiameter 1mm sedalam 5mm. Di lubang ini magnet tanah jarang 1mm lainnya direkatkan. Sekarang, alas saya untuk figur itu secara magnetis disambungkan ke rotor motor. Ketika motor berputar, dari pusat keseimbangannya, ia memutar seluruh bagian atas gambar. Sedotan merah dipotong untuk menutupi motor dan pasak kayu. Ini diukur terlebih dahulu sebelum pasak kayu dipasang. dipasang, untuk memastikannya cocok. Output baterai LIPO saat ini membaca 3.4V tanpa mengisi ulang. Ini cukup untuk memutar motor dan menyalakan LED, tetapi dengan angka yang dipasang di alas, itu tidak berputar sendiri. Versi saya berikutnya akan gunakan baterai remote 12V dengan regulator 5V untuk daya lebih!

Direkomendasikan: