Mục lục:
Video: Warhammer Sorcerer trên đĩa với động cơ ghép từ tính và đèn LED: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:37
Bạn muốn thêm một số PIZZAZZ vào các dự án nghệ thuật của mình? Động cơ và đèn LED là con đường để đi!
Bạn có phải là một người đam mê chơi game Warhammer? Đây là phần của bạn! Đây là Chúa tể phù thủy Tzeentch của tôi trên Đĩa, được sửa lại với thêm 3 đèn LED, một động cơ, một micro (PIC) và pin nhỏ. Hướng dẫn này bao gồm bản dựng đã hoàn thành và các vấn đề.
Bước 1: Mạch
Đầu tiên, bạn có thể tự hỏi đây là gì. Đây là bản thu nhỏ tùy chỉnh của tôi dành cho trò chơi chiến tranh trên bàn có tên Warhammer. Anh chàng ở trên cùng là một người mẫu bình thường của nhà sản xuất trò chơi (Gamesworkshop), nhưng đĩa và đế đều là của tôi. Ý tưởng cơ bản ở đây là sử dụng một micro 8 pin nhỏ để điều khiển 3 đèn LED và một động cơ, với nguồn cung cấp càng nhỏ càng tốt. Việc sử dụng "bàn tay trợ giúp", như mọi khi, là một ý kiến hay. Những thứ này có hai kẹp để giữ bất cứ thứ gì bạn đang làm việc. Không cần sơ đồ vì quá trình kiểm tra rất đơn giản; Một vi mạch 8 chân (Microchip PIC) với 3 chân đầu ra đi thẳng đến đèn LED và 2 chân đầu ra đi đến 1 động cơ Đèn LED được sử dụng là loại gắn trên bề mặt Xanh lam, Trắng và Đỏ. Động cơ được sử dụng đã được tách từ một helecopter siêu nhỏ trong nhà bị hỏng. Pin (Lipo nhỏ) cũng đã bị tách khỏi heli, nhưng tôi đã có kế hoạch sử dụng một nguồn khác cho nhiều hơn Nguồn. Một công tắc đã được thêm vào để Bật / Tắt.
Bước 2: Mã
Mã cho PIC được tạo ra để tối ưu hóa tuổi thọ pin và sử dụng nhiều "sự kiện" ngẫu nhiên.. Vì vậy, tôi quyết định giảm hoạt động ban đầu xuống trung bình 1 đèn flash LED hoặc động cơ di chuyển sau mỗi 6 giây. Mã có 12 "hoạt động" ngẫu nhiên, từ 1 đèn LED bật, động cơ bật trong các khoảng thời gian hoặc hướng khác nhau, đến trạng thái chờ ngẫu nhiên. Các sự kiện cách nhau từ 3 giây đến hơn 40 giây, dựa trên sự kiện ngẫu nhiên được tạo. CODE; ============================= ==================================================; Bộ điều khiển đĩa;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ===================================== ==========================================; Lịch sử sửa đổi & ghi chú:; V1.0 Tiêu đề ban đầu, Mã 5/19/09;;; (C) 5/2009; Mã này có thể được sử dụng cho việc học tập / ứng dụng / sửa đổi cá nhân.; Bất kỳ việc sử dụng mã này trong các sản phẩm thương mại đều vi phạm bản phát hành phần mềm miễn phí này..; -------------------------------------------------- ------------------------------- # gồm P12C672. INC; ============= ================================================== ================; Xác định; ------------------------------------------------ -------------------------------; ================== ================================================== ===========; Dữ liệu;------------------------------------------------ -------------------------------; Các biến giữ thời giancount1 = 20 count2 = 21 delay = 22Randlo = 23Randhi = 24Wtemp = 25Temp2 = 26rand = 27count3 = 28; ========================== ================================================== ===; Đặt lại Vectơ;; KIỂM TRA CẤU HÌNH. BITS TRƯỚC KHI TRỞ LẠI !!!; INTOSC; MCLR: ĐÃ BẬT; PWRUP: ĐÃ BẬT; TẤT CẢ NHỮNG NGƯỜI KHÁC: BẤT CHẤP !!;; ------------------------------------------ ------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR bắt đầu; ===== ================================================== ========================; Bắt đầu ở đây!;---------------------------------------------- ---------------------------------bắt đầu; Cấu hình các cổng I / O bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; Đầu ra RA, PGIO3 luôn đầu vào tris GPIO movlw h'07'; Đặt GPIO thành Chế độ kỹ thuật số movwf ADCON1; Đặt hẹn giờ nội bộ movlw h'CF '; Tmr0 Nguồn nội bộ, tỷ lệ đặt trước TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Vô hiệu hóa ngắt TMR0, bcf STATUS, RP0; Khởi tạo đăng ký clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi; đợi 1 giây. gọi debounce; 0.2 giây cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi; ========================================= ========================================; Chủ chốt;------------------------------------------------ ------------------------------- cuộc gọi chính twosec; 2 giây min giữa mỗi hành động 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; dải ngẫu nhiên 16 xuống 7 andlw 0x0F movwf rand; lựa chọn thường xuyên ngẫu nhiên xorlw 0x00; 0? btfsc TRẠNG THÁI, Z goto flash1; Đúng. Gọi 0th movfw rand xorlw 0x01; 1? btfsc TRẠNG THÁI, Z goto flash2; Đúng. Gọi 1 movfw rand xorlw 0x02; 2? btfsc TRẠNG THÁI, Z goto flash3; Đúng. Gọi lần 2 movfw rand xorlw 0x03; 3? btfsc TÌNH TRẠNG, Z goto flashall; Đúng. Gọi thứ 3 movfw rand xorlw 0x04; 4? btfsc TRẠNG THÁI, Z goto movels; Đúng. Gọi lần 4 movfw rand xorlw 0x05; 5? btfsc TRẠNG THÁI, Z goto movell; Đúng. Gọi thứ 5 movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto movers; Đúng. Gọi 6 movfw rand xorlw 0x07; 7? btfsc TRẠNG THÁI, Z goto moverl; Đúng. Gọi lần thứ 7 movfw rand xorlw 0x08; số 8? btfsc TRẠNG THÁI, Z goto moveburst; Đúng. Gọi thứ 8 movfw rand xorlw 0x09; 9? btfsc TRẠNG THÁI, Z goto Wait1; Đúng. Gọi 9 movfw rand xorlw 0x0A; MỘT? btfsc TRẠNG THÁI, Z goto Wait2; Đúng. Gọi Ath movfw rand xorlw 0x0B; NS? btfsc TRẠNG THÁI, Z goto Wait3; Đúng. Gọi Bth goto nothing; 1/4 thời gian, không làm gì trong 10 giây. Fflash1 bsf GPIO, 0 cuộc gọi gỡ lỗi bcf GPIO, 0 cuộc gọi mainflash2 bsf GPIO, 1 cuộc gọi gỡ lỗi bcf GPIO, 1 cuộc gọi mainflash3 bsf GPIO, 2 cuộc gọi gỡ lỗi bcf GPIO, 2 cuộc gọi mainflashall bsf GPIO, 0 bsf GPIO, 1 bsf GPIO, 2 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 cuộc gọi gỡ lỗi bcf GPIO, 4 goto mainmovell bsf GPIO, 4 bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi bcf GPIO, 4 cuộc gọi gỡ lỗi cuộc gọi bcf GPIO, 4 cái GPIO, 5 cuộc gọi gỡ lỗi bcf GPIO, 5 cuộc gọi mainmoverl bcf GPIO, 4 bsf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 5 goto mainmoveburst bcf GPIO, 4 bsf GPIO, 5 cuộc gọi gỡ lỗi; di chuyển sang phải 3 lần, từng đợt ngắn. bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 5 cuộc gọi gỡ lỗi bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi cuộc gọi bsf GPIO, 4; di chuyển sang trái 3 lần, từng đợt ngắn. bcf GPIO, 5 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 4 cuộc gọi gỡ cuộc gọi gỡ lỗi cuộc gọi bcf GPIO, 4 cuộc gọi gỡ cuộc gọi gỡ lỗi cuộc gọi bcf GPIO, 4 cuộc gọi gỡ lỗi cuộc gọi gỡ lỗi bcf GPIO, 4 cuộc gọi gỡ cuộc gọi gỡ lỗi bcf GPIO, 4 cuộc gọi gỡ cuộc gọi gỡ lỗi goto mainWait1; Chờ 1 giây movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 gọi pon_wait goto mainWait2; Chờ 0,6 giây movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 gọi pon_wait goto mainWait3; Chờ 4 giây gọi twosec gọi twosec goto mainnothing movlw.50; Trì hoãn trong 10 giây Tổng số movwf3nothing_loop movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait decfsz count3, F goto nothing_loop goto main; ===================================== ==========================================; Chờ 2 giây; ---------------------------------------------- --------------------------------- twosec movlw.10; Trễ trong 2 giây Tổng số movwf3twosec_loop movlw.255; Độ trễ trong 2/10 giây ra mắt. movwf count2 call pon_wait decfsz count3, F goto twosec_loopreturn; ========================================= ========================================; Tín hiệu Debounce; 4 chu kỳ để tải và gọi, 2 chu kỳ để quay lại; 4Mhz Tc:: count2 = 255 -> 0,2 giây; -------------------------------------- ----------------------------------------- gỡ rối movlw.127; Độ trễ trong 1/10 giây ra mắt. movwf count2 call pon_wait return; -------------------------------------------- -----------------------------------; count1 = 255d:: 775 chu kỳ đến 0, + 3 chu kỳ để quay lại.; ------------------------------------------ ---------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend
Bước 3: Các bộ phận
Hình ảnh này cho thấy tôi đã phải nhỏ như thế nào để có các thành phần phù hợp với anh chàng này. 1 Bộ vi mạch 8 chân (PIC) 3 SMT LED (Xanh, Đỏ, Trắng) 1 Động cơ từ một heli nhỏ trong nhà. 1 Pin LIPO từ cùng một heli. 1 công tắc nguồn 1 chốt gỗ 2,5mm (dài 2 ) 2 nam châm đất hiếm 1mm
Bước 4: Xây dựng
Đầu tiên, một khối tâm của toàn bộ vật đã được tìm thấy. Đây sẽ là khu vực gắn động cơ. Mô-tơ được gắn bằng goop có tên là Greenstuff (được sử dụng trong thế giới thu nhỏ). 3 đèn LED đã được nối sẵn. Micro được dán siêu trong một khu vực khuất, không quá gần mép. Công tắc nguồn và pin được gắn để bù lại trọng lượng (nhỏ) của vi, để giữ thăng bằng. Các dây được hàn vào. Phần thực sự thú vị là tiếp theo. Siêu dính trên đầu của bánh răng rôto trên động cơ (phần này sẽ hướng xuống sau) một nam châm đất hiếm được gắn vào. Một chốt gỗ có đường kính 2,5 ngắn (~ 2 ) đã được khoan (dùng tay và bit) để tạo ra một lỗ sâu 5mm, đường kính 1mm. Trong lỗ này, một nam châm đất hiếm 1mm khác đã được dán vào. Bây giờ, đế của tôi cho hình là từ tính được nối với rôto của động cơ. Khi động cơ quay, từ tâm cân bằng, nó sẽ quay toàn bộ phần trên của hình. Một ống hút màu đỏ được cắt để che động cơ và chốt bằng gỗ. Điều này đã được đo trước khi chốt bằng gỗ. được gắn, để đảm bảo nó khớp. Đầu ra pin LIPO hiện đang đọc 3,4V mà không cần sạc lại. Điều này đủ để quay động cơ và chiếu sáng đèn LED, nhưng với hình được gắn trên đế, nó không tự quay. Phiên bản tiếp theo của tôi sẽ sử dụng pin từ xa 12V với bộ điều chỉnh 5V để có thêm năng lượng!
Đề xuất:
Cách ghép nối Bộ điều khiển Xbox One với Máy tính xách tay Windows 10.: 16 bước
Cách ghép nối Bộ điều khiển Xbox One với Máy tính xách tay Windows 10. Bạn sẽ cần: Bộ điều khiển Xbox Máy tính xách tay Windows 10
Máy tính xách tay phù hợp với túi tiền: Tùy chọn Powerhouse chi phí thấp (Hai ổ đĩa bên trong, Dựa trên Lenovo): 3 bước
Máy tính xách tay phù hợp với túi tiền: Tùy chọn Powerhouse chi phí thấp (Hai ổ đĩa bên trong, Dựa trên Lenovo): Hướng dẫn này sẽ tập trung vào cấu hình được cập nhật cho máy tính xách tay Lenovo T540p như một máy điều khiển hàng ngày để duyệt web, xử lý văn bản, chơi game nhẹ và âm thanh . Nó được cấu hình với bộ lưu trữ trạng thái rắn và cơ học cho tốc độ và tụ điện
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Cài đặt Windows trên ổ đĩa ngoài với phân vùng Mac trên máy Mac: 5 bước (có hình ảnh)
Cài đặt Windows trên ổ đĩa ngoài với phân vùng Mac trên máy Mac: Nếu bạn đã mua một thứ gì đó như MacBook pro cơ bản và tiết kiệm được một ít tiền mặt, nhưng sau đó sớm gặp phải vấn đề lưu trữ khi cố gắng cài đặt cửa sổ bằng Bootcamp Chúng ta đều biết rằng 128 gb là không nên những thứ này nên chúng ta có thể đã mua một thứ gì đó li
Ăng-ten trên đĩa vệ tinh bổ sung bắt tín hiệu Wi-Fi và điện thoại di động: 4 bước
Ăng-ten của đĩa vệ tinh bổ sung bắt tín hiệu Wi-Fi và điện thoại di động: Khi tôi chuyển từ San Antonio trở lại vùng nông thôn Bắc Carolina, tôi thấy mình hoàn toàn không thể nhận được tín hiệu wi-fi hoặc điện thoại di động ở nơi tôi sống. Cách duy nhất để tôi nhận được tín hiệu di động là lái xe hơn một dặm theo một trong hai hướng từ nơi tôi