Πίνακας περιεχομένων:

CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002: 9 Βήματα
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002: 9 Βήματα

Βίντεο: CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002: 9 Βήματα

Βίντεο: CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002: 9 Βήματα
Βίντεο: Sydney, Australia Walking Tour - 4K60fps with Captions - Prowalk Tours 2024, Ιούλιος
Anonim
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002
CheminElectrique (παιχνίδι δεξιοτήτων) - SRO2002

Σήμερα σας παρουσιάζω τη δημιουργία ενός παιχνιδιού που έφτιαξα για το πάρτι του σχολικού έτους για το γιο μου. Στη Γαλλία ονομάζουμε αυτά τα φεστιβάλ "kermesses", δεν ξέρω αν υπάρχουν σε άλλες χώρες και πώς ονομάζονται…

Σε αυτά τα πάρτι υπάρχουν συχνά τα ίδια παιχνίδια, αυτό θα έλεγα κλασικά παιχνίδια, και φέτος αποφάσισα να φτιάξω μια πιο σύγχρονη έκδοση ενός από αυτά τα κλασικά παιχνίδια: το "Chemin electrique" ή το "Main chaude".

Ο στόχος του παιχνιδιού είναι πολύ απλός, υπάρχει ένα σύρμα όπου περνάει ένα ηλεκτρικό ρεύμα, τότε έχετε ένα "joystick" αποτελούμενο από μεταλλικό κύκλο στο τέλος του που περνάει γύρω από το ηλεκτρικό καλώδιο και ο στόχος του παιχνιδιού είναι να διασχίσετε καλώδιο από το ένα άκρο στο άλλο χωρίς να το αγγίζετε, διαφορετικά σβήνει μια προειδοποιητική λυχνία και/ή ήχος και έχετε χάσει.

Παραδοσιακά δεν υπάρχουν πραγματικά ηλεκτρονικά για να δημιουργήσετε αυτό το παιχνίδι, μια απλή μπαταρία 12V με μια λάμπα και κάποιο ηλεκτρικό καλώδιο είναι αρκετή, αλλά είχα μερικές υπέροχες ιδέες για να κάνω το παιχνίδι πιο μοντέρνο.

Ας δούμε λοιπόν τι πρόσθεσα ως λειτουργικότητα!

Βήμα 1: Χαρακτηριστικά

Όπως μόλις είπα αυτό το παιχνίδι απλώς ανάβει ένα φως όταν ο παίκτης αγγίζει ακούσια το καλώδιο με το "joystick", συμβαίνει επίσης αρκετά συχνά το παιχνίδι να παράγει ήχο κατά την επαφή. Στην δική μου έκδοση του παιχνιδιού θα υπάρχουν συνολικά 6 μπλοκ 4 LED (πράσινο-κίτρινο-κίτρινο-κόκκινο) που θα ανάψουν ταυτόχρονα, ένας βομβητής που θα παράγει ήχο και επίσης ένας δονητής ενσωματωμένος στο χειριστήριο που θα ενεργοποιηθεί όταν υπάρχει επαφή μεταξύ του ηλεκτρικού καλωδίου και του "joystick".

Οι λυχνίες LED ανάβουν σταδιακά από πράσινο σε κόκκινο ανάλογα με το πόσο διαρκεί η επαφή μεταξύ του καλωδίου και του ελεγκτή.

Πρόσθεσα επίσης μια επιλογή του επιπέδου δυσκολίας (εύκολο-κανονικό-δύσκολο) καθώς και τη δυνατότητα ενεργοποίησης/απενεργοποίησης του δονητή και του ήχου. Η ένταση του ήχου θα είναι επίσης ρυθμιζόμενη με ποτενσιόμετρο.

Η επιλογή δυσκολίας είναι στην πραγματικότητα απλώς μια λίγο ή πολύ μεγάλη καθυστέρηση μεταξύ της στιγμής που υπάρχει επαφή μεταξύ του καλωδίου και του χειριστηρίου και της στιγμής που το παιχνίδι αρχίζει να ανάβει/κουδουνίζει/δονείται. Καθορίζω προκαθορισμένους χρόνους με προγραμματισμό, για παράδειγμα στην εύκολη λειτουργία το παιχνίδι περιμένει 1 δευτερόλεπτο πριν ενεργοποιήσει τις προειδοποιήσεις, ενώ σε δύσκολη λειτουργία οι προειδοποιήσεις θα ενεργοποιηθούν αμέσως.

Σχεδίασα το παιχνίδι έτσι ώστε να είναι εύκολο να αποσυναρμολογηθεί, αξιόπιστο και κυρίως να μην παρουσιάζει κανένα κίνδυνο για τα παιδιά που θα το χρησιμοποιήσουν. Πράγματι, δεδομένου ότι το ηλεκτρικό καλώδιο διασχίζεται από ένα ρεύμα και ότι είναι απογυμνωμένο, έπρεπε να βεβαιωθώ ότι δεν αποτελεί κίνδυνο για τους χρήστες του παιχνιδιού.

Βήμα 2: Αποποίηση ευθυνών και περαιτέρω πληροφορίες

Αποποίηση ευθυνών και περαιτέρω πληροφορίες
Αποποίηση ευθυνών και περαιτέρω πληροφορίες

Αποποίηση ευθυνών:

Το παιχνίδι θα τροφοδοτείται από 4 μπαταρίες 1,5V, συνολικής τάσης 6V, περιορίζω επίσης το ρεύμα που διασχίζει το καλώδιο σε λίγα μόνο μικροαμπέρ. Βρισκόμαστε λοιπόν στον τομέα της πολύ χαμηλής τάσης ασφαλείας (SELV) με εξαιρετικά χαμηλή τιμή ρεύματος προσβάσιμη από τον χρήστη.

Αλλά η προσοχή διευκρινίζω καλά ότι καμία τιμή του ηλεκτρικού ρεύματος δεν είναι ακίνδυνη, ένα ασθενές ρεύμα μπορεί σε ορισμένες περιπτώσεις να είναι επικίνδυνο για το άτομο που είναι ηλεκτρισμένο. Έκανα πολλές έρευνες σχετικά με αυτό κατά τη δημιουργία αυτού του έργου και παρόλο που δεν υπάρχει επιστημονική συναίνεση σχετικά με την οριακή τιμή πριν από την οποία το ρεύμα δεν επηρεάζει το ανθρώπινο σώμα, το ρεύμα κάποιου μικροαμπέρ που διασχίζει το ηλεκτρικό καλώδιο έχει πολύ λίγα πιθανότητα να βλάψει ένα άτομο.

Αλλά προσοχή δεν θα μπορώ να θεωρηθώ υπεύθυνος σε περίπτωση ατυχήματος! Πρέπει πάντα να προσέχετε όταν χειρίζεστε ηλεκτρικούς αγωγούς, ακόμη και σε πολύ χαμηλές τιμές ρεύματος. Σας συνιστώ να ενημερωθείτε όσο το δυνατόν περισσότερο για τους κινδύνους του ηλεκτρικού ρεύματος και τις καλές προφυλάξεις που πρέπει να λάβετε

Περαιτέρω πληροφορίες:

Αυτό το έργο λειτουργεί πολύ καλά και έχει όλα τα χαρακτηριστικά που ήθελα αλλά έχει κάποια ελαττώματα. Όταν δημιουργώ ένα ηλεκτρονικό έργο προσπαθώ όλα να είναι όσο το δυνατόν βελτιστοποιημένα από άποψη κόστους, αριθμού εξαρτημάτων, χώρου και κυρίως ότι η λειτουργία του συνόλου είναι όσο το δυνατόν πιο "λογική".

Ενώ έκανα αυτό το έργο και αφού το τελείωσα πιστεύω ότι υπάρχουν κάποιες επιλογές που έκανα που δεν είναι οι καλύτερες αλλά με πίεσε ο χρόνος, είχα μόνο 2 εβδομάδες για να κάνω τα πάντα από την αρχή (σχεδιασμός, προγραμματισμός, παραγγελία εξαρτημάτων, δημιουργία δομή, και κυρίως συναρμολόγηση όλων των στοιχείων).

Θα υποδείξω καθώς περνάω από τα στάδια κατασκευής αυτό που πιστεύω ότι θα μπορούσε να βελτιστοποιηθεί εάν έπρεπε να δημιουργήσω ξανά αυτό το παιχνίδι. Αλλά επαναλαμβάνω ότι το έργο είναι αρκετά λειτουργικό έτσι, αλλά είμαι τελειομανής…

Λυπάμαι επίσης που δεν έβγαλα περισσότερες φωτογραφίες από τα διάφορα στάδια του έργου, αλλά προτίμησα να αφοσιωθώ όσο το δυνατόν περισσότερο στο έργο για να μπορέσω να το ολοκληρώσω εγκαίρως.

Είμαι ευχαριστημένος με αυτό το έργο γιατί είχε μεγάλη επιτυχία στο σχολικό πάρτι του γιου μου, οπότε ας δούμε τι υπάρχει στην κοιλιά του θηρίου;)

Βήμα 3: Υποχρεώσεις

- Πρέπει να λειτουργεί με μπαταρία (για ασφάλεια και κινητικότητα)- Το παιχνίδι πρέπει να είναι ασφαλές (θα χρησιμοποιείται από παιδιά από 2 έως 10 ετών)

- Οι ρυθμίσεις πρέπει να είναι διαθέσιμες (επιλογή ήχου/ενεργοποίησης δονητή και επιλογή δυσκολίας)

- Οι ρυθμίσεις πρέπει να είναι απλές για να κατανοηθούν και εύκολα προσβάσιμες (πρέπει να υποτεθεί ότι το άτομο που θα φροντίσει το παιχνίδι κατά τη διάρκεια του πάρτι δεν γνωρίζει τίποτα στα ηλεκτρονικά/τεχνικά)

- Ο ήχος πρέπει να είναι αρκετά δυνατός (το παιχνίδι θα χρησιμοποιηθεί έξω σε ένα μάλλον θορυβώδες περιβάλλον).

- Το σύστημα πρέπει να είναι αφαιρούμενο στο μέγιστο για αποθήκευση και εύκολα αντικαταστάσιμα φυσικά μέρη (joystick, ηλεκτρικό καλώδιο…)

- Πρέπει να είναι ελκυστικό για τα παιδιά (αυτός είναι ο κύριος στόχος για τον οποίο παίζουν…:))

Βήμα 4: Στοιχεία (BOM)

Για τη θήκη:- ξύλινη σανίδα

- ζωγραφική

- μερικά εργαλεία για διάτρηση και κοπή….

Για το "joystick":- 1 δονητής

- υποδοχή καλωδίου 3.5 (στερεοφωνικό)

- υποδοχή υποδοχής 3.5 (στερεοφωνικό)

- ηλεκτρικό σύρμα 2,5mm²

- ένας μικρός σωλήνας PVC

ΗΛΕΚΤΡΟΝΙΚΑ ΕΞΑΡΤΗΜΑΤΑ:

- 16F628A

- 12F675

- ULN2003A

- 2 x 2N2222A

- Δίοδος Zener 2.7V

- 12 μπλε LED

- 6 πράσινες λυχνίες LED

- 6 κόκκινες λυχνίες LED

- 12 κίτρινες λυχνίες LED

- 5 αντιστάσεις 10K

- 2 αντιστάσεις 4,7Κ

- 1 αντίσταση 470 ohm

- 6 αντιστάσεις 2,2Κ

- 6 αντιστάσεις 510 ohm

- 18 αντιστάσεις 180 ohm

- 1 ποτενσιόμετρο 1Κ

- 1 διακόπτης ON-OFF

-2 διακόπτης ON-OFF-ON

- 1 βομβητής

- 1 μετατροπέας ενίσχυσης DC

- ηλεκτρικό σύρμα 2,5mm²

- 2 συνδετήρες μπανάνας αρσενικό

- 2 θηλυκές συνδέσεις μπανάνας

- υποδοχή υποδοχής 3.5 (στερεοφωνικό)

- θήκη για 4 μπαταρίες LR6

- μερικές σανίδες πρωτοτύπων PCB

Ηλεκτρονικά Εργαλεία: - Ένας προγραμματιστής για την έγχυση του κώδικα σε ένα μικροτσίπ 16F628A και 12F675 (π.χ. PICkit 2) -

Σας συμβουλεύω να χρησιμοποιήσετε το Microchip MPLAB IDE (δωρεάν λογισμικό) εάν θέλετε να τροποποιήσετε τον κώδικα αλλά θα χρειαστείτε επίσης το CCS Compiler (shareware). Μπορείτε επίσης να χρησιμοποιήσετε έναν άλλο μεταγλωττιστή, αλλά θα χρειαστείτε πολλές αλλαγές στο πρόγραμμα.

Θα σου δώσω όμως. Αρχεία HEX έτσι ώστε να μπορείτε να τα εγχύσετε απευθείας σε μικροελεγκτές.

Βήμα 5: Ανάλυση συνάρτησης

Ανάλυση συνάρτησης
Ανάλυση συνάρτησης
Ανάλυση συνάρτησης
Ανάλυση συνάρτησης

Μικροελεγκτής 16F628A (Func1): Είναι ο "εγκέφαλος" όλου του συστήματος, είναι αυτό το στοιχείο που ανιχνεύει τη θέση των διακοπτών ρυθμίσεων, το οποίο ανιχνεύει εάν υπάρχει επαφή μεταξύ του "joystick" και του ηλεκτρικού καλωδίου και που ενεργοποιεί το προειδοποιήσεις (φως, ήχος και δονητής). Επέλεξα αυτό το στοιχείο επειδή έχω ένα αρκετά μεγάλο απόθεμα και επειδή έχω συνηθίσει να προγραμματίζω μαζί του, και επειδή δεν είχα πολύ χρόνο να κάνω αυτό το έργο, προτίμησα να πάρω κάποιο υλικό που γνωρίζω καλά.

Διεπαφή ισχύος ULN2003A (Func2): Αυτό το στοιχείο χρησιμεύει ως διεπαφή τροφοδοσίας μεταξύ του 16F628A και των κυκλωμάτων που καταναλώνει περισσότερη ενέργεια από ό, τι μπορεί να προσφέρει ο μικροελεγκτής (LED, βομβητής, δονητής).

Έλεγχος βομβητή (Func3):

Το PIC 16F628A δεν μπορεί να παρέχει αρκετό ρεύμα για να τροφοδοτήσει τον βομβητή, ειδικά επειδή ο βομβητής πρέπει να τροφοδοτείται από έναν μετατροπέα ώθησης για να αυξήσει την ηχητική του ισχύ.

Πράγματι, δεδομένου ότι το συγκρότημα παρέχεται σε 6V και ότι ο βομβητής απαιτεί 12V για να λειτουργήσει στο μέγιστο, χρησιμοποιώ έναν μετατροπέα για να λάβω την καλή τάση. Έτσι χρησιμοποιώ ένα τρανζίστορ ως διακόπτη (λειτουργία μεταγωγής) για τον έλεγχο της τροφοδοσίας του βομβητή. Το συστατικό που επέλεξα είναι ένα κλασικό 2N2222A το οποίο είναι πολύ κατάλληλο για αυτή τη χρήση.

Εδώ είναι τα χαρακτηριστικά του βομβητή: 12V 25mA, αυτό σημαίνει ότι χρειάζεται θεωρητική ισχύ P = UI = 12 x 25mA = 0.3W

Υπάρχει λοιπόν απαίτηση ισχύος 0,3 W από τον μετατροπέα ενίσχυσης DC, η μονάδα ενίσχυσης DC έχει απόδοση 95%, οπότε υπάρχει περίπου 5% απώλεια. Επομένως, απαιτείται ελάχιστη ισχύς 0.3W + 5% = 0.315W στην είσοδο του μετατροπέα.

Τώρα μπορούμε να συμπεράνουμε το τρέχον Ic που θα διασχίσει το τρανζίστορ Q1:

P = U * Ic

Ic = P / U

Ic = P / Vcc-Vcesat

Ic = 0, 315 / 6-0, 3

Ic = 52mA

Τώρα υπολογίζουμε την αντίσταση βάσης που επιτρέπει στο τρανζίστορ να είναι καλά κορεσμένο:

Ibsatmin = Ic / Betamin

Ibsatmin = 52mA / 100

Ibsatmin = 0,5mA

Ibsat = K x Ibsatmin (επιλέγω συντελεστή υπερκορεσμού K = 2)

Ibsat = 2 x Ibsatmin

Ibsat = 1mA

R12 = Ur12 / Ibsat

R12 = Vcc - Vbe

R12 = (6 - 0,6) / 1mA

R12 = 5,4Κ

Κανονικοποιημένη τιμή (E12) για R12 = 4,7K

Έλεγχος δόνησης (Func4):

Όσον αφορά τον βομβητή, το 16F628A δεν μπορεί να παρέχει αρκετό ρεύμα στον δονητή το οποίο απαιτεί ρεύμα 70mA, επιπλέον πρέπει να τροφοδοτείται στο μέγιστο με τάση 3V. Έτσι επέλεξα να χρησιμοποιήσω μια δίοδο zener σε συνδυασμό με ένα τρανζίστορ για να φτιάξω έναν ρυθμιστή τάσης 2,7V για τον δονητή. Η λειτουργία της σύνδεσης zener-τρανζίστορ είναι απλή, το zener διορθώνει την τάση 2,7V στη βάση του τρανζίστορ και το τρανζίστορ «αντιγράφει» αυτήν την τάση και τροφοδοτεί την ισχύ.

Το ρεύμα που θα διασχίσει το τρανζίστορ Q2 είναι έτσι ίσο με Ic = 70mA

Τώρα υπολογίζουμε την αντίσταση βάσης επιτρέποντας στο τρανζίστορ να είναι καλά κορεσμένο:

Ibsatmin = Ic/Betamin

Ibsatmin = 70mA / 100

Ibsatmin = 0, 7mA

Ibsat = K x Ibsatmin (επιλέγω συντελεστή υπερκορεσμού K = 2) Ibsat = 2 x Ibsatmin

Ibsat = 1, 4mA

Το ελάχιστο ρεύμα στη δίοδο zener πρέπει να είναι τουλάχιστον Iz = 1mA για τη λειτουργία του, οπότε μπορούμε να συμπεράνουμε το ρεύμα που διέρχεται από την αντίσταση R13:

Ir13 = Ibsat + Iz

Ir13 = 1, 4mA + 1mA

Ir13 = 2, 4mA

Για να διασφαλιστεί ότι το ρεύμα της δίοδος zener Iz είναι πάντα στο σωστό εύρος λειτουργίας, λαμβάνεται ένα περιθώριο ασφαλείας με: Ir13_fixed = 5mA (εντελώς αυθαίρετη επιλογή τιμής)

Τώρα ας υπολογίσουμε την τιμή του R13:

R13 = U13 / Ir13_fixed

R13 = VCC-Vz / Ir13_fixed

R13 = 6-2, 7 / 5mA

R13 = 660 ωμ

Κανονικοποιημένη τιμή (E12) για R13 = 470 ohm

Θα μπορούσα να είχα επιλέξει 560 ωμ στη σειρά Ε12, αλλά δεν είχα αυτήν την τιμή, οπότε πήρα την προηγούμενη τιμή…

Μπορεί να βελτιστοποιηθεί

Όταν σχεδίασα το έργο δεν σκέφτηκα το Vbe του τρανζίστορ, οπότε αντί να έχω 2,7V για να τροφοδοτήσει τον δονητή έχω μόνο 2,7V-0,6V = 2,1V. Θα έπρεπε να είχα πάρει ένα zener 3.3V για παράδειγμα, ο δονητής θα ήταν λίγο πιο ισχυρός ακόμα κι αν το αποτέλεσμα είναι αρκετά ικανοποιητικό, δεν εκμεταλλεύομαι όλη τη δύναμη του δονητή…

LED προειδοποίησης (Func5):

Οι λυχνίες LED τοποθετούνται κάθετα σαν να σχηματίζουν ένα μετρητή: Κόκκινο

Κίτρινο2

Κίτρινο 1

Πράσινος

Όταν εντοπιστεί μια επαφή μεταξύ του "joystick" και του ηλεκτρικού καλωδίου, ανάβουν σταδιακά από πράσινο σε κόκκινο.

Τα LED συνδέονται με το VCC σε ομάδες ανάλογα με το χρώμα τους:

- Όλες οι άνοδοι των πράσινων LED είναι συνδεδεμένες μεταξύ τους

- Όλες οι άνοδοι των κίτρινων LED 1 είναι συνδεδεμένες μεταξύ τους

- Όλες οι άνοδοι των κίτρινων 2 LED είναι συνδεδεμένες μεταξύ τους

- Όλες οι άνοδοι των κόκκινων LED είναι συνδεδεμένες μεταξύ τους

Ο μικροελεγκτής τα ενεργοποιεί στη συνέχεια γειώνοντας την κάθοδό τους μέσω του ULN2003A.

Σημείωση:

Στο σχηματικό υπάρχει μόνο ένα LED κάθε χρώματος με ένα σύμβολο "X6" δίπλα του, επειδή χρησιμοποιώ μια δωρεάν έκδοση του Cadence Capture και περιορίζομαι από έναν μέγιστο αριθμό στοιχείων ανά διάγραμμα, οπότε δεν θα μπορούσα να κάνω να εμφανιστούν όλα τα LEDS …

Διαχείριση ηχητικού επιπέδου Buzzer (Func6):

Είναι απλά ένα ποτενσιόμετρο σε σειρά με τον βομβητή που καθιστά δυνατή τη ρύθμιση της έντασης του ήχου.

LED "Διακόσμησης" (Func7 - Σχηματική/Σελίδα 2):

Ο σκοπός αυτών των LED είναι να δημιουργήσουν ένα κυνήγι για τη διακόσμηση του παιχνιδιού. Ανάβουν από αριστερά προς τα δεξιά. Υπάρχουν συνολικά 12 μπλε LED: 6 στην αρχή του μαθήματος που αντιπροσωπεύουν τη γραμμή εκκίνησης και 6 στο τέλος του μαθήματος που αντιπροσωπεύουν τη γραμμή τερματισμού

Επέλεξα να κάνω μια οθόνη πολυπλεξίας για αυτές τις λυχνίες LED γιατί θα χρειαζόταν πολύ περισσότερες καρφίτσες για να τις παραγγείλω (6 ακίδες με πολλαπλή ευθυγράμμιση, 12 ακίδες χωρίς πολυπλεξία).

Επιπλέον, αναφέρεται στο φύλλο δεδομένων τους ότι το Vf είναι 4V, επομένως δεν μπορούσα να βάλω 2 LED σε σειρά (το VCC είναι 6V) και δεν μπορούσα ούτε να τα βάλω παράλληλα επειδή θεωρητικά χρειάζονται 20 mA και ότι ο μικροελεγκτής μπορεί να τροφοδοτήσει μόνο 25 mA max ανά καρφίτσα, επομένως 40mA θα ήταν αδύνατο.

Συνοψίζοντας, δεν μπορούσα να κάνω μια συσχέτιση LED (τοποθετημένη σε σειρά ή παράλληλη) και δεν είχα αρκετή καρφίτσα στον μικροελεγκτή για να τον οδηγήσω ούτως ή άλλως … Έτσι επέλεξα να χρησιμοποιήσω έναν άλλο μικροελεγκτή (12F675) 8 ακίδων για να μπορώ Χάρη σε αυτόν τον μικροελεγκτή ελέγχω την ενεργοποίηση των LED θέτοντας ένα υψηλό επίπεδο λογικής (VCC) στις ανόδους τους και χρησιμοποιώ τα PIC 16F628A και ULN2003A για να εκτελέσω την πολυπλεξία.

Μπορεί να βελτιστοποιηθεί:

Κατάλαβα κατά τη διάρκεια των δοκιμών σε ένα breadboard ότι για το ίδιο ρεύμα I = 20mA τα LED είχαν μεγάλη διαφορά στη φωτεινότητα ανάλογα με τα χρώματα τους. Για παράδειγμα με 20mA τα μπλε LED ήταν πολύ πιο φωτεινά από τα πράσινα. Δεν μου φάνηκε αισθητικό ότι ορισμένα LED ήταν πολύ πιο φωτεινά από άλλα, οπότε διαφοροποίησα την αντίσταση σε σειρά με τα μπλε LED μέχρι να αποκτήσω την ίδια φωτεινή ισχύ με τα πράσινα LED που τροφοδοτούνται με ρεύμα 20mA.

Και συνειδητοποίησα ότι τα μπλε LED είχαν την ίδια φωτεινότητα με τα πράσινα LED με ρεύμα μόλις 1mA! Που σημαίνει ότι αν το ήξερα πριν θα μπορούσα να είχα επιλέξει να βάλω τα μπλε LED σε σειρά (σε ομάδες των 2). Και χρειάστηκα μόνο 3 ακόμη καρφίτσες στο 16F675A (οι οποίες είναι διαθέσιμες), οπότε δεν χρειάστηκε να προσθέσω έναν άλλο μικροελεγκτή αφιερωμένο στη διαχείριση αυτών των LED.

Αλλά εκείνη τη στιγμή του σχεδιασμού δεν το γνώριζα, υπάρχει μερικές φορές μια μη αμελητέα διαφορά μεταξύ των χαρακτηριστικών των τεχνικών εγγράφων και των πραγματικών χαρακτηριστικών των εξαρτημάτων…

Περιορισμός του ρεύματος (Func0):

Δεν είχα προγραμματίσει αυτό το μέρος καθόλου κατά τη στιγμή του σχεδιασμού, το πρόσθεσα μόνο στο τέλος του έργου, όταν όλα είχαν ήδη τελειώσει. Στην αρχή απλά είχα συνδέσει το VCC απευθείας στο ηλεκτρικό καλώδιο με απλή αντίσταση για να βάλω την είσοδο του μικροελεγκτή που ανιχνεύει την επαφή στο έδαφος.

Αλλά όπως είπα πριν έκανα πολλές έρευνες για να μάθω εάν το ρεύμα που ρέει μέσω του ηλεκτρικού καλωδίου θα μπορούσε να είναι επικίνδυνο εάν είχε επαφή μεταξύ του καλωδίου και ενός ανθρώπινου σώματος.

Δεν βρήκα ακριβή απάντηση σε αυτό το θέμα, οπότε προτίμησα να προσθέσω αντίσταση μεταξύ του VCC και του ηλεκτρικού καλωδίου για να μειώσω όσο το δυνατόν περισσότερο το ρεύμα που διασχίζει το σύρμα.

Wantedθελα λοιπόν να βάλω μια αντίσταση υψηλής αξίας για να μειώσω το ρεύμα στη χαμηλότερη δυνατή τιμή, αλλά καθώς είχα ήδη τελειώσει το έργο και ως εκ τούτου όλα συγκολλημένα και καλωδιωμένα στις διαφορετικές κάρτες δεν μπορούσα πλέον να αφαιρέσω την αντίσταση αναδίπλωσης των 10Kohm. Ως εκ τούτου, έπρεπε να επιλέξω μια τιμή αντίστασης για να αποκτήσω τα 2/3 του VCC στον πείρο BR0 (ακίδα 6 του 16F628A), έτσι ώστε ο μικροελεγκτής να ανιχνεύει αν και είναι υψηλό λογικό επίπεδο όταν υπάρχει επαφή μεταξύ του χειριστηρίου και του ηλεκτρικού καλωδίου Το Αν είχα προσθέσει υπερβολική αντίσταση, θα είχα τον κίνδυνο ο μικροελεγκτής να μην είχε εντοπίσει την αλλαγή μεταξύ της χαμηλής λογικής κατάστασης και της υψηλής λογικής κατάστασης.

Έτσι επέλεξα να προσθέσω αντίσταση 4,7K για να αποκτήσω τάση περίπου 4V στον πείρο όταν υπάρχει επαφή μεταξύ του χειριστηρίου και του ηλεκτρικού καλωδίου. Αν προσθέσουμε σε αυτό την αντίσταση του ανθρώπινου δέρματος σε περίπτωση επαφής του ηλεκτρικού σύρματος με το χέρι για παράδειγμα, το ρεύμα που ρέει μέσω του σώματος θα είναι μικρότερο από 1mA.

Και ακόμη και αν κάποιος αγγίξει το καλώδιο, θα είναι σε επαφή μόνο με τον θετικό ακροδέκτη των μπαταριών και όχι μεταξύ του θετικού και του αρνητικού ακροδέκτη, αλλά όπως είπα στην αποποίηση ευθύνης ΠΑΝΤΑ προσέξτε τι κάνετε με το ηλεκτρικό ρεύμα.

Σημείωση: Δίσταζα για μεγάλο χρονικό διάστημα να προσθέσω αυτήν την αντίσταση καθώς το ηλεκτρικό ρεύμα που είναι πιθανώς προσβάσιμο στο χρήστη (μέσω του ηλεκτρικού καλωδίου) είναι ασθενές και ότι το συγκρότημα τροφοδοτείται από μπαταρία με τάση μόνο 6V και ότι ίσως να είναι απολύτως περιττό περιορίστε το ρεύμα από τις μπαταρίες, αλλά επειδή είναι για παιδιά, προτίμησα να λάβω όσο το δυνατόν περισσότερες προφυλάξεις.

Βήμα 6: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός

Τα προγράμματα είναι γραμμένα σε γλώσσα C με MPLAB IDE και ο κωδικός είναι μεταγλωττισμένος με το CCS C Compiler.

Ο κώδικας είναι πλήρως σχολιασμένος και αρκετά απλός στην κατανόηση, αλλά θα εξηγήσω γρήγορα τις κύριες λειτουργίες των 2 κωδικών (για 16F628A και 12F675).

Το πρώτο πρόγραμμα -CheminElectrique.c- (16F628A):

Διαχείριση πολυπλεξίας LED: Λειτουργία: RTCC_isr ()

Χρησιμοποιώ το χρονόμετρο0 του μικροελεγκτή για να προκαλέσω υπερχείλιση κάθε 2ms που επιτρέπει τη διαχείριση της πολυπλεξίας των LED.

Διαχείριση εντοπισμού επαφών:

Λειτουργία: κενό κενό ()

Αυτός είναι ο κύριος βρόχος, το πρόγραμμα ανιχνεύει εάν υπάρχει επαφή μεταξύ του χειριστηρίου και του ηλεκτρικού καλωδίου και ενεργοποιεί τις λυχνίες LED/βομβητή/δονητή σύμφωνα με το χρόνο επαφής.

Δυσκολία διαχείρισης ρυθμίσεων:

Λειτουργία: long GetSensitivityValue ()

Αυτή η λειτουργία χρησιμοποιείται για τον έλεγχο της θέσης του διακόπτη που επιτρέπει την επιλογή της δυσκολίας και επιστρέφει μια μεταβλητή που αντιπροσωπεύει το χρόνο αναμονής πριν ενεργοποιήσετε τους συναγερμούς.

Διαχείριση ρυθμίσεων συναγερμού:

Λειτουργία: int GetDeviceConfiguration ()

Αυτή η λειτουργία χρησιμοποιείται για τον έλεγχο της θέσης του διακόπτη που επιλέγει την ενεργοποίηση του βομβητή και του δονητή και επιστρέφει μια μεταβλητή που αντιπροσωπεύει τους συναγερμούς που πρέπει να είναι ενεργοί.

Το δεύτερο πρόγραμμα -LedStartFinishCard.c- (12F675):

Διαχείριση ενεργοποίησης μπλε LED: Λειτουργία: κενό κενό ()

Αυτός είναι ο κύριος βρόχος του προγράμματος, ενεργοποιεί τις λυχνίες LED η μία μετά την άλλη από αριστερά προς τα δεξιά (για να δημιουργήσετε μια καταδίωξη)

Δείτε παρακάτω ένα αρχείο zip του έργου MPLAB:

Βήμα 7: Συγκόλληση και συναρμολόγηση

Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση
Συγκόλληση και συναρμολόγηση

"Φυσικό" μέρος: Ξεκίνησα δημιουργώντας το κουτί, οπότε έκοψα ξύλινες σανίδες πάχους περίπου 5mm για την κορυφή και τις πλευρές και επέλεξα μια σανίδα πάχους 2 cm για να έχει το κάτω μέρος για να έχει περισσότερο βάρος και να μην κινείται το παιχνίδι.

Συγκέντρωσα τις σανίδες ανάμεσα στο να είμαι με κόλλα ξύλου, δεν έβαλα βίδες ή καρφιά και είναι πραγματικά συμπαγές!

Προκειμένου να γίνει το παιχνίδι πιο ελκυστικό από ένα απλό βαμμένο κουτί, ζήτησα από τη σύζυγό μου να δημιουργήσει μια διακόσμηση για το πάνω μέρος του κουτιού (γιατί πραγματικά απολαμβάνω τη γραφιστική …). Του ζήτησα να φτιάξει έναν δρόμο με στροφές (να έχει σχέση με το σύρμα …) Με δοχεία/πίνακα στις άκρες των στροφών, ώστε να μπορώ να ενσωματώσω τα προειδοποιητικά LED μου. Τα μπλε LED των διακοσμητικών θα είναι σαν τις γραμμές έναρξης και τερματισμού. Δημιούργησε ένα τοπίο στυλ "Route 66", με έναν δρόμο που διασχίζει ένα είδος ερήμου, και μετά από αρκετές εντυπώσεις για να βρει την καλή τοποθεσία των LED, ήμασταν μάλλον ευχαριστημένοι με το αποτέλεσμα!

Στη συνέχεια άνοιξα τρύπες για όλους τους συνδετήρες, τους διακόπτες και φυσικά τα LED.

Το ηλεκτρικό καλώδιο στρίβεται για να δημιουργήσει ζιγκ-ζαγκ για να αυξήσει τη δυσκολία του παιχνιδιού και κάθε άκρο του βιδώνεται σε ένα αρσενικό βύσμα μπανάνας. Οι σύνδεσμοι στη συνέχεια θα συνδεθούν με τις θηλυκές υποδοχές μπανάνας που είναι προσαρτημένες στο κάλυμμα του περιβλήματος.

Ηλεκτρονικό μέρος:

Έχω διασπάσει το ηλεκτρονικό μέρος σε πολλές μικρές πρωτότυπες κάρτες.

Υπάρχουν:

- μια κάρτα για 16F628A

- μια κάρτα για 12F675

- 6 προειδοποιητικές κάρτες LED

- 4 κάρτες για διακοσμητικά LED (γραμμή εκκίνησης και γραμμή τερματισμού)

Διορθώσαμε όλες αυτές τις κάρτες κάτω από το καπάκι του κιβωτίου και έβαλα τη θήκη μπαταρίας στο κάτω μέρος του κουτιού με τον βομβητή και τη μονάδα ενίσχυσης DC.

Όλα τα ηλεκτρονικά στοιχεία συνδέονται με περιτύλιξη καλωδίων, τα έχω ομαδοποιήσει όσο το δυνατόν περισσότερο σύμφωνα με την κατεύθυνσή τους και τα έστριψα μαζί και τα στερέωσα με θερμή κόλλα, ώστε να είναι όσο το δυνατόν πιο "καθαρά" και ειδικά να υπάρχουν δεν υπάρχουν ψευδείς επαφές ή καλώδια που αποσυνδέονται. Πραγματικά μου πήρε πολύ χρόνο για να κόψω/λωρίσω/συγκολλήσω/τοποθετήσω καλώδια σωστά!

Μέρος "Joystick":

Για το χειριστήριο πήρα ένα μικρό κομμάτι σωλήνα PVC (διάμετρος 1,5 εκατοστών και μήκος 25 εκατοστά). Και στη συνέχεια κόλλησα τη θύρα θηλυκής υποδοχής έτσι:

- ένας ακροδέκτης συνδεδεμένος με το καλώδιο στο τέλος του χειριστηρίου (ContactWire στο σχηματικό)

- ένας ακροδέκτης συνδεδεμένος με τον θετικό ακροδέκτη του δονητή (σύνδεσμος 2Α σε J1A στο σχηματικό)

- ένας ακροδέκτης συνδεδεμένος με τον αρνητικό ακροδέκτη του δονητή (σύνδεσμος 1Α σε J1A στο σχηματικό)

Έπειτα ενσωμάτωσα το καλώδιο, τον δονητή και τον σύνδεσμο του γρύλου στο εσωτερικό του σωλήνα και στερέωσα τον γρύλο με ζεστή κόλλα για να βεβαιωθώ ότι δεν κινείται τίποτα όταν συνδέεται το καλώδιο του γρύλου μεταξύ του χειριστηρίου και του άλλου τμήματος του συστήματος.

Βήμα 8: Βίντεο

Βήμα 9: Συμπέρασμα

Τώρα το έργο έχει τελειώσει, ήταν πολύ ωραίο να κάνω αυτό το έργο, παρόλο που μετανιώνω που είχα πολύ λίγο χρόνο για να το κάνω. Μου επέτρεψε να αναλάβω μια νέα πρόκληση;) Ελπίζω ότι αυτό το παιχνίδι θα λειτουργήσει για πολλά χρόνια και ότι θα διασκεδάσει πολλά παιδιά που θα γιορτάσουν το τέλος της σχολικής τους χρονιάς!

Παρέχω ένα αρχείο αρχειοθέτησης που περιέχει όλα τα έγγραφα που χρησιμοποίησα/δημιούργησα για το έργο.

Δεν ξέρω αν το στυλ γραφής μου θα είναι σωστό επειδή εν μέρει χρησιμοποιώ έναν αυτόματο μεταφραστή για να προχωρήσω γρηγορότερα και επειδή δεν μιλάω εγγενώς αγγλικά, νομίζω ότι κάποιες προτάσεις θα είναι πιθανώς περίεργες για τους ανθρώπους που γράφουν τέλεια αγγλικά.

Εάν έχετε οποιεσδήποτε ερωτήσεις ή σχόλια σχετικά με αυτό το έργο, ενημερώστε με!

Συνιστάται: