Isi kandungan:

Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik: 4 Langkah
Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik: 4 Langkah

Video: Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik: 4 Langkah

Video: Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik: 4 Langkah
Video: Best Cosplay at Dragon Con 2022 2024, Julai
Anonim
Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik
Warhammer Sorcerer pada Cakera Dengan Motor dan LED Bergandingan Magnetik

Ingin menambahkan beberapa PIZZAZZ ke projek seni anda? Motor dan LED adalah jalan yang sesuai!

Adakah anda peminat permainan Warhammer? Ini untuk anda! Ini adalah Tzeentch Sorcerer Lord on Disc saya, disemak semula dengan tambahan 3 LED, motor, mikro (PIC) dan bateri kecil. Instruksional ini merangkumi binaan dan masalah yang telah siap.

Langkah 1: Litar

Litar
Litar

Pertama, anda mungkin tertanya-tanya apa ini. Ini adalah miniatur khas saya untuk meja permainan meja perang yang disebut Warhammer. Lelaki di bahagian atas adalah model biasa dari pembuat permainan (Gamesworkshop), tetapi cakera dan alasnya adalah milik saya. Binaan untuknya adalah subjek petunjuk lain, jadi saya tidak akan membahasnya di sini. Litar Idea asas di sini adalah mengambil mikro 8 pin kecil untuk mengawal 3 LED dan motor, dengan bekalan sekecil mungkin. Penggunaan "tolong menolong", seperti biasa, adalah idea yang baik. Perkara-perkara ini mempunyai dua klip untuk menahan apa sahaja yang anda kerjakan. Tidak diperlukan skema, kerana pengimplementasiannya sangat mudah; Mikro 8 pin (Microchip PIC) dengan 3 pin output terus ke LED, dan 2 pin output menuju ke 1 motor LED yang digunakan adalah jenis pemasangan permukaan Biru, Putih dan Merah. Motor yang digunakan dilarikan dari helikopter mikro dalaman yang rosak. Bateri (Lipo kecil) juga dilarikan dari heli, tetapi saya sudah merancang untuk menggunakan sumber lain untuk lebih banyak lagi. power. Suis ditambahkan untuk Hidup / Mati.

Langkah 2: Kod

Kod
Kod

Kod untuk PIC dibuat untuk mengoptimumkan jangka hayat bateri dan menggunakan banyak "peristiwa" rawak. Agar bateri dapat bertahan selagi mungkin, litar harus menggunakan kuasa paling sedikit yang dapat saya fikirkan, sambil mengekalkan idea itu. Oleh itu, saya memutuskan untuk mengurangkan aktiviti awal kepada rata-rata 1 lampu kilat LED atau pergerakan motor setiap 6 saat. Kod ini mempunyai 12 "aktiviti" rawak, mulai dari 1 LED menyala, motor menyala untuk jangka waktu atau arah yang berbeza, hingga keadaan menunggu secara rawak. Acara berbeza dari jarak 3 saat hingga jarak lebih dari 40 saat, berdasarkan peristiwa rawak yang dihasilkan. CODE; ============================= ==================================================; Pengawal Cakera;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ===================================== ==========================================; Sejarah & Catatan Penyemakan:; V1.0 Tajuk Permulaan, Kod 5/19/09;; (C) 5/2009; Kod ini boleh digunakan untuk pembelajaran / aplikasi / pengubahsuaian peribadi; Sebarang penggunaan kod ini dalam produk komersial melanggar pelepasan perisian percuma ini.; Untuk pertanyaan / komen, hubungi rangkaian dot mage di yahoo dot com.; ------------------------------------------------ ------------------------------- # sertakan P12C672. INC; ============= ================================================== ================; Mentakrifkan; ------------------------------------------------ -------------------------------; ================== ================================================== ===========; Data; ------------------------------------------------ -------------------------------; Pemboleh ubah simpan masacount1 equ 20 count2 equ 21 delay equ 22Randlo equ 23Randhi equ 24Wtemp equ 25Temp2 equ 26rand equ 27count3 equ 28; ========================== ================================================== ===; Tetapkan Semula Vektor;; SEMAK KONFIG. BIT SEBELUM MEMBAKAR !!!; INTOSC; MCLR: DIBERIKAN; PWRUP: DIBERIKAN; SEMUA LAIN: Lumpuhkan !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR mulakan; ===== ================================================== ========================; Mulakan Di Sini!; ---------------------------------------------- --------------------------------- mulakan; Config I / O port bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA Outputs, PGIO3 selalu memasukkan tris GPIO movlw h'07'; Tetapkan GPIO ke mod Digital movwf ADCON1; Tetapkan pemasa dalaman movlw h'CF '; Tmr0 Sumber dalaman, preskala TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Lumpuhkan gangguan TMR0, bcf STATUS, RP0; Permulaan Daftar clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; tunggu 1 saat. panggilan keluar; 0.2 saat panggilan debounce call debounce call debounce call debounce; ======================================= ========================================; Utama; ------------------------------------------------ ------------------------------- panggilan utama twosec; 2 saat min 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; jalur rawak 16 hingga 7 danlw 0x0F movwf rand; pemilihan rutin rawak xorlw 0x00; 0? btfsc STATUS, Z goto flash1; Ya. Hubungi 0th movfw rand xorlw 0x01; 1? btfsc STATUS, Z goto flash2; Ya. Hubungi 1st movfw rand xorlw 0x02; 2? btfsc STATUS, Z goto flash3; Ya. Hubungi 2nd movfw rand xorlw 0x03; 3? btfsc STATUS, Z goto flashall; Ya. Panggil 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. Panggil ke-5 movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto penggerak; Ya. Panggil ke-6 movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl; Ya. Hubungi 7th movfw rand xorlw 0x08; 8? btfsc STATUS, Z bergerak bergerak; Ya. Hubungi 8th movfw rand xorlw 0x09; 9? btfsc STATUS, Z goto Tunggu1; Ya. Panggil ke-9 movfw rand xorlw 0x0A; A? btfsc STATUS, Z goto Tunggu2; Ya. Panggil Ath movfw rand xorlw 0x0B; B? btfsc STATUS, Z goto Tunggu3; Ya. Panggil Bth goto apa-apa; 1/4 masa, jangan buat apa-apa selama 10 saat. Flash1 bsf GPIO, 0 call debounce bcf GPIO, 0 goto mainflash2 bsf GPIO, 1 call debounce bcf GPIO, 1 goto mainflash3 bsf GPIO, 2 call debounce bcf GPIO, 2 goto mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 call debounce call debounce bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 call debounce bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 debounce call debounce 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 bcf GPIO, 5 goto mainmoveburst bcf GPIO, 4 bsf GPIO, 5 panggilan keluar; bergerak ke kanan 3 kali, pecah pendek. bcf GPIO, 5 panggilan debounce call debounce bsf GPIO, 5 call debounce call debounce bcf GPIO, 5 call debounce call debounce bsf GPIO, 5 call debounce bcf GPIO, 5 call debounce call debounce call debounce call debounce bsf GPIO, 4; bergerak ke kiri 3 kali, pecah pendek. bcf GPIO, 5 panggilan debounce call debounce bcf GPIO, 4 call debounce call debounce bsf GPIO, 4 call debounce call debounce bcf GPIO, 4 call debounce call debounce bsf GPIO, 4 call debounce call debounce bcf GPIO, 4 call debounce call debounce goun mainWait1 utama; Tunggu 1 saat movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk penolakan 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk penolakan 2/10 saat. movwf count2 call pon_wait goto mainWait2; Tunggu 0.6 saat movlw.255; Kelewatan untuk penolakan 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait movlw.255; Kelewatan untuk penolakan 2/10 saat. movwf count2 call pon_wait goto mainWait3; Tunggu 4 saat panggilan twosec panggilan twosec goto mainnothing movlw.50; Kelewatan selama 10 saat Jumlah kiraan movwf3nothing_loop movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait decfsz count3, F goto nothing_loop goto main; ===================================== ==========================================; 2 saat menunggu; ---------------------------------------------- --------------------------------- twosec movlw.10; Kelewatan selama 2 saat Jumlah kiraan movwf3twosec_loop movlw.255; Kelewatan untuk deboun 2/10 saat. movwf count2 call pon_wait decfsz count3, F goto twosec_loopreturn; ======================================= ========================================; Isyarat debounce; 4 kitaran untuk memuat dan memanggil, 2 kitaran untuk kembali.; 4Mhz Tc:: count2 = 255 -> 0.2 saat; -------------------------------------- ----------------------------------------- debounce movlw.127; Kelewatan untuk lantunan 1/10 saat. movwf count2 call pon_wait return; -------------------------------------------- -----------------------------------; hitung1 = 255d:: 775 kitaran hingga 0, + 3 kitaran untuk kembali.; --------------------------------- ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend

Langkah 3: Bahagian

Bahagian
Bahagian

Gambar ini menunjukkan betapa kecilnya komponen yang sesuai dengan lelaki ini. 1 Microchip 8-pin (PIC) 3 SMT LED (Biru, Merah, Putih) 1 Motor dari heli mikro dalaman.1 Bateri LIPO dari heli yang sama. 1 suis kuasa1 Dowel kayu 2.5mm (panjang 2 ) 2 magnet nadir bumi

Langkah 4: Bina

Membina
Membina

Pertama dijumpai pusat jisim untuk keseluruhan perkara. Ini akan menjadi kawasan pemasangan motor. Motor dipasang menggunakan goop yang disebut Greenstuff (digunakan di dunia miniatur). 3 LED tersebut telah disambungkan terlebih dahulu. Mikro itu disambungkan di luar jalan, tidak terlalu dekat dengan tepi. Suis kuasa dan bateri dipasang untuk mengimbangi (kecil) berat mikro, untuk menjaga keseimbangan. Kawat disolder. Bahagian yang betul-betul sejuk adalah seterusnya. Superglue di hujung gear pemutar pada motor (ini akan menghadap ke bawah kemudian) magnet bumi jarang dipasang. Dowel kayu berdiameter 2.5 ~ pendek (~ 2 ) digerudi (menggunakan tangan dan bit) untuk lubang diameter 1mm sedalam 5mm. Di dalam lubang ini magnet bumi jarang 1mm dilekatkan. Sekarang, pangkalan saya untuk gambar itu magnet digabungkan dengan pemutar motor. Apabila motor berputar, dari pusat keseimbangannya, ia memutar keseluruhan bahagian atas gambar. Jerami merah dipotong untuk menutupi motor dan dowel kayu. Ini telah diukur sebelum dowel kayu dipasang, untuk memastikannya sesuai. Output bateri LIPO ketika ini membaca 3.4V tanpa mengecas. Ini cukup untuk memutar motor dan menyalakan LED, tetapi dengan angka yang dipasang di pangkalan, ia tidak berputar sendiri. Versi seterusnya saya akan gunakan bateri jarak jauh 12V dengan pengatur 5V untuk lebih banyak kuasa!

Disyorkan: