Πίνακας περιεχομένων:
Βίντεο: Generic Switch Hijacker: 3 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Αυτό το άρθρο περιγράφει τον τρόπο δημιουργίας μιας συσκευής μικροελεγκτή στερεάς κατάστασης που ελέγχει φυσικούς διακόπτες. Είναι πολύ φθηνό να φτιάξετε (περίπου 4 $), υποθέτοντας ότι έχετε προγραμματιστή μικροελεγκτή. Το ίδιο το κύκλωμα είναι ασήμαντης πολυπλοκότητας.
Αυτό το έργο είναι πολύ απλό και δεν περιλαμβάνει νέες εκπληκτικές τεχνικές. Θα χρησιμεύσει ως ένα καλό πρώτο έργο μικροελεγκτή. Ο πηγαίος κώδικας συναρμολόγησης θα σας παρασχεθεί σε αυτό το άρθρο. Έχω ένα πολύ καλό αφεντικό στη δουλειά. Μερικές φορές, μας αρέσει να παίζουμε πρακτικά αστεία ο ένας στον άλλο. Δυστυχώς για αυτόν, είμαι επιστήμονας. Ο σκοπός μου εδώ είναι να κάνω διάφορες συσκευές στο χώρο εργασίας να ενεργοποιούνται μυστηριωδώς για σύντομα χρονικά διαστήματα. Ραδιόφωνα, θορυβώδεις εκτυπωτές, ακόμη και εκείνες οι ενοχλητικές μουσικές κάρτες γενεθλίων που κρύβονται σε κάποιο συνηθισμένο αντικείμενο. Πέρα από αυτό, το έργο είναι ένα παράδειγμα του τρόπου με τον οποίο ελέγχετε μεγαλύτερα φορτία με AVR από ό, τι οι ακίδες εξόδου μπορούν να αντιμετωπίσουν οι ίδιοι. Αυτή είναι μια μεγάλη ποικιλία πραγμάτων, αφού οι ακίδες εξόδου σας δίνουν μόνο μια μικρή τάση και πολύ περιορισμένο ρεύμα. Αυτό το κύκλωμα θα μπορούσε να επεκταθεί με ένα ρελέ για τον έλεγχο ορισμένων πολύ μεγάλων φορτίων.
Βήμα 1: Σχεδιασμός και κύκλωμα
Για αυτό το έργο, μπορείτε να χρησιμοποιήσετε σχεδόν οποιοδήποτε μικροελεγκτή, ρυθμιστή τάσης 5v και τρανζίστορ NPN. Χρησιμοποίησα:
1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v ρυθμιστής τάσης (~ 0,7 $) 1x N2222 τρανζίστορ (~ 0,07 $) 1x μπαταρία 9v, ή μπαταρία τηλεχειριστηρίου 12v για εξοικονόμηση χώρου… και φυσικά το αξιόπιστο STK500 μου, τώρα με ZIF προστέθηκαν πρίζες! Ο βασικός σχεδιασμός είναι ο εξής: Ο μικροελεγκτής περνάει από δύο βρόχους χρονισμού. Ένας μακρύς βρόχος για τον καθορισμό του χρόνου ενεργοποίησης της συσκευής και ένας σύντομος βρόχος για τον καθορισμό του χρόνου για τη διατήρηση της συσκευής. Όταν έρθει η ώρα να προκαλέσετε προβλήματα, ο μικροελεγκτής στέλνει ένα λογικό pin out 14 (Least Significant Bit of PORTA). Αυτό πυροδοτεί το τρανζίστορ. Εάν έχετε συνδέσει τους σφιγκτήρες στα καλώδια ενός διακόπτη, προκαλεί ξαφνική πτώση της αντίστασης στον διακόπτη από πολύ υψηλή σε λιγότερο από 1 ohm, κάτι που αρκεί για τις περισσότερες συσκευές να εξετάσουν το διακόπτη. Λάβετε υπόψη ότι τα τρανζίστορ είναι επίσης δίοδοι, οπότε αν δεν λειτουργεί… η πολικότητα των σφιγκτήρων είναι πιθανώς λάθος, αλλάξτε τα! Επίσης, αυτή η συσκευή απαιτεί μια αξιοπρεπή μπαταρία 9v, ας πούμε με πάνω από 8v δυναμικό αριστερά… εκτός από το ότι δεν χρησιμοποιεί πολύ ενέργεια. Υπάρχουν πολλές αχρησιμοποίητες ακίδες, οπότε φυσικά θα μπορούσατε να τις χρησιμοποιήσετε για να ελέγξετε περισσότερους διακόπτες για περισσότερο χάος, αλλά αυτό ήταν αρκετό για τους σκοπούς μου. Το επόμενο βήμα είναι ο πηγαίος κώδικας που έγραψα για να προχωρήσει αυτό το πράγμα. Τα προεπιλεγμένα μήκη για τις καταστάσεις "on" και "off" είναι περίπου 10 δευτερόλεπτα και 13 λεπτά αντίστοιχα. Υπάρχουν σχόλια στον κώδικα σχετικά με τον τρόπο αλλαγής αυτών των τιμών. Τέλος, παρακαλώ συγχωρέστε την εκτεταμένη χρήση της συνάρτησης "nop" (δεν ξοδεύει έναν κύκλο CPU να μην κάνει τίποτα) για να τροποποιήσετε τα χρονόμετρα. Είναι άκομψο αφού μπορεί να σπάσει τη λειτουργία rjmp αν δεν προσέξετε πόσα χρησιμοποιείτε!
Βήμα 2: Πηγαίος κώδικας
ΑΡΧΗ:
. ΠΕΡΙΛΑΜΒΑΝΕΙ "tn26def.inc"; Αρχείο ορισμού. Google για αυτό εάν χρειάζεστε ένα αντίγραφο. CLR R30 clr R29 CLR R28 CLR R27 LDI R28, 0b00000000 LDI R27, 0b11111111 LDI R26, 0b00000000 CLR R25 έξω DDRA, R27 έξω PORTA, R28 TIMER: inc R30 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cPI r29, 0b1111 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111; Μειώστε αυτόν τον αριθμό για να μειώσετε "off" time breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 Δεκέμβριο R28 CLR R30 CLR R29 CLR R25 έξω ΠΟΡΤΑ, R28 rjmp TIMER FUNC2: NOP NOP inc R28 έξω ΠΟΡΤΑ, R28 CLR R25 CLR R30 CLR R29 rjmp TIMER4 TIMER4: inc R30 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Αυξήστε αυτόν τον αριθμό για να αυξήσετε το "bre" time breq FUNC rjmp TIMER4
Βήμα 3: Τελική σημείωση
Διασκεδάστε, αλλά θυμηθείτε ότι το τρανζίστορ έχει όρια ως προς το πόση δύναμη μπορείτε να αντλήσετε μέσα από αυτό. Αυτό σημαίνει ότι δεν υπάρχει τάση δικτύου! Εκτός από το γεγονός ότι θα υπερφορτώσει το τρανζίστορ πολύ γρήγορα, αυτή η συσκευή δεν θα ελέγχει καλά τα εναλλασσόμενα σήματα … εκτός εάν εφαρμόσετε την τροποποίηση που περιγράφεται παρακάτω * και * προσθέστε ένα ρελέ: Εάν ανησυχείτε για την πολικότητα του σφιγκτήρα σας ενοχλεί, απλώς συνδέστε ένα δεύτερο τρανζίστορ με η πλάκα βάσης συνδέεται στην ίδια πηγή με το πρώτο τρανζίστορ, αλλά με τον συλλέκτη και τον πομπό στην αντίθετη διαμόρφωση. Με αυτόν τον τρόπο, ανεξάρτητα από το πώς συνδέετε τους σφιγκτήρες, ένα λογικό υψηλό που βγαίνει από τον μικροελεγκτή θα "ανοίγει" πάντα τον διακόπτη. Λάβετε υπόψη ότι το ρεύμα διαρροής σε αυτό το σύστημα μπορεί να είναι αρκετό για να ενεργοποιήσετε μερικούς ευαίσθητους διακόπτες, όπως μήτρες πληκτρολογίου, ίσως χρειαστεί να προσθέσετε μια αντίσταση σε σειρά για αυτήν την εφαρμογή. Θυμηθείτε ότι μπορείτε να βγάλετε ενέργεια από τη συσκευή προορισμού αντί να χρησιμοποιήσετε μπαταρία. Τέλος… Εγκατέστησα τη συσκευή μέσα σε μια αρχαία αριθμομηχανή λογιστικής, τον τύπο που έχει λειτουργίες εκτύπωσης. Σχεδίασα αντίστροφα τη μήτρα του πληκτρολογίου χρησιμοποιώντας ένα συνδετήρα για να καθορίσω ποιες ακίδες IC όταν συνδεθούν θα προκαλούσαν τροφοδοσία χαρτιού και συνέδεσα τις σωστές ακίδες μαζί με τη συσκευή. Στη συνέχεια, απενεργοποίησα τον διακόπτη που σας επιτρέπει να απενεργοποιήσετε τη λειτουργία εκτύπωσης. Θεωρώ ότι το μηχάνημα έχει ανατραπεί σωστά. Ενεργοποιεί την αρκετά θορυβώδη τροφοδοσία χαρτιού κάθε 10 λεπτά, για 10 δευτερόλεπτα, όποτε είναι ενεργοποιημένη η συσκευή. Λειτουργούσε επίσης καλά με το κύκλωμα από μία από αυτές τις εξαιρετικά αντιπαθητικές μουσικές κάρτες γενεθλίων. Ο χώρος εργασίας μου είναι τώρα πιο περίεργος!
Συνιστάται:
Switch Adapt a Toy: WolVol Train Made Switch Accessible!: 7 Βήματα
Switch Adapt a Toy: WolVol Train Made Switch Accessible !: Η προσαρμογή παιχνιδιού ανοίγει νέους δρόμους και προσαρμοσμένες λύσεις που επιτρέπουν στα παιδιά με περιορισμένες κινητικές ικανότητες ή αναπτυξιακές δυσκολίες να αλληλεπιδρούν με τα παιχνίδια ανεξάρτητα. Σε πολλές περιπτώσεις, τα παιδιά που χρειάζονται τα προσαρμοσμένα παιχνίδια δεν είναι σε θέση να
Arduino 1-wire Generic Client/Slave Device (Sensor): 4 βήματα
Arduino 1-wire Generic Client/Slave Device (Sensor): Διαβάστε την Εισαγωγή και το Βήμα 2 του οδηγού μου σχετικά με τον τρόπο κατασκευής μιας οθόνης Arduino 1-wire (144 Chars) για να λάβετε περισσότερες πληροφορίες σχετικά με την κατάσταση και τις διαθέσιμες βιβλιοθήκες. Όπως εξηγείται εκεί, θα χρησιμοποιήσουμε τη βιβλιοθήκη OneWire-Hub
Generic Rooms in Twine With Sugarcube: 11 Βήματα
Generic Rooms in Twine With Sugarcube: Γεια σας και καλώς ήλθατε στο σεμινάριό μου για την κατασκευή του Wumpus Hunt in Twine with Sugarcube! Το Twine είναι ένα πολύ απλό εργαλείο, σχεδιασμένο για τη δημιουργία παιχνιδιών περιπέτειας κειμένου! Η αγαπημένη μου μικρή ξαδέρφη επέλεξε να κάνει ένα παιχνίδι με το Twine για το ανώτερο έργο της, ένα
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Συναρμολόγηση: 4 Βήματα
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Συναρμολόγηση: ΕΝΗΜΕΡΩΣΗ Σας συνιστούμε να χρησιμοποιήσετε το κύκλωμα IDC (όχι HOOKUP) για μεγαλύτερη αξιοπιστία. Αυτή η συναρμολόγηση HOOKUP είναι εντάξει για μη κρίσιμη λειτουργία εάν έχετε χρόνο να επαληθεύσετε το κύκλωμα. Βρήκα μερικά καλώδια (επάνω στρώμα πάνελ: κόκκινο/κίτρινο) όχι πολύ καιρό
IOT123 - ASIMIMATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) ΣΥΝΑΡΜΟΛΟΓΗΣΗ: 6 Βήματα
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) ΣΥΝΑΡΜΟΛΟΓΗΣΗ: ΣΗΜΕΙΩΣΗΑυτή είναι μια βελτιωμένη (στιβαρότητα κυκλώματος) έκδοσης του ASUB SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE). Συναρμολογείται γρηγορότερα και έχει κύκλωμα υψηλότερης ποιότητας, αλλά κοστίζει περισσότερο (~ 10 $ επιπλέον αν υποστηρίζει 10 αισθητήρες). Το κύριο fe