Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργήστε το κύκλωμα δέκτη IR
- Βήμα 2: Συνδέστε τη θήκη σερβο, στήλης και τηλεφώνου
- Βήμα 3: Συνδέστε την οθόνη LCD για Servo Readout
- Βήμα 4: Χρησιμοποιήστε τον κώδικα και τις βιβλιοθήκες που επισυνάπτονται για τον προγραμματισμό του Arduino
- Βήμα 5: Συνδέστε την επιθυμητή πηγή τροφοδοσίας στο Arduino και χρησιμοποιήστε το τηλεχειριστήριο για να περιστρέψετε το βουνό
- Βήμα 6: Διαβάστε αυτό για επεξήγηση πηγαίου κώδικα
- Βήμα 7: Παρακολουθήστε το Βίντεο μου στο YouTube για βοήθεια
Βίντεο: Περιστρεφόμενη βάση τηλεφώνου: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει την απαίτηση έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com).
Θέλετε να κάνετε μια περιστρεφόμενη βάση τηλεφώνου για να μπορείτε να βλέπετε τα περιεχόμενα του τηλεφώνου σας σε κατακόρυφο ή οριζόντιο προσανατολισμό χωρίς να χρειάζεται να το κρατάτε; Τότε, μην ψάχνετε άλλο.
Για να δημιουργήσετε αυτό το έργο, θα χρειαστείτε:
- Μικροελεγκτής Arduino και IDE
- Καλώδιο USB για μεταφόρτωση κώδικα
- Breadboard
- Jumper Wires
- Οθόνη LCD
- Σέρβο
- Στήλη που μπορεί να προσαρτηθεί στο σερβο
- Τηλεχειριστήριο IR
- Δέκτης IR
- Αντίσταση 10k ohm
- Kenu Airframe+ Phone Clip (ή κάτι για να κρατήσετε το τηλέφωνο στη θέση του)
- Μπαταρία 9 V για φορητή ισχύ ή απλώς τροφοδοτικό USB Arduino
Βήμα 1: Δημιουργήστε το κύκλωμα δέκτη IR
Πρώτα, πηδήξτε GND και +5V από το Arduino στις ράγες τροφοδοσίας στο breadboard σας. Στη συνέχεια, μετακινήστε την αντίσταση 10k ohm από τη ράγα ισχύος +5V στην ακίδα εξόδου του φωτοτρανζίστορ δέκτη IR. Στη συνέχεια, χρησιμοποιήστε ένα καλώδιο βραχυκυκλωτή για να συνδεθείτε στην ακίδα 11 στο Arduino από την ακίδα εξόδου του δέκτη IR. Στη συνέχεια, χρησιμοποιήστε δύο καλώδια βραχυκυκλωτή για να στείλετε γείωση και +5V στις αντίστοιχες ακίδες του δέκτη IR. Το φίλτρο RC που απεικονίζεται στο παραπάνω σχήμα δεν είναι απαραίτητο. Τέλος, δεν έκανα το σχηματικό που εμφανίζεται σε αυτό το βήμα και η πηγή για αυτό είναι παρούσα στην εικόνα.
Βήμα 2: Συνδέστε τη θήκη σερβο, στήλης και τηλεφώνου
Τώρα, χρησιμοποιήστε δύο καλώδια άλματος για να πηδήξετε από το έδαφος και +5V από τις ράγες ισχύος του breadboard στα καφέ και κόκκινα καλώδια του σερβο, αντίστοιχα. Στη συνέχεια, χρησιμοποιήστε ένα καλώδιο άλματος για να συνδέσετε τον πείρο 9 στο Arduino στο πορτοκαλί καλώδιο του σερβο.
Στη συνέχεια, συνδέστε μια στήλη στην κεφαλή του σερβο, όπως φαίνεται στη δεύτερη εικόνα.
Τέλος, επισυνάψτε κάτι για να κρατήσετε το τηλέφωνο στη στήλη, όπως το Kenu Airframe+, όπως φαίνεται στην τρίτη εικόνα.
Βήμα 3: Συνδέστε την οθόνη LCD για Servo Readout
Μεταβείτε στο έδαφος και +5V από τις ράγες ισχύος του breadboard στους αντίστοιχους πείρους στην οθόνη LCD. Επίσης, μετακινήστε τις καρφίτσες SDA και SCL από την οθόνη LCD στο Ardiuno. Οι καρφίτσες SDA και SCL του Arduino μπορούν να αναγνωριστούν από το πίσω μέρος του πίνακα Arduino και είναι οι δύο ακίδες πάνω από το AREF και το Ground πάνω από τον πείρο 13. Ο πείρος SCL είναι ο υψηλότερος. Αυτό επιτρέπει στην οθόνη LCD να διαβάζει την τρέχουσα θέση σερβο.
Βήμα 4: Χρησιμοποιήστε τον κώδικα και τις βιβλιοθήκες που επισυνάπτονται για τον προγραμματισμό του Arduino
Κατεβάστε το αρχείο RotatingMountCode.zip. Εγκαταστήστε το Arduino IDE και αποσυμπιέστε το ληφθέν αρχείο στο Documents / Arduino. Βεβαιωθείτε ότι έχετε αντιγράψει τα περιεχόμενα του φακέλου σκίτσων και βιβλιοθηκών στο φάκελο σκίτσων και βιβλιοθηκών. Ανοίξτε το σκίτσο ServoIRandLCD και ανεβάστε το στο Arduino σας.
Δείτε τα επόμενα βήματα για εξήγηση κώδικα.
Βήμα 5: Συνδέστε την επιθυμητή πηγή τροφοδοσίας στο Arduino και χρησιμοποιήστε το τηλεχειριστήριο για να περιστρέψετε το βουνό
Είτε αφήστε το Arduino συνδεδεμένο στον υπολογιστή σας είτε αποσυνδέστε το από τον υπολογιστή σας και χρησιμοποιήστε μια μπαταρία 9V για να τροφοδοτήσετε DC στο Arduino. Τέλος, χρησιμοποιήστε ένα φτηνό τηλεχειριστήριο IR για να ελέγξετε το σερβο και επομένως τον προσανατολισμό της βάσης του τηλεφώνου!
Ο αριθμός 1 στο τηλεχειριστήριο θα πρέπει να ρυθμίσει τη θέση σερβο σε 0 μοίρες, τον αριθμό 2 έως 90 μοίρες και τον αριθμό 3 έως 180 μοίρες. Εν τω μεταξύ, τα κουμπιά + και - στο τηλεχειριστήριο θα πρέπει να αυξήσουν ή να μειώσουν τη γωνία του servo κατά 1 βαθμό, αντίστοιχα.
Σημείωση: Εάν χρησιμοποιείτε διαφορετικό τηλεχειριστήριο IR από αυτό που απεικονίζεται εδώ, είναι πιθανό να αλλάξουν οι κωδικοί IR που αντιστοιχούν σε διάφορα κουμπιά. Εάν ναι, τροποποιήστε το σκίτσο ServoIRandLCD για να χρησιμοποιήσετε αυτούς τους κωδικούς IR.
Βήμα 6: Διαβάστε αυτό για επεξήγηση πηγαίου κώδικα
Ο πηγαίος κώδικας για το σκίτσο του Arduino βρίσκεται παρακάτω ή στο προηγούμενο συνημμένο αρχείο.zip. Οι απαιτούμενες βιβλιοθήκες μπορούν να βρεθούν μόνο στο προηγούμενο συνημμένο αρχείο.zip στο βήμα 4.
Το πρώτο πράγμα που κάνει ο κώδικας είναι να περιλαμβάνει τις απαραίτητες βιβλιοθήκες που απαιτούνται για την εκτέλεση όλων των συναρτήσεων στο σκίτσο. Στη συνέχεια, δηλώνει τον ακροδέκτη 9 στο Arduino ότι είναι ο ακροδέκτης σήματος που διαθέτει PWM για το σερβο. Κάνει επίσης τον πείρο 11 στο Arduino τον πείρο που χρησιμοποιείται για τον δέκτη IR. Στη συνέχεια, δηλώνει μια ακέραιη μεταβλητή που χρησιμοποιείται για την παρακολούθηση της θέσης του σερβο σε μοίρες και την ορίζει σε 0 μοίρες, αρχικά. Στη συνέχεια, υποδεικνύει τα απαιτούμενα αντικείμενα για ένα αντικείμενο IRrecv, ένα σερβο αντικείμενο και το αντικείμενο LCD myDisplay (που έχει επίσης διαμορφωθεί στην ίδια γραμμή), ώστε αυτά τα αντικείμενα να μπορούν να χρησιμοποιηθούν αργότερα.
Στη συνέχεια, στη λειτουργία ρύθμισης, η σειριακή θύρα ξεκινά στα 9600 bits/sec, ώστε η σειριακή οθόνη να μπορεί να χρησιμοποιηθεί για να παρακολουθεί τη θέση του σερβο, εάν το επιθυμείτε. Συνδέει επίσης το αντικείμενο myservo στον ακροδέκτη 9, ξεκινά τον δέκτη IR και αρχικοποιεί την οθόνη LCD.
Στη λειτουργία κύριου βρόχου, το σώμα της οποίας εκτελείται μόνο εάν λαμβάνεται μια μετάδοση IR από τον δέκτη IR, ο δέκτης IR αποκωδικοποιεί το σήμα που του αποστέλλεται από το τηλεχειριστήριο IR χρησιμοποιώντας τη συνάρτηση αποκωδικοποίησης (& αποτελεσμάτων) και στη συνέχεια εάν οι προτάσεις καθορίζουν τι για να ρυθμίσετε το σερβο ανάλογα με την τιμή IR που λαμβάνετε. Η συνάρτηση εγγραφής χρησιμοποιείται για να ρυθμίσει το σερβο στους κατάλληλους βαθμούς και η λειτουργία ανάγνωσης χρησιμοποιείται για να βρει την τρέχουσα γωνία του σερβο και να την αυξήσει ή να τη μειώσει, όπως απαιτείται.
Τέλος, η τρέχουσα γωνία του σερβο αποστέλλεται τόσο στη σειριακή οθόνη όσο και στην οθόνη LCD χρησιμοποιώντας τη λειτουργία myservo.read () και οι κύριοι βρόχοι επαναλαμβάνονται επ 'αόριστον.
Κωδικός πηγής:
#include // τυπική βιβλιοθήκη Arduino #περιλαμβάνει // βιβλιοθήκη IR #συμπεριλάβετε "Wire.h" //Wire.h για LCD (μερικές φορές απαιτείται) #include "LiquidCrystal_I2C.h" // βιβλιοθήκη LCD
#define servopin 9 // αυτό ορίζει τον πείρο 9 ως τον πείρο που χρησιμοποιείται για το καλώδιο ελέγχου σερβο (πορτοκαλί)
int RECV_PIN = 11; // Η φωτογραφία-τρανζίστορ IR στέλνει έξοδο στο pin 11
int currentAngle = 0; // δηλώστε μεταβλητή ακέραιου currentAngle και ορίστε στο 0
IRrecv irrecv (RECV_PIN); // Πραγματοποιήστε ένα αντικείμενο δέκτη IR αποκωδικοποιήστε τα αποτελέσματα. // Παρουσιάστε ένα αντικείμενο decode_results. Αυτό το αντικείμενο είναι ξεχωριστό από τον δέκτη IR.
Servo myservo; // Παρουσιάστε ένα σερβο αντικείμενο με το όνομα "myservo" // μπορούν να δημιουργηθούν έως και οκτώ σερβο αντικείμενα
LiquidCrystal_I2C myDisplay (0x27, 16, 2); // instantiate LCD object and set up config
void setup () {
Serial.begin (9600); // έναρξη σειριακής θύρας
myservo.attach (servopin); // συνδέει το σερβο στο pin 9 στο σερβο αντικείμενο
irrecv.enableIRIn (); // εκκινήστε τον δέκτη
myDisplay.init (); // προετοιμασία LCD
myDisplay.backlight (); // ενεργοποιήστε τον οπίσθιο φωτισμό LCD
}
void loop () {
εάν (irrecv.decode (& results)) // εάν η μετάδοση ελήφθη…
{Serial.print ("Λήφθηκε η τιμή IR:");
Serial.println (results.value); // εμφάνιση της τιμής που ελήφθη
// ερμηνεύστε τις ληφθείσες εντολές… if (results.value == 16724175) // 1 {// left myservo.write (0); }
if (results.value == 16718055) // 2 {// middle myservo.write (90); }
if (results.value == 16743045) // 3 {// right myservo.write (180); }
if (results.value == 16754775) //+ {// increment currentAngle = myservo.read (); myservo.write (currentAngle + 1); } if (results.value == 16769055) //- {// decment currentAngle = myservo.read (); myservo.write (currentAngle - 1); }}
irrecv.resume (); // Λάβετε την επόμενη τιμή
// Serial monitor print Serial.print ("Τρέχουσα θέση σερβο:");
Serial.println (myservo.read ()); // αυτό ανακτά τη θέση σερβο και την στέλνει στη σειριακή οθόνη
// Εκτύπωση LCD myDisplay.clear ();
myDisplay.print ("Servo deg.:");
myDisplay.print (myservo.read ());
καθυστέρηση (200)? // καθυστέρηση για να γίνει σταθερή η λειτουργία σερβομηχανισμού
}
Βήμα 7: Παρακολουθήστε το Βίντεο μου στο YouTube για βοήθεια
Προβολή του μη καταχωρισμένου βίντεο μου στο YouTube, το οποίο συζητά και παρουσιάζει πλήρως το έργο, εάν έχετε απορίες!
Συνιστάται:
Ευκολότερη βάση τηλεφώνου: 4 βήματα
Πιο εύκολη βάση τηλεφώνου: Χρειάζεστε μια σταθερή και φθηνή βάση τηλεφώνου για να χρησιμοποιείτε ενώ πραγματοποιείτε τηλεφωνικές κλήσεις, ακούτε μουσική, παρακολουθείτε βίντεο/ταινίες, χρησιμοποιείτε το τηλέφωνο για αυτοπροσωπογραφίες ή ως κάμερα ασφαλείας κλπ; Εδώ είναι ένα περίπτερο με ελάχιστη προσπάθεια και δαπάνες. Ουά
Βάση τηλεφώνου για προστασία οράματος: 4 βήματα
Βάση τηλεφώνου προστασίας οράματος: Αυτός ο σταθεροποιητής τηλεφώνου θα υπενθυμίσει στους χρήστες πότε πρέπει να σταματήσουν να χρησιμοποιούν τη συσκευή τους και να ξεκουραστούν για ορισμένο χρονικό διάστημα. Αυτός ο σταθεροποιητής θα χρησιμοποιεί τόσο ηχητικά εφέ όσο και φωτιστικά για να τραβήξει την προσοχή του χρήστη. Για τον αρχικό κωδικό, έθεσα τον χρόνο χρήσης σε 30 μίλια
Τηλεχειριζόμενη βάση τηλεφώνου: 4 βήματα
Τηλεχειριζόμενη βάση τηλεφώνου: Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει τις απαιτήσεις του έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com) Αυτή η βάση τηλεφώνου είναι εύκολη στη συναρμολόγηση και χρήσιμη όταν πρέπει να παρακολουθήσετε κάτι στο τηλέφωνό σας ή ξανά
Τριχωτό iPhone! ΘΗΚΗ ΤΗΛΕΦΩΝΟΥ DIY Life Hacks - Θήκη τηλεφώνου με κόλλα: 6 βήματα (με εικόνες)
Τριχωτό iPhone! DIY PHONE CASE Life Hacks - Θήκη τηλεφώνου με ζεστή κόλλα: Στοιχηματίζω ότι δεν έχετε δει ποτέ ένα τριχωτό iPhone! Λοιπόν, σε αυτό το σεμινάριο θήκης για τηλέφωνα DIY σίγουρα θα το κάνετε! :)) Καθώς τα τηλέφωνά μας σήμερα μοιάζουν λίγο με τη δεύτερη ταυτότητά μας, αποφάσισα να φτιάξω ένα " μικρογραφία μου " … Ελαφρώς ανατριχιαστικό, αλλά πολύ διασκεδαστικό
DIY 360 'Περιστρεφόμενη βάση προβολής για φωτογραφία / βιντεοσκόπηση: 21 βήματα (με εικόνες)
DIY 360 'Περιστρεφόμενη βάση στήριξης για φωτογραφία / βιντεοσκόπηση: Μάθετε πώς να φτιάχνετε το DIY 360 Rotating Display stand από χαρτόνι στο σπίτι, το οποίο υποστηρίζεται από USB με εύκολη επιστημονική εργασία για παιδιά, το οποίο μπορεί επίσης να χρησιμοποιηθεί για τη φωτογράφιση προϊόντων και την προεπισκόπηση βίντεο 360 του προϊόντος για δημοσίευση στους ιστότοπούς σας ή ακόμα και στο Amaz