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

Rotary Dialer PIC Interface: 7 βήματα
Rotary Dialer PIC Interface: 7 βήματα

Βίντεο: Rotary Dialer PIC Interface: 7 βήματα

Βίντεο: Rotary Dialer PIC Interface: 7 βήματα
Βίντεο: Incredible Car Parking System 2024, Ιούλιος
Anonim
Διεπαφή περιστροφικού τηλεφωνητή PIC
Διεπαφή περιστροφικού τηλεφωνητή PIC

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

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

Βήμα 1: Πηγαίνετε Get Stuff

Πήγαινε να πάρεις πράγματα
Πήγαινε να πάρεις πράγματα

Θα χρειαστείτε: 1 - Περιστροφικό τηλέφωνο 3 - 220 ohm αντιστάσεις 2 - 0.1uF πυκνωτές 2 - 20K αντίσταση (μπορεί να αντικαταστήσει οτιδήποτε μεταξύ 10K και 47K) 2 - LEDs 1 - πίνακα ανάπτυξης PIC (χρησιμοποίησα το περιβάλλον ανάπτυξης βασικού μικροϋπολογιστή) 1 - 20 MHZ αντηχείου ή κρύσταλλο1 - Breadboard1 - Πηγή ισχύος 5V1 - Περίπου ένα καλώδιο σύνδεσης1 - Κατσαβίδι1 - Απογυμνωτής καλωδίων

Βήμα 2: Ανατομή του τηλεφώνου

Ανατομή του τηλεφώνου
Ανατομή του τηλεφώνου
Ανατομή του τηλεφώνου
Ανατομή του τηλεφώνου
Ανατομή του τηλεφώνου
Ανατομή του τηλεφώνου

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

Θα υπάρχουν τέσσερα καλώδια που θα τρέχουν από τον περιστροφικό επιλογέα σε αυτό το πράγμα που μοιάζει με κουτί διακλάδωσης. Τα σύρματα πρέπει να συγκρατούνται στη θέση τους λίγο περισσότερο από σφιγμένες βίδες. Χαλαρώστε τις βίδες και αποσυνδέστε τα καλώδια. Μετά από αυτό, αποσυνδέστε τον περιστροφικό επιλογέα από το ίδιο το τηλέφωνο.

Βήμα 3: Προσδιορίστε τι κάνουν τα καλώδια

Καθορίστε τι κάνουν τα καλώδια
Καθορίστε τι κάνουν τα καλώδια
Καθορίστε τι κάνουν τα καλώδια
Καθορίστε τι κάνουν τα καλώδια

Συνδέστε δύο LED όπως φαίνεται στο παρακάτω διάγραμμα.

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

Βήμα 4: Συνδέστε το Dialer στο τσιπ PIC

Συνδέστε το Dialer στο τσιπ PIC
Συνδέστε το Dialer στο τσιπ PIC
Συνδέστε το Dialer στο τσιπ PIC
Συνδέστε το Dialer στο τσιπ PIC

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

Εκεί έρχεται η αντίσταση 20Κ. Η προσθήκη αυτής στην είσοδο επιτρέπει μια σαφή διαφοροποίηση μεταξύ του σήματος από μια κλειστή και ανοιχτή σύνδεση περιστροφικού διακόπτη.

Βήμα 5: Συγκεντρώστε τον Κώδικα

Συγκεντρώστε τον Κώδικα
Συγκεντρώστε τον Κώδικα

Για τον προγραμματισμό του τσιπ, χρησιμοποίησα το περιβάλλον ανάπτυξης MBasic που διατίθεται από τη Basic Micro. Το MBasic, πολύ απλά, είναι μια παραλλαγή του Basic που έχει σχεδιαστεί για χρήση με μάρκες PIC. Μετατρέπεται εύκολα σε μια πιο καθολική (χρήσιμη) γλώσσα. Ο κώδικας ουσιαστικά καθορίζει πότε κάποιος έχει γυρίσει τον επιλογέα και στη συνέχεια κάνει ανίχνευση άκρων στο σήμα (προσδιορίζει χαμηλές-υψηλές μεταβάσεις) έως ότου ο επιλογέας επανέλθει στην αρχική του κατάσταση. Αφού μετρήσει τον αριθμό των φορών που μετρά μια μετάβαση σήματος, αναβοσβήνει στη συνέχεια το LED ανάλογα. Για παράδειγμα, εάν καλέσετε 3, το PIC θα μετρήσει τρεις μεταβάσεις χαμηλής-υψηλής και στη συνέχεια θα αναβοσβήνει ένα LED 3 φορές. Η λυχνία LED, όπως ίσως συμπεράνατε, είναι περιττή για να λειτουργήσει και είναι απλώς για να σας δώσει ορατά σχόλια. Μπορείτε να αντικαταστήσετε οποιαδήποτε συσκευή εξόδου που κρίνετε απαραίτητη. ********************* Εδώ είναι κάποιος κωδικός: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargegefig var wordmain: countclicks = 0repvar = 0'sets/resets valueshigh B2rctime B2, 1, startcountincountclicks = 0αν αρχίζει ο αριθμός μεταβαίνει σε υπορουτίνα εάν έχει αρχίσει κύρια '============== αντίστροφη μέτρηση: υψηλή B1rctime B1, 1, clacker'sets συγκρίνει την τιμή με το countmeuploop' ============ ===== countmeuploop: high B1rctime B1, 1, clicker'hecks counting valuelargefig = clacker + 100 ορίζει μια τιμή για το κατώφλι που θα είναι μεγαλύτερο 'από 0 αλλά μικρότερη από τις πιθανές pin-high τιμές + 1endif'adds 1 τιμή κάθε φορά που μια μετάβαση από χαμηλή σε υψηλή είναι η εγγραφή υψηλή B2rctime B2, 1, startcountinif startcountin <10 thenif countclicks> 0 το μηδενικό blinkelsegoto mainendifendif'ελέγχει αν ο επιλογέας έχει επανέλθει πίσω στο i Εάν έχει και έχει κληθεί ένας αριθμός, πηγαίνει στη ρουτίνα LED, αλλιώς, αν δεν έχει γίνει κλήση, πηγαίνει στο mainclacker = clicker επαναφέρει την τιμή σύγκρισης στην τρέχουσα τιμή καρφιτσών ! '================ blinker: repvar = repvar + 1'αριθμεί κάθε επανάληψη αυτής της ρουτίνας υψηλό B3παύση 1000low B3παύση 1000' αναβοσβήνει το LEDif επαναλήψεις ίσες με τις φορές που πρέπει να αναβοσβήνει η λυχνία LED στη συνέχεια επιστρέφει στην κύρια ρουτίναγια να αναβοσβήνει

Βήμα 6: Δοκιμή

Δοκιμές
Δοκιμές

Εάν κάνατε τα πάντα όπως εγώ, θα πρέπει να λειτουργήσει (δείτε το βίντεο).

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

Βήμα 7: Προχωρήστε

Υπερβαίνει
Υπερβαίνει

Σκεφτείτε κάποια άλλη χρήση για τον περιστροφικό επιλογέα εκτός από το να αναβοσβήνει ένα LED.

Συνιστάται: