
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:38


Τέσσερις τεχνικές καινοτομίες κατέστησαν εφικτό αυτό το έργο: Το 1977 Rowe AMI Jukebox, κιτ ρομπότ PlotClock, μικροελεγκτής WeMos/ESP 8266 και υπηρεσία Blynk App/Cloud.
ΣΗΜΕΙΩΣΗ: Εάν δεν έχετε το Jukebox στο χέρι - μην σταματήσετε να διαβάζετε! Αυτό το έργο μπορεί εύκολα να υιοθετηθεί για τον έλεγχο διαφόρων πραγμάτων που ελέγχονται από ανθρώπινα δάχτυλα. Ένα παράδειγμα θα μπορούσε να είναι ένα δάχτυλο ρομπότ που παίζει παραδοσιακό Ξυλόφωνο - ίσως αυτό το διδακτικό προέρχεται από εσάς!
Ο 40χρονος μου Rowe AMI R-81 Jukebox εξακολουθεί να δουλεύει καλά παίζοντας vintage βινύλια singles από τις δεκαετίες του 60, 70 και 80. Ζυγίζοντας πάνω από 160 κιλά (360 λίβρες) αυτή η συσκευή αναπαραγωγής δεν είναι τόσο φορητή όσο οι σύγχρονοι παίκτες mp, αλλά ζώντας στην εποχή του διαδικτύου, είναι πλέον δυνατό να μεταφέρετε το τζουκμποξ και 200 δίσκους βινυλίου στην τσέπη σας-ουσιαστικά φυσικά! Μπορείτε επίσης να χρησιμοποιήσετε τις δικές σας λίστες αναπαραγωγής που είναι αποθηκευμένες στον μικροελεγκτή!
Το εκπληκτικό ρομπότ PlotClock έχει σχεδιαστεί αρχικά για να δείχνει την τρέχουσα ώρα σχεδιάζοντας ψηφία χρόνου στον πίνακα που μπορεί να διαγραφεί. Η προσαρμογή μου για το PlotClock είναι να το χρησιμοποιήσω ως δάχτυλο ρομπότ για το πάτημα των κουμπιών επιλογής τραγουδιού Jukebox.
Το "δάχτυλο" του Plotclock οδηγείται από 3 σερβο που ελέγχονται από τον μικροελεγκτή WeMos. Αυτό το θαύμα είναι (σχεδόν) συμβατό με το Arduino Uno και διαθέτει δυνατότητες WiFi, οπότε είναι δυνατό να ελέγξετε το jukebox ασύρματα από οπουδήποτε στον κόσμο.
Η κρέμα στο κέικ προέρχεται από την απίστευτα εύκολη στη χρήση εφαρμογή Blynk και τον διακομιστή Blynk Cloud Server που προσφέρει μια ωραία διεπαφή χρήστη κινητού τηλεφώνου/tablet με πλήρη κινητικότητα.
Βήμα 1: Υλικό


Τζουκ μποξ
Το Project jukebox είναι το 1977 Rowe AMI R-81. Οποιοδήποτε παλιό jukebox με κουμπιά επιλογής θα κάνει - σημειώνοντας μερικούς περιορισμούς από το PlotClock: Ο αρχικός σχεδιασμός των βραχιόνων του PlotClock μπορεί να καλύψει μια περιοχή περίπου 5 x 12 cm, οπότε η διάταξη του κουμπιού jukebox (περιοχή που περιλαμβάνει όλα τα κουμπιά επιλογής) πρέπει να είναι περίπου αυτού του μεγέθους. Τα κουμπιά των παλαιότερων τζουκ μποξ μπορεί να χρειάζονται περισσότερη δύναμη ώθησης από ό, τι μπορούν να προσφέρουν τα σερβο PlotClock.
Το AMI R-81 διαθέτει μνήμη όπου μπορεί να αποθηκεύσει και τις 200 επιλογές. Οι επιλογές παίζονται με βάση τη σειρά που αποθηκεύονται στο περιοδικό δίσκων (τύπος καρουζέλ) και όχι με τη σειρά που έχουν επιλεγεί. Πολλαπλές επιλογές για μία εγγραφή παίζονται μόνο μία φορά.
PlotClock
Το Plotclock είναι εμπορικά διαθέσιμο κιτ DIY που περιλαμβάνει μηχανικά μέρη, 3 σερβο, Arduino Uno R3, πίνακα επέκτασης Arduino και καλώδιο USB. Για περίπου 30 USD είναι μια καλή αγορά (π.χ. Banggood.com). Το Arduino, ο πίνακας επέκτασης και το καλώδιο USB δεν χρησιμοποιούνται για αυτό το έργο.
Υπάρχουν αρκετά καλά μαθήματα διαδικτύου/YouTube για τη σύνθεση του Plotclock - π.χ. αυτό: Οδηγίες PlotClock
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
Ο WeMos D1 R2 είναι μικροελεγκτής με βάση ESP8266. Μπορεί να προγραμματιστεί χρησιμοποιώντας το Arduino IDE και έχει δυνατότητες WiFi, επομένως είναι ένα τέλειο κομμάτι υλικού για αυτό το έργο.
Βήμα 2: Βαθμονόμηση

Η βαθμονόμηση είναι η εργασία για την εύρεση ακριβών τιμών γωνίας για τις γωνίες σερβο (από 0 έως 180 μοίρες) που αντιστοιχούν στις φυσικές θέσεις για τα κουμπιά επιλογής. Οι τιμές γωνίας μπορούν να βρεθούν με τριγωνομετρία arithemitics ή χρησιμοποιώντας ένα λογισμικό CAD. Πήρα τιμές κατά προσέγγιση από τον φίλο μου που ήξερε πώς να χρησιμοποιεί το AutoCad.
Ωστόσο, η τελική βαθμονόμηση έπρεπε να γίνει με δοκιμή και λάθος. Χρήση της διάταξης κουμπιών που έχει σχεδιαστεί στο κομμάτι χαρτί Είναι δυνατό να κάνετε την "δοκιμή επιφάνειας εργασίας" για να βρείτε τις σωστές τιμές γωνίας.
Βήμα 3: Συναρμολόγηση




Καλωδίωση
Η σύνδεση από servot Plotclock στο Wemos γίνεται με 5 καλώδια: +5, GND, D4, D5 και D6. Δείτε λεπτομέρειες σε εικόνες και κώδικα.
Εγκατάσταση στο Jukebox
Δεν ήθελα να κάνω καμιά τρύπα στο τζουκ μποξ 40 ετών που είχε επιβιώσει τόσο καιρό χωρίς μεγάλες ζημιές. Χρησιμοποιώντας μαλακό ελαστικό στεγανωτικό, στερέωσα ένα κομμάτι λίστας γωνίας αλουμινίου κάτω από την κονσόλα jukebox. Το λαστιχένιο στεγανωτικό κρατάει σφιχτά και μπορεί να αφαιρεθεί χωρίς να αφήσει σημάδια. Το σώμα PlotClock χρειάστηκε δύο μικρές γωνίες αλουμινίου για να το τοποθετήσει στην ακρυλική πλάκα. Η ακρυλική πλάκα στη συνέχεια προσαρμόζεται στη λίστα γωνιών με δύο συνδετήρες με ελατήριο που αφήνουν τη δυνατότητα να κάνουν τις τελικές ρυθμίσεις κάθετα και οριζόντια.
Βήμα 4: Blynk

Το Blynk είναι μια δωρεάν εφαρμογή για τον έλεγχο πολλών τύπων μικροελεγκτών από απόσταση. Με το Blynk μπορείτε εύκολα να δημιουργήσετε μια ωραία διεπαφή χρήστη χρησιμοποιώντας διάφορους τύπους widgets. Απαιτείται μόνο ένα widget για αυτό το έργο: το γραφικό στοιχείο Table.
Βήμα 5: Λογισμικό
Εφαρμογή Blynk
Δεν υπάρχει κωδικοποίηση στην πλευρά της εφαρμογής. Η "συνομιλία" μεταξύ της εφαρμογής (Blynk) και του μικροελεγκτή (WeMos) γίνεται από τους "Virtual pin" που ουσιαστικά είναι κανάλια αποστολής και λήψης πληροφοριών μεταξύ αυτών των δύο. Η εικονική καρφίτσα χρησιμοποιείται για παράδειγμα για την αποστολή του αριθμού σειράς του επιλεγμένου τραγουδιού από την εφαρμογή Blynk στο WeMos και το Wemos χειρίζεται τα υπόλοιπα, δηλ. αποστολή εντολών στα σερβο Plotclock.
Κώδικας WeMos
/**************************************************************
Γραφικό στοιχείο πίνακα στο V2 ****************************************** ** // Jukebox project char ssid = "--ΤΟ SSID ΣΑΣ--"; char pass = "--ΤΟ WIFI PASSWORD-"; int c [50]; // Array για θέσεις εγγραφής Jukebox (100-299) Servo myservo1; // ανύψωση Servo myservo2; // αριστερό χέρι Servo myservo3; // δεξί χέρι int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // pin D4, lift myservo2.attach (14); // pin D5, left myservo3.attach (12); // καρφίτσα D6, δεξιά myservo1.write (140); myservo2.write (90); myservo3.write (90); Serial.begin (115200); Blynk.begin (auth, ssid, pass); // Ειδοποίηση αμέσως κατά την εκκίνηση // String msg = "Jukebox WeMos συνδεδεμένο με:"; //Blynk.notify(msg + ssid); // καθαρός πίνακας κατά την έναρξη Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Λήψη εντολών από το γραφικό στοιχείο πίνακα V2 {String cmd = param [0].asStr (); // param [0] = "επιλογή" ή "κατάργηση επιλογής", param [1] = σειρά Serial.print ("\ nΠίνακας: BLYNK_WRITE (V2) cmd:"); Serial.print (cmd); int επιλογή = c [param [1].asInt ()]; // Ο επιλεγμένος αριθμός σειράς βρίσκεται στην παράμετρο [1] Serial.println ("\ nΕπιλογή:"); Serial.println (επιλογή); διαδικασία_επιλογής (επιλογή)? } void populateTable () {int i = 0; Serial.println ("Συμπληρωματικός πίνακας …"); Blynk.virtualWrite (V2, "add", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite (V2, "add", 1, "Number One - Jerry Williams", 176); i ++? c = 176; Blynk.virtualWrite (V2, "add", 2, "All My Loving - The Beatles", 184); i ++? c = 184; Blynk.virtualWrite (V2, "add", 3, "In the Summertime - Mungo Jerry", 236); i ++? c = 236; Blynk.virtualWrite (V2, "add", 4, "Black Cloud - Chubby Checker", 155); i ++? c = 155; Blynk.virtualWrite (V2, "add", 5, "Mamy Blue - Pop -Tops", 260); i ++? c = 260; Blynk.virtualWrite (V2, "add", 6, "It's Gonna Be Alright - Gerry & Pacemakers", 145); i ++? c = 145; Blynk.virtualWrite (V2, "add", 7, "My Way - Tom Jones", 193); i ++? c = 193; Blynk.virtualWrite (V2, "add", 8, "San Bernadino - Christie", 149); i ++? c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); i ++? c = 169;
καθυστέρηση (1000)?
} void process_selection (int επιλογή) {// αναλύστε την τριψήφια επιλογή (π.χ. 178) σε 3 κουμπιά: int btn1 = int (επιλογή/100); // πρώτο κουμπί Serial.println ("\ nBtn1:"); Serial.println (btn1); εάν (btn1 == 1 || btn1 == 2) // το πρώτο κουμπί πρέπει να είναι 1 ή 2 - διαφορετικά κάντε την επαναφορά {push_button (btn1). επιλογή = επιλογή - (btn1 * 100); int btn2 = int (επιλογή/10); // δεύτερο κουμπί Serial.println ("\ nBtn2:"); Serial.println (btn2); push_button (btn2); επιλογή = επιλογή - (btn2 * 10); int btn3 = int (επιλογή); // τρίτο κουμπί Serial.println ("\ nBtn3:"); Serial.println (btn3); push_button (btn3); } else {push_button (11); // κουμπί επαναφοράς} // επαναφορά θέσεων σερβο όταν τελειώσουν όλα (2000). myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// αυτό καλείται 3 φορές για κάθε επιλογή // το πραγματικό πάτημα του κουμπιού γίνεται μετά από κάθε κουμπί (εύρεση "πραγματικό πάτημα κουμπιού") διακόπτη (btn) {περίπτωση 1: set_servo_angles (134, 136); // 1 διάλειμμα? περίπτωση 2: set_servo_angles (128, 110). // 2 διάλειμμα? περίπτωση 3: set_servo_angles (112, 88). // 3 διάλειμμα? περίπτωση 4: set_servo_angles (89, 68); // 4 διάλειμμα? περίπτωση 5: set_servo_angles (62, 55). // 5 διάλειμμα? περίπτωση 6: set_servo_angles (172, 131); // 6 διάλειμμα? περίπτωση 7: set_servo_angles (163, 106). // 7 διάλειμμα? περίπτωση 8: set_servo_angles (140, 83). // 8 διάλειμμα? περίπτωση 9: set_servo_angles (104, 58). // 9 διάλειμμα? θήκη 0: set_servo_angles (75, 36); // 0 διάλειμμα? περίπτωση 11: set_servo_angles (36, 30); // 11 διάλειμμα? } // end switch} void set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3.write (pos3); // Servo θέσεις έτοιμες - εκτελέστε το πραγματικό πάτημα του κουμπιού: καθυστέρηση (500). myservo1.write (60); // καθυστέρηση κάτω (500). myservo1.write (140); // καθυστέρηση αύξησης (500) } void loop () {Blynk.run (); }
Βήμα 6: Μελλοντικά βήματα
Γραφικό στοιχείο βίντεο - ζωντανή ροή βίντεο και ήχου στην εφαρμογή Blynk (ήδη δοκιμασμένο - λειτουργεί)
Γραφικό στοιχείο Webhook - Λίστα αναπαραγωγής κατά παραγγελία λήψη από το cloud (ήδη δοκιμασμένο - λειτουργεί)
Γραφικό στοιχείο πίνακα - μερικές μικρές βελτιώσεις στο γραφικό στοιχείο είναι ευπρόσδεκτες (προτάσεις που αποστέλλονται στους προγραμματιστές του Blynk)
Συνιστάται:
Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: 11 βήματα

Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: Είχατε ποτέ πολλά δεδομένα με τα οποία εργάζεστε και σκεφτήκατε τον εαυτό σας … " πώς μπορώ να κάνω όλα αυτά τα δεδομένα φαίνονται καλύτερα και είναι πιο εύκολα κατανοητά; " Αν ναι, τότε η απάντησή σας μπορεί να είναι ένας πίνακας στο Microsoft Office Word 2007
Σύνδεση επεξεργασίας και Arduino και Make 7 Segment και Servo GUI Controller: 4 βήματα

Connecting Processing and Arduino and Make 7 Segment and Servo GUI Controller: Για ορισμένα έργα που κάνατε πρέπει να χρησιμοποιήσετε το Arduino καθώς παρέχει μια εύκολη πλατφόρμα πρωτοτύπων, αλλά η εμφάνιση γραφικών σε σειριακή οθόνη του Arduino μπορεί να διαρκέσει πολύ και είναι ακόμη και δύσκολο να γίνει. Μπορείτε να εμφανίσετε γραφήματα στο Arduino Serial Monitor bu
Ρομπότ ελεγχόμενου Wi-Fi χρησιμοποιώντας Wemos D1 ESP8266, Arduino IDE και Blynk App: 11 βήματα (με εικόνες)

Ρομπότ ελεγχόμενου Wi-Fi χρησιμοποιώντας Wemos D1 ESP8266, Arduino IDE και Blynk App: Σε αυτό το σεμινάριο σας δείχνω πώς να φτιάξετε μια ρομποτική δεξαμενή ελεγχόμενη μέσω Wi-Fi που ελέγχεται από ένα smartphone χρησιμοποιώντας την εφαρμογή Blynk. Σε αυτό το έργο χρησιμοποιήθηκε μια πλακέτα ESP8266 Wemos D1, αλλά μπορούν να χρησιμοποιηθούν και άλλα μοντέλα πιάτων (NodeMCU, Firebeetle, κ.λπ.), και οι τιμές
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)

8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
Ένδειξη θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: 13 βήματα (με εικόνες)

Εμφάνιση θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: Εισαγωγή: Πρόκειται για ένα έργο που χρησιμοποιεί έναν πίνακα Arduino, έναν αισθητήρα (DHT11), έναν υπολογιστή Windows και ένα πρόγραμμα επεξεργασίας (δωρεάν λήψη) για την εμφάνιση δεδομένων θερμοκρασίας, υγρασίας σε ψηφιακή και φόρμα γραφήματος, εμφάνιση ώρας και ημερομηνίας και εκτέλεση χρόνου αντίστροφης μέτρησης