Πίνακας περιεχομένων:
Βίντεο: Warhammer Sorcerer στο δίσκο με μαγνητικά συνδεδεμένο κινητήρα και LED: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:39
Θέλετε να προσθέσετε κάποιο PIZZAZZ στα έργα τέχνης σας; Οι κινητήρες και τα LED είναι ο δρόμος!
Είστε λάτρης των παιχνιδιών Warhammer; Αυτό είναι για σένα! Αυτό είναι το Tzeentch Sorcerer Lord on Disc, αναθεωρημένο με προσθήκη 3 LED, κινητήρα, μικρο (PIC) και μικρή μπαταρία. Αυτό το διδακτικό κείμενο καλύπτει την ολοκληρωμένη κατασκευή και ζητήματα.
Βήμα 1: Κύκλωμα
Πρώτον, ίσως αναρωτιέστε τι είναι αυτό. Αυτή είναι η προσαρμοσμένη μου μικρογραφία για επιτραπέζια επιτραπέζια wargame που ονομάζεται Warhammer. Ο άντρας στην κορυφή είναι ένα κανονικό μοντέλο από τον κατασκευαστή του παιχνιδιού (Gamesworkshop), αλλά ο δίσκος και η βάση είναι όλα δικά μου. Η κατασκευή για αυτόν είναι το θέμα μιας άλλης διδακτικής, οπότε δεν θα αναφερθώ εδώ σε αυτό. Κύκλος Η χρήση των "χεριών βοήθειας", όπως πάντα, είναι μια καλή ιδέα. Αυτά τα πράγματα έχουν δύο κλιπ για να συγκρατούν ό, τι κι αν εργάζεστε. Δεν χρειάστηκε σχηματικό σχήμα, καθώς η σφράγιση είναι πολύ απλή. Ένα μικροδέκτη 8 ακίδων (Microchip PIC) με 3 ακίδες εξόδου απευθείας στα LED και 2 ακίδες εξόδου που πηγαίνουν σε 1 κινητήρα. Τα LED που χρησιμοποιούνται είναι τύπου μπλε, λευκού και κόκκινου, για τοποθέτηση επιφάνειας. Ο κινητήρας που χρησιμοποιήθηκε σχίστηκε από ένα σπασμένο εσωτερικό ελικόπτερο μικροϋπολογιστή. Η μπαταρία (μικρό Lipo) επίσης σχίστηκε από το έλασμα, αλλά ήδη σχεδιάζω να χρησιμοποιήσω άλλη πηγή για περισσότερα τροφοδοσία. Προστέθηκε ένας διακόπτης για On/Off.
Βήμα 2: Κωδικός
Ο κωδικός για το PIC έγινε για τη βελτιστοποίηση της διάρκειας ζωής της μπαταρίας και τη χρήση πολλών τυχαίων "γεγονότων". Προκειμένου η μπαταρία να διαρκέσει όσο το δυνατόν περισσότερο, το κύκλωμα έπρεπε να χρησιμοποιήσει τη λιγότερη ισχύ που θα μπορούσα να υπολογίσω, διατηρώντας παράλληλα την ιδέα ζωντανή Το Έτσι, αποφάσισα να μειώσω την αρχική δραστηριότητα σε μέσο όρο 1 φλας LED ή κίνηση κινητήρα κάθε 6 δευτερόλεπτα. Ο κωδικός έχει 12 τυχαίες "δραστηριότητες", που κυμαίνονται από 1 LED που ανάβει, ο κινητήρας ενεργοποιείται για διαφορετικές χρονικές περιόδους ή κατευθύνσεις, έως μια τυχαία κατάσταση αναμονής. Τα συμβάντα διαφέρουν από 3 δευτερόλεπτα σε απόσταση μεγαλύτερη των 40 δευτερολέπτων, με βάση το τυχαίο συμβάν που δημιουργήθηκε. ΚΩΔΙΚΟΣ; =========================== ================================================== Ελεγκτής δίσκου;; -----------; Vcc-> | 1 8 | <-Vss; MGPIO5 | 2 7 | GPIO0 -LED1; MGPIO4 | 3 6 | GPIO1 -LED2; GPIO3-> | 4 5 | GPIO2 -LED3; -----------;; ===================================== =========================================== Ιστορικό αναθεώρησης και σημειώσεις:; V1.0 Αρχική κεφαλίδα, Κωδικός 5/19/09;;; (C) 5/2009; Αυτός ο κωδικός μπορεί να χρησιμοποιηθεί για προσωπική εκμάθηση/εφαρμογή/τροποποίηση.; Οποιαδήποτε χρήση αυτού του κώδικα σε εμπορικά προϊόντα παραβιάζει αυτήν την έκδοση δωρεάν λογισμικού..; -------------------------------------------------------- ----------------------------------#περιλαμβάνει το P12C672. INC; ============= ================================================== ================= Ορίζει; ---------------------------------------------------- -------------------------------; ================= ================================================== ===========? Δεδομένα;------------------------------------------------ -----------------------------------; Μεταβλητές χρονικής καταμέτρησηςμετρητής1 ισοδύναμο 20 μετρητές2 ισοδύναμοι 21 καθυστέρησης ισοδύναμοι Ράντλο ισοδύναμοι 23 Ράντι ισοδύναμοι 25 Θερμοκρατικοί ισοδύναμοι 25Τεμπ2 ισοδύναμοι 26 και ισοδύναμοι αριθμοί 3 ισοδύναμοι 28; ========================= ================================================== ===; Επαναφορά διανυσμάτων;; ΕΛΕΓΧΕ ΔΙΑΜΟΡΦΩΣΗ. ΜΠΙΖΑ ΠΡΙΝ ΚΑΙΕΙ !!! INTOSC; MCLR: ΕΝΕΡΓΟΠΟΙΗΣΗ PWRUP: ΕΝΕΡΓΟΠΟΙΗΣΗ ΟΛΟΙ ΟΙ ΑΛΛΟΙ: ΑΝΑΠΤΥΧΙΑ !!;; ---------------------------------------------- ----------------------------------------- RESET_ADDR EQU 0x00 org RESET_ADDR ξεκίνησε; ===== ================================================== ========================= Ξεκινήστε εδώ!;---------------------------------------------- ------------------------------------ έναρξη. Διαμόρφωση θυρών εισόδου/εξόδου bcf STATUS, RP1 bsf STATUS, RP0 movlw h'08 '; RA Outputs, PGIO3 input πάντα tris GPIO movlw h'07'? Ορίστε το GPIO σε ψηφιακή λειτουργία movwf ADCON1. Ρύθμιση εσωτερικού χρονοδιακόπτη movlw h'CF '. Tmr0 Εσωτερική πηγή, προεπιλογή TMR0 1: 256 movwf OPTION_REG movlw h'00 'movwf INTCON; Απενεργοποίηση διακοπών TMR0, bcf STATUS, RP0. Αρχικοποίηση καταχωρητών clrf GPIO clrf count1 clrf count2 movlw 045h movwf Randlo movlw 030h movwf Randhi, περιμένετε 1 δευτερόλεπτο. Αποκατάσταση κλήσης? 0,2 δευτερόλεπτα κλήση αποκοπή κλήση αποκοπή κλήση αποκοπή κλήση κατάργηση κλήσης · ====================================== ========================================= Κύριος;------------------------------------------------ ----------------------------------- κύρια κλήση twosec; 2 δευτερόλεπτα μεταξύ κάθε ενέργειας 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; λωρίδα τυχαία 16 έως 7 andlw 0x0F movwf rand; τυχαία επιλογή ρουτίνας xorlw 0x00? 0; btfsc STATUS, Z goto flash1; Ναί. Καλέστε το 0ο movfw rand xorlw 0x01; 1? btfsc STATUS, Z goto flash2; Ναί. Καλέστε το 1ο movfw rand xorlw 0x02; 2? btfsc STATUS, Z goto flash3; Ναί. Καλέστε το 2ο movfw rand xorlw 0x03? 3; btfsc STATUS, Z goto flashall? Ναί. Καλέστε το 3ο movfw rand xorlw 0x04? 4? btfsc STATUS, Z πήρα κινήσεις? Ναί. Καλέστε το 4ο movfw rand xorlw 0x05? 5? btfsc STATUS, Z goto movell; Ναί. Καλέστε το 5ο movfw rand xorlw 0x06; 6? btfsc STATUS, Z goto movers? Ναί. Καλέστε το 6ο movfw rand xorlw 0x07; 7? btfsc STATUS, Z goto moverl? Ναί. Καλέστε το 7ο movfw rand xorlw 0x08; 8? btfsc STATUS, Z πήρα moveburst? Ναί. Καλέστε το 8ο movfw rand xorlw 0x09; 9? btfsc STATUS, Z goto Wait1; Ναί. Καλέστε το 9ο movfw rand xorlw 0x0A? ΕΝΑ? btfsc STATUS, Z goto Wait2; Ναί. Καλέστε Ath movfw rand xorlw 0x0B; ΣΙ? btfsc STATUS, Z goto Wait3; Ναί. Το Call Bth δεν πήρε τίποτα. 1/4 της ώρας, μην κάνετε τίποτα για 10 δευτερόλεπτα. Flash1 bsf GPIO, 0 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 debounce call debounce bcf GPIO, 0 bcf GPIO, 1 bcf GPIO, 2 goto mainmovels bsf GPIO, 4 bcf GPIO, 5 debounce call bcf GPIO, 4 goto mainmovell bsf, 4 goto mainmovell bsf 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 mainmove, 5 goto mainmove 4 bsf GPIO, 5 αποκλείσεις κλήσεων. μετακινηθείτε δεξιά 3 φορές, σύντομες εκρήξεις. bcf GPIO, 5 κλήση κατάργηση κλήσης κατάργηση bsf GPIO, 5 κλήση κατάργησης κλήσης κατάργηση κλήσης bcf GPIO, 5 κλήση κατάργηση κλήσης κατάργηση bsf GPIO, 5 κλήση κατάργηση κλήσης bcf GPIO, 5 κλήση κατάργηση κλήσης κατάργηση κλήσης κατάργηση κλήσης κατάργηση κλήσης κατάργηση κλήσης bsf GPIO, 4; μετακινηθείτε αριστερά 3 φορές, σύντομες εκρήξεις. bcf GPIO, 5 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 ? Περιμένετε 1 δευτερόλεπτο movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait goto mainWait2; Περιμένετε 0,6 δευτερόλεπτα movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait goto mainWait3; Περιμένετε 4 δευτερόλεπτα κλήση twosec κλήση twosec goto mainnothing movlw.50; Καθυστέρηση για 10 δευτερόλεπτα Σύνολο movwf count3nothing_loop movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 call pon_wait decfsz count3, F goto nothing_loop goto main; ==================================== ========================================== 2 δευτερόλεπτα αναμονή; -------------------------------------------------- ------------------------------------- twosec movlw.10; Καθυστέρηση για 2 δευτερόλεπτα Σύνολο movwf count3twosec_loop movlw.255; Καθυστέρηση για 2/10 δευτερόλεπτο ντεμπούτο. movwf count2 κλήση pon_wait decfsz count3, F goto twosec_loopreturn; ====================================== ========================================= Σήμα κατάργησης? 4 κύκλοι για φόρτωση και κλήση, 2 κύκλοι για επιστροφή.? 4Mhz Tc:: count2 = 255-> 0,2 sec; ------------------------------------------ --------------------------------------------- debounce movlw.127; Καθυστέρηση για 1/10 δευτερόλεπτο ντεμπούτ. movwf count2 κλήση pon_wait επιστροφή; ------------------------------------------------ ---------------------------------------; count1 = 255d:: 775 κύκλοι στο 0, + 3 κύκλοι στην επιστροφή. --------------------------------- -------------------------------------------------- pon_waitbig_loopS movlw.255 movwf count1short_loopS decfsz count1, F goto short_loopS decfsz count2, F goto big_loopSreturnend
Βήμα 3: Μέρη
Αυτή η εικόνα δείχνει πόσο μικρό χρειάστηκα για να χωρέσουν τα εξαρτήματα κάτω από αυτόν τον τύπο. 1 Μικροτσίπ 8 ακίδων (PIC) 3 SMT LED's (Μπλε, Κόκκινο, Λευκό) 1 Κινητήρας από εσωτερική μικροέλαση. Μπαταρία LIPO από την ίδια ηλία. 1 διακόπτης ισχύος 1 ξύλινος πείρος 2,5 mm (μήκος 2 ) 2 μαγνήτες σπάνιας γης 1 mm
Βήμα 4: Δημιουργία
Πρώτα βρέθηκε ένα κέντρο μάζας για το όλο πράγμα. Αυτή θα είναι η περιοχή στήριξης κινητήρα. Ο κινητήρας ήταν τοποθετημένος χρησιμοποιώντας το goop που ονομάζεται Greenstuff (χρησιμοποιείται στον κόσμο των μικρογραφιών). Τα 3 LED ήταν προ -συνδεδεμένα. Το micro ήταν υπερ -κολλημένο σε μια περιοχή εκτός δρόμου, όχι πολύ κοντά στην άκρη. Ο διακόπτης ισχύος και η μπαταρία τοποθετήθηκαν για να αντισταθμίσουν το (μικρό) βάρος του μικροφώνου, για να διατηρήσουν την ισορροπία. Τα καλώδια συγκολλήθηκαν. Το πραγματικά δροσερό μέρος είναι το επόμενο. Υπέρκολλη στην άκρη του γραναζιού του κινητήρα (αυτό θα ήταν στραμμένο προς τα κάτω αργότερα) τοποθετήθηκε ένας μαγνήτης σπάνιας γης. Ένας μικρός (~ 2 ) μήκους 2,5 διαμέτρου ξύλινος πείρος τρυπήθηκε (χρησιμοποιώντας το χέρι και το bit) για μια τρύπα διαμέτρου 1mm βάθους 5mm. Σε αυτήν την τρύπα κολλήθηκε ένας άλλος μαγνήτης σπάνιας γης 1mm. Τώρα, η βάση μου για το σχήμα είναι μαγνητικά σε συνδυασμό με τον ρότορα του κινητήρα. Όταν ο κινητήρας περιστρέφεται, από το κέντρο ισορροπίας του, γυρίζει ολόκληρο το πάνω μέρος του σχήματος. Κόπηκε ένα κόκκινο καλαμάκι για να καλύψει τον κινητήρα και τον ξύλινο πείρο. Αυτό είχε προμετρηθεί πριν από την τοποθέτηση του ξύλινου πείρου τοποθετημένο, για να διασφαλιστεί ότι ταιριάζει. Η έξοδος μπαταρίας LIPO διαβάζει αυτήν τη στιγμή 3,4V χωρίς επαναφόρτιση. Αυτό αρκεί για να περιστρέψει τον κινητήρα και να ανάψει τα LED, αλλά με το σχήμα τοποθετημένο στη βάση, δεν περιστρέφεται. Η επόμενη έκδοση μου χρησιμοποιήστε απομακρυσμένη μπαταρία 12V με ρυθμιστή 5V για περισσότερη ισχύ!
Συνιστάται:
Επαφή Λιγότερο και χωρίς διάβρωση Δείκτης στάθμης νερού και έλεγχος κινητήρα .: 5 βήματα
Επαφή Λιγότερο και Διάβρωση Δείκτης Επιπέδου Νερού και Έλεγχος Κινητήρα: HI, Σε αυτό το διδακτικό θα δούμε πώς να αποκτήσετε την κατάσταση της δεξαμενής νερού με βάση τα επίπεδα νερού (Υψηλή, Μεσαία, Χαμηλή) της εναέριας δεξαμενής χρησιμοποιώντας τρία διαφορετικά χρώματα led σε ένα Τρόπος χωρίς επαφή με τη βοήθεια αισθητήρα υπερήχων και πίνακα Arduino uno.P
Πώς να ελέγξετε τον κινητήρα DC χωρίς ψήκτρες Quadcopter Drone (Τύπος 3 καλωδίων) χρησιμοποιώντας τον ελεγκτή ταχύτητας κινητήρα HW30A και το Arduino UNO: 5 βήματα
Πώς να ελέγξετε τον κινητήρα DC χωρίς ψήκτρες Quadcopter Drone (Τύπος 3 καλωδίων) χρησιμοποιώντας τον ελεγκτή ταχύτητας HW30A Motor και το Arduino UNO: Περιγραφή: Ο ελεγκτής ταχύτητας κινητήρα HW30A μπορεί να χρησιμοποιηθεί με μπαταρίες LiPo 4-10 NiMH/NiCd ή 2-3 κυψελών. Το BEC είναι λειτουργικό με έως και 3 κελιά LiPo. Μπορεί να χρησιμοποιηθεί για τον έλεγχο της ταχύτητας του κινητήρα DC χωρίς ψήκτρες (3 καλώδια) με μέγιστο έως 12Vdc. Ειδικό
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου που βασίζεται στο Web, συγχρονισμένος διακομιστής χρόνου: 11 βήματα (με εικόνες)
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένος διακομιστής χρόνου: Η ιστορία αυτού του ρολογιού πηγαίνει πολύ πίσω-περισσότερα από 30 χρόνια. Ο πατέρας μου πρωτοστάτησε σε αυτή την ιδέα όταν ήμουν μόλις 10 ετών, πολύ πριν από την επανάσταση των LED - πίσω όταν τα LED ήταν 1/1000 της φωτεινότητας της τρέχουσας εκτυφλωτικής λαμπρότητας τους. Μια αληθεια
Φτιάξτε έναν ισχυρό κινητήρα 48V DC από ένα νεκρό μπλέντερ/κινητήρα τρυπανιού: 3 βήματα
Φτιάξτε έναν ισχυρό κινητήρα 48V DC από ένα νεκρό μπλέντερ/τρυπάνι: Γεια! Σε αυτό το διδακτικό, θα μάθετε πώς να μετατρέπετε ένα νεκρό μοτέρ μπλέντερ/μηχανής τρυπανιών (Universal motor) σε έναν πολύ ισχυρό κινητήρα DC μόνιμου μαγνήτη με έως και 10.000 σ.α.λ. καλή τιμή ροπής. Σημείωση: Αυτή η μέθοδος ισχύει μόνο εάν η
Δημιουργήστε ένα ρομπότ συνδεδεμένο στο Web (για περίπου $ 500) (χρησιμοποιώντας Arduino και Netbook): 6 βήματα (με εικόνες)
Δημιουργήστε ένα ρομπότ συνδεδεμένο στο Web (για περίπου $ 500) (χρησιμοποιώντας Arduino και Netbook): Αυτό το Instructable θα σας δείξει πώς να δημιουργήσετε το δικό σας ρομπότ συνδεδεμένο στο Web (χρησιμοποιώντας μικροελεγκτή Arduino και Asus eee pc). Γιατί θα θέλατε έναν Ιστό Συνδεδεμένο ρομπότ; Για να παίξει φυσικά. Οδηγήστε το ρομπότ σας από ολόκληρο το δωμάτιο ή από τον αριθμό