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

Διασύνδεση περιστροφικού τηλεφώνου σε Arduino: 6 βήματα (με εικόνες)
Διασύνδεση περιστροφικού τηλεφώνου σε Arduino: 6 βήματα (με εικόνες)

Βίντεο: Διασύνδεση περιστροφικού τηλεφώνου σε Arduino: 6 βήματα (με εικόνες)

Βίντεο: Διασύνδεση περιστροφικού τηλεφώνου σε Arduino: 6 βήματα (με εικόνες)
Βίντεο: Using Digispark Attiny85 Mini Arduino boards: Lesson 108 2024, Νοέμβριος
Anonim
Διασύνδεση περιστροφικής κλήσης τηλεφώνου σε Arduino
Διασύνδεση περιστροφικής κλήσης τηλεφώνου σε Arduino
Διασύνδεση περιστροφικής κλήσης τηλεφώνου σε Arduino
Διασύνδεση περιστροφικής κλήσης τηλεφώνου σε Arduino

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

Βήμα 1: Αφαιρέστε την κλήση από το τηλέφωνο

Αφαιρέστε την κλήση από το τηλέφωνο
Αφαιρέστε την κλήση από το τηλέφωνο
Αφαιρέστε την κλήση από το τηλέφωνο
Αφαιρέστε την κλήση από το τηλέφωνο
Αφαιρέστε την κλήση από το τηλέφωνο
Αφαιρέστε την κλήση από το τηλέφωνο

Το πρώτο βήμα είναι να αφαιρέσετε τη μονάδα κλήσης από το τηλέφωνο. Χρησιμοποιώ ένα τηλέφωνο GPO κάποιου είδους από τη δεκαετία του 1970. Σε αυτό το τηλέφωνο, ο επιλογέας εμφανίστηκε κατευθείαν - απλώς έπρεπε να το τραβήξω. Εάν όχι, ίσως χρειαστεί να ανοίξετε το τηλέφωνο και να μάθετε πώς να το κατεβάσετε. Υπήρχαν πέντε καλώδια συνδεδεμένα στο πίσω μέρος της μονάδας κλήσης. Στο τηλέφωνό μου, αυτές ήταν τακτικές συνδέσεις με φτυάρι, οπότε χαλάρωσα τις βίδες και τις έβγαλα. Εάν θέλετε να συναρμολογήσετε ξανά το τηλέφωνό σας, θυμηθείτε να καταγράψετε ποιο χρώμα καλωδίου πηγαίνει σε ποια σύνδεση.

Βήμα 2: Προσδιορίστε τον διακόπτη

Προσδιορίστε το διακόπτη
Προσδιορίστε το διακόπτη

Μόλις τελειώσει ο επιλογέας, θα πρέπει να είναι σχετικά εύκολο να δούμε πώς ο επιλογέας μετατρέπει την περιστροφική κίνηση σε παλμούς. Δοκιμάστε να περιστρέψετε τον επιλογέα με το χέρι και να παρακολουθήσετε την κίνηση στο πίσω μέρος. Θα πρέπει να δείτε έναν διακόπτη να κάνει και να σπάει ένα κύκλωμα γρήγορα - οπότε αν καλέσετε «9», ο διακόπτης πρέπει να ενεργοποιηθεί εννέα φορές. Για όσους από εσάς μπορεί να μην είχαν χρησιμοποιήσει ποτέ περιστροφικό καντράν πριν - θυμηθείτε ότι η κλήση γίνεται μόνο όταν αφήνετε πηγαίνετε τον αριθμό και αφήστε το να γυρίσει πίσω. Έχω τεκμηριώσει πώς λειτουργεί για το τηλέφωνό μου στις Σημειώσεις της παρακάτω φωτογραφίας. Υπάρχει επίσης ένα θολό βίντεο του μηχανισμού που λειτουργεί.

Βήμα 3: Κάντε το κύκλωμα

Κάντε το κύκλωμα
Κάντε το κύκλωμα
Κάντε το κύκλωμα
Κάντε το κύκλωμα

Μόλις βρείτε τον διακόπτη που κατασκευάζεται και σπάει, θα πρέπει να μπορείτε να προσδιορίσετε τις συνδέσεις ακολουθώντας τα καλώδια πίσω στους ακροδέκτες σύνδεσης. Στην περίπτωσή μου, οι δύο πλευρές του διακόπτη συνδέονται με τους δύο αριστερότερους ακροδέκτες. Συνδέστε αυτούς τους ακροδέκτες σε μερικά καλώδια βραχυκυκλωτήρων και πάρτε πρωτότυπο! Ο διακόπτης στο καντράν μου είναι πάντα ενεργοποιημένος και είναι σπασμένος για κάθε παλμό κατά την κλήση, οπότε χρησιμοποίησα το πολύ απλό κύκλωμα παρακάτω. Ο πείρος 2 θα ανεβαίνει Υ HIGHΟΣ για κάθε παλμό καθώς περιστρέφεται ο επιλογέας. Όταν το τηλέφωνο δεν καλείται, ο διακόπτης στη μονάδα κλήσης είναι κλειστός (ο λεγόμενος διακόπτης ΚΑΝΟΝΙΚΑ ΚΛΕΙΣΤΟΣ, για ευνόητους λόγους), οπότε το κύκλωμα συνδέει τον ακροδέκτη 2 στη γείωση (που στο Arduino είναι ΧΑΜΗΛΟΣ). Αυτό συμβαίνει επειδή υπάρχει πολύ μικρότερη αντίσταση μέσω της αντίστασης 470 ohm από την αντίσταση 10K. Όταν καλείται το τηλέφωνο, ο διακόπτης ανοίγει και κλείνει γρήγορα (για 9, θα ανοίξει και θα κλείσει ξανά εννέα φορές, θυμηθείτε). Όταν ο διακόπτης είναι ανοιχτός, ο πείρος 2 δεν είναι συνδεδεμένος στη γείωση - αντί αυτού, συνδέεται στην παροχή 5V μέσω αντίστασης 10470 ohms. Αυτό ερμηνεύεται από το Arduino ως Υ HIGHΗΛΗ. Εάν ο επιλογέας σας διαθέτει ΚΑΝΟΝΙΚΑ ΑΝΟΙΚΤΟ διακόπτη, τότε αλλάξτε τις θέσεις της αντίστασης 10Κ και ο επιλογέας θα κάνει το κόλπο.

Βήμα 4: Αναπτύξτε τον κώδικα

Αναπτύξτε τον Κώδικα
Αναπτύξτε τον Κώδικα

Τώρα χρειαζόμαστε κάποιον κωδικό για το Arduino για να μετρήσει τους παλμούς και να στείλει τον συνολικό αριθμό ανά αριθμό που καλείται πίσω μέσω της σειριακής θύρας. Ο κωδικός μου είναι παρακάτω. Καθώς έχουμε να κάνουμε με μηχανικά εδώ, το δικό σας μπορεί να διαφέρει. Δοκιμάστε να παίξετε με τη σταθερά του debounce και τη σταθερά «πόσο καιρό περιμένουμε πριν υποθέσουμε ότι ο επιλογέας έχει τελειώσει να περιστρέφεται». Προσπάθησα να το σχολιάσω όσο πιο προσεκτικά μπορώ. Ας ελπίσουμε ότι είναι αρκετά απλό.int needToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // constantsint dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); εάν ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// ο επιλογέας δεν καλείται ή μόλις έχει τελειώσει. if (needToPrint) {// αν μόλις τελείωσε η κλήση, πρέπει να στείλουμε τον αριθμό κάτω από τη σειρά σειριακής // και να επαναφέρουμε τον αριθμό. Τροποποιούμε την καταμέτρηση κατά 10 γιατί το '0' θα στείλει 10 παλμούς. Serial.print (count % 10, DEC); needToPrint = 0; μετρά = 0; διαγράφηκε = 0; }} if (ανάγνωση! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - αυτό συμβαίνει όταν σταθεροποιηθεί εάν (ανάγνωση! = trueState) {// αυτό σημαίνει ότι ο διακόπτης είτε έχει μόλις περάσει από κλειστό-> άνοιγμα είτε αντίστροφα Το trueState = ανάγνωση; εάν (trueState == Υ HIGHΗΛΗ) {// αυξήστε τον αριθμό των παλμών εάν έχει αυξηθεί. μετρά ++; needToPrint = 1; // θα χρειαστεί να εκτυπώσουμε αυτόν τον αριθμό (μόλις τελειώσει η περιστροφή της κλήσης)}}} lastState = ανάγνωση;}

Βήμα 5: Ελέγξτε ότι λειτουργεί

Ελέγξτε ότι λειτουργεί ανοίγοντας ένα σειριακό παράθυρο (χρησιμοποιώ οθόνη σε μηχάνημα unix, μπορεί να θέλετε να χρησιμοποιήσετε Hyperterm ή παρόμοια σε Windows) και δοκιμάστε να καλέσετε μερικούς αριθμούς. Βεβαιωθείτε ότι το σειριακό πρόγραμμα έχει ρυθμιστεί για ανάγνωση από το USB- > σειριακός προσαρμογέας στο Arduino (ελέγξτε το μενού Εργαλεία-> Σειριακή θύρα στο λογισμικό Arduino εάν ξεχάσετε τι είναι αυτό) και ρυθμό baud 9600 bps. Θα πρέπει να δείτε τον σωστό αριθμό να εμφανίζεται καθώς καλείται.

Βήμα 6: Συνδέστε το σε κάτι χρήσιμο

Συνδέστε το σε κάτι χρήσιμο!
Συνδέστε το σε κάτι χρήσιμο!

Βρήκα ένα αρχείο Quartz Composer στο Mac μου για να πάρω την είσοδο και να το αποδώσω όμορφα στην οθόνη. Μόλις είναι στο μηχάνημα ως σειριακά δεδομένα, μπορείτε να κάνετε τα πάντα με αυτό. Περιμένοντας να ακούσω τις ιδέες σας! Θα βγάλω ένα βίντεο «εν δράσει» και θα εκτυπώσω τους αριθμούς στην οθόνη μόλις μπορέσω να βρω κάποιον να μου κρατήσει την κάμερα - μακάρι να είχα τρία χέρια.

Συνιστάται: