Πίνακας περιεχομένων:
Βίντεο: Ξύλινο τηλεχειριστήριο Bluetooth για Lego Duplo Train: 3 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Τα παιδιά μου λάτρεψαν αυτό το μικρό τρένο Lego Duplo, ιδιαίτερα το μικρότερο μου που αγωνίζεται να επικοινωνήσει με τις λέξεις, έτσι ήθελα να της φτιάξω κάτι που θα την βοηθούσε να παίζει με το τρένο ανεξάρτητα από ενήλικες ή τηλέφωνα/tablet. Κάτι που θα προσθέσει μια επιπλέον διάσταση στο τρένο και θα του δώσει επιπλέον αξία παιχνιδιού
Το σετ Lego έχει ήδη λίγους τρόπους για να ελέγξει το τρένο, μπορείτε να το σπρώξετε προς τα εμπρός για να το ξεκινήσετε και να το κρατήσετε για να το σταματήσετε, μπορείτε να το ελέγξετε χρησιμοποιώντας χρωματικές ετικέτες που πηγαίνουν στην πίστα, ώστε όταν το τρένο να το περάσει να ενεργοποιήσει διαφορετικές ενέργειες, π.χ. εμπρός, αντίστροφα, παίξτε ήχους ανάψτε τα φώτα. Μπορείτε επίσης να κατεβάσετε μια εφαρμογή για το τηλέφωνο ή το tablet σας που μπορεί να συνδεθεί στο τρένο μέσω bluetooth.
Εδώ είναι μια πλήρης ανασκόπηση του τρένου
Μετά από κυνήγι στο διαδίκτυο, βρήκα ότι υπήρχαν λίγοι διαφορετικοί άνθρωποι που είχαν έτοιμο γραπτό κώδικα για να ελέγξουν το τρένο. Ο κόμβος «Poweredup» που γράφτηκε από το nathan.kellenicki (https://nathan.kellenicki.com/node-poweredup/) έμοιαζε με ένα τέλειο ξεκίνημα. Γράφτηκε χρησιμοποιώντας Javascript με το οποίο δεν ήμουν μερικώς εξοικειωμένος αλλά σκέφτηκα αν θα μπορούσε να βρει μικροτσίπ με βάση java, αυτό θα ήταν μια καλή αρχή.
Και πάλι μετά από κυνήγι στο Διαδίκτυο και πάλι βρήκα το σύστημα espruino, αυτό είναι παρόμοιο με το ardiuno αλλά βασίζεται γύρω από το javascript. Ο κώδικας espriuno θα μπορούσε να φορτωθεί σε mircochip MDBT42Q που είχε ενσωματωμένο bluetooth. Σκέφτηκα ότι αν μπορούσα να φορτώσω την ενότητα "ενεργοποιημένη" σε αυτήν, θα ήμουν μέχρι τη μέση της διαδρομής, ωστόσο αυτό το απλό δεν συνέβη με μια ενότητα που περιείχε σε πολλές βιβλιοθήκες για να φορτώσει στο MDBT42Q, οπότε φαίνεται ότι πρέπει να βρείτε μια πιο απλή λύση…
Βήμα 1: Ο κώδικας
Esprinuo
Για όσους δεν γνωρίζουν την πλατφόρμα Espruino https://www.espruino.com (και δεν το έκανα) είναι πολύ παρόμοιο με το Arduino, υπάρχει μια βασική διαφορά που έγραψε για το javascript μάλλον c, Αισθάνεται ελαφρώς νεότερο έτσι ώστε να μην υπάρχουν παραδείγματα ωστόσο η υποστήριξη μέσω των φόρουμ είναι μεγάλη και πολύ χρήσιμη.
Javascript συναντήστε το τρένο
Το πρώτο εμπόδιο ήταν η σύνδεση με το τρένο μέσω bluetooth. Αυτό μπορεί να γίνει χρησιμοποιώντας την κατηγορία NRF που αποστέλλεται με τον κωδικό espruino.
Το NRF.connect μπορεί να χρησιμοποιηθεί για σύνδεση με το τρένο, ωστόσο η πρώτη σας ανάγκη να βρείτε τη διεύθυνση του ίδιου του τρένου, μπορείτε να χρησιμοποιήσετε το NRF.findDevices για να λάβετε αυτές τις πληροφορίες
Μόλις το κάνετε αυτό, τότε πρέπει να στείλετε στο τρένο δύο χειραψίες με το τρένο, για το τρένο μου αυτό ήταν "00001623-1212-efde-1623-785feabcd123" ακολουθούμενο από "00001624-1212-efde-1623-785feabcd123" Πιστεύω Αυτό θα είναι το ίδιο για όλα τα τρένα ατμού που έχουν ρυθμιστεί αλλά οι άλλες εκδόσεις, δηλαδή το σετ φορτίου μπορεί να είναι διαφορετικό
Μόλις το έχετε αυτό, μπορείτε να συνδέσετε το τρένο χρησιμοποιώντας τη λειτουργία όπως η παρακάτω, μπορείτε να πείτε πότε συνδέεται το τρένο καθώς θα αναβοσβήνει με μπλε προβολείς
NRF.connect ("e0: 7d: ea: 0c: 03: 29"). Στη συνέχεια (συνάρτηση (g) {
console.log ("Έναρξη σύνδεσης2"); gatt = g; return gatt.getPrimaryService ("00001623-1212-efde-1623-785feabcd123"); }). στη συνέχεια (λειτουργία (υπηρεσία) {return service.getCharacteristic ("00001624-1212-efde-1623-785feabcd123");}). στη συνέχεια (συνάρτηση (χαρακτηριστικό) {Characteristic_store = χαρακτηριστικό; επιστροφή χαρακτηριστικού.readValue ();}).then (value => {console.log (value);}). στη συνέχεια (function () {console.log ("Train Connected"); συνδεδεμένο = 1;
Τα διασκεδαστικά πράγματα
Τώρα που συνδεθήκατε με το τρένο, ήρθε η ώρα για όλα τα διασκεδαστικά πράγματα, όπως να το μετακινήσετε μπροστά, να κάνετε ήχο και να ανάψετε και να σβήσετε το φως. Είναι απλή δουλειά να στείλετε στο τρένο μια τιμή προετοιμασίας, ακολουθούμενη από την πραγματική εντολή, δηλ
συνάρτηση play_horn () {
console.log ("message =", Characteristic_store); const prepval = νέο Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = νέο Uint8Array ([0x08, 0x00, 0x81, 0x01, 0x11, 0x51, 0x01, 0x09]); Characteristic_store.writeValue (prepval).then (_ => {Characteristic_store.writeValue (τιμή αποστολής);}); }
Youσως χρειαστεί να κάνετε λίγο ψάξιμο για να βρείτε άλλη εντολή από αυτές που χρησιμοποίησα
Κουμπιά και μοχλοί
Η φυσική πλευρά του τηλεχειριστηρίου είναι πολύ ευθεία προς τα εμπρός τέσσερα κουμπιά (για αναπαραγωγή ήχων, ενεργοποίηση και απενεργοποίηση των φώτων) και ένα ποτενσιόμετρο που συνδέεται με το μοχλό, ώστε να μπορείτε να ελέγχετε την ταχύτητα και την κατεύθυνση του τρένου
Το κουμπί δεν χρειάζεται αντίσταση έλξης, μπορείτε να το κάνετε σε κώδικα, δηλ
pinMode (D15, 'input_pulldown');
Μπορείτε να συνδέσετε το ποτενσιόμετρο σε μία από τις εισόδους και στη συνέχεια να το διαβάσετε το αναλογικό σήμα χρησιμοποιώντας την ακόλουθη εντολή
var ανάγνωση = analogRead (D31);
Η άλλη διαφορά στο arduino είναι ότι το esprunio δεν έχει εγκατάσταση και βρόχο. Αντ 'αυτού, τοποθετώ όλες τις ξεχωριστές εντολές/ενεργοποιητές σε συναρτήσεις και στη συνέχεια ρυθμίζω το setInterval που κάνει βρόχο κάθε 100 χιλιοστά του δευτερολέπτου, ακούγοντας το κουμπί και στη συνέχεια εκτελώντας την απαιτούμενη συνάρτηση όταν πατηθεί το κουμπί.
if (digitalRead (D15) == 1) {play_horn (); }
Η λειτουργία του μοχλού ήταν λίγο πιο περίπλοκη καθώς ήθελα να μπορώ να προσαρμόσω σταδιακά την ταχύτητα, έτσι έπρεπε πρώτα να στείλω την αναλογική τιμή στη λειτουργία
var ανάγνωση = analogRead (D31);
τρένο_κατεύθυνση (ανάγνωση * 1024)
Στη συνέχεια, στη συνάρτηση train_direction έσπασα την εντολή σε 6 διαφορετικά βήματα με βάση την τιμή του δοχείου
Σε όλη τη διαδρομή, λέει στο τρένο να προχωρήσει ολοταχώς
Στα μισά του δρόμου, λέει το τρένο να προχωρήσει με ταχύτητα 50%
Μέση, λέει στο τρένο να σταματήσει
Στα μισά του δρόμου, λέει στο τρένο να πάει πίσω με ταχύτητα 50%
Καθώς κατεβαίνει, λέει στο τρένο να πάει ολοταχώς αντίστροφα
δηλ
συνάρτηση train_direction (dir_val) {
//console.log("message = ", Characteristic_store); const prepval = νέο Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = νέο Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]); if (dir_val> 300 && dir_val 400 && dir_val 500) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]); } if (dir_val 200) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]); } if (dir_val 100) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]); } if (dir_val {Characteristic_store.writeValue (τιμή αποστολής);}); }
Ο πλήρης κωδικός μπορεί να εμφανιστεί για τον παρακάτω σύνδεσμο
Βήμα 2: Η καλωδίωση
Η καλωδίωση ήταν το απλούστερο μέρος
Απλώς αποτελείτο από 4 κουμπιά που συνδέονταν με τα D15, D16, D17 και D18 χωρίς οποιαδήποτε αντίσταση τράβηξης προς τα επάνω όπως αυτό γινόταν στον κώδικα και 1 αντίσταση 10k συνδεδεμένη στο D31
Εξακολουθώ να εργάζομαι στο τροφοδοτικό, αλλά προς το παρόν όλη η τροφοδοσία έρχεται από μια έξοδο micro usb και αυτό μπορεί να συνδεθεί απευθείας σε τράπεζα ισχύος ή θύρα USB
Βήμα 3: Η κατασκευή
Το τηλεχειριστήριο είναι ως επί το πλείστον από φύλλα κόντρα πλακέ 3mm, 6mm ή 9mm, όπου κόβονται στο μηχάνημα CNC, ωστόσο, χρησιμοποιώντας το πρότυπο που θα ήθελα, αν και δεν θα ήταν αδύνατο να το κάνω με το χέρι
Ελπίζω ότι το πρότυπο και οι φωτογραφίες θα σας δώσουν όλα όσα χρειάζεστε για να διασκευάσετε, ωστόσο υπάρχουν λίγες σημειώσεις που μπορεί να σας βοηθήσουν
Η βάση στήριξης κουμπιού 3mm είναι για να κολλήσετε το κουμπί, το κενό θα τοποθετήσει το κουμπί στη σωστή θέση, αλλά σας επιτρέπουμε να έχετε πρόσβαση στο πόδι στο πίσω μέρος, ώστε να μπορείτε να κολλήσετε στο μικροτσίπ, στην πίσω όψη μπορείτε επίσης να τοποθετήσετε το MDBT42Q χρησιμοποιώντας λίγη κόλλα. Στο μπροστινό μέρος θα πρέπει να προσθέσετε τόσο αφρό, ώστε να δίνει στα κουμπιά μια μικρή αναπήδηση όταν τα πιέζετε προς τα κάτω, μπορείτε επίσης να χρησιμοποιήσετε ελατήρια
Τα κουμπιά των 9mm θα χρειαστούν είτε το χρώμα του λογότυπου, είτε την χάραξή του είτε κάτι άλλο για να δείξουν τι κουμπί κάνει τι
Ο μοχλός/λαβή θα πρέπει να στρωθεί, χρησιμοποίησα έναν πείρο 6 mm για να τους ευθυγραμμίσω σε όλες τις σωστές θέσεις
Συνιστάται:
Χρησιμοποιήστε τη σύντηξη για να φτιάξετε αυτό το ξύλινο εργαλείο!: 4 βήματα
Χρησιμοποιήστε τη σύντηξη για να φτιάξετε αυτό το ξύλινο εργαλείο!: Αυτό είναι ένα από τα πιο απλά έργα που έκανα χρησιμοποιώντας το Fusion 360 για να βοηθήσω τους αρχάριους να ξεκινήσουν με το λογισμικό. Εμφανίζει κάποιες βασικές λειτουργίες του λογισμικού και είναι πολύ εύκολο να πάρει πολύ χρόνο. Απαιτείται λογισμικό: Fusion 360 by Autodesk Προαπαιτούμενα
Τηλεχειριστήριο γίνεται τηλεχειριστήριο RF -- NRF24L01+ Φροντιστήριο: 5 βήματα (με εικόνες)
Τηλεχειριστήριο γίνεται τηλεχειριστήριο RF || NRF24L01+ Tutorial: Σε αυτό το έργο θα σας δείξω πώς χρησιμοποίησα το δημοφιλές nRF24L01+ RF IC για να προσαρμόσω ασύρματα τη φωτεινότητα μιας λωρίδας LED μέσω τριών άχρηστων κουμπιών ενός τηλεχειριστηρίου τηλεόρασης. Ας αρχίσουμε
IRduino: Τηλεχειριστήριο Arduino - Μιμήστε ένα χαμένο τηλεχειριστήριο: 6 βήματα
IRduino: Arduino Remote Control - Imitate a Lost Remote: Αν έχετε χάσει ποτέ το τηλεχειριστήριο της τηλεόρασης ή του DVD player σας, γνωρίζετε πόσο απογοητευτικό είναι να περπατάτε, να βρίσκετε και να χρησιμοποιείτε τα κουμπιά της ίδιας της συσκευής. Μερικές φορές, αυτά τα κουμπιά δεν προσφέρουν καν την ίδια λειτουργικότητα με το τηλεχειριστήριο. Λήψη
Μετατρέψτε το τηλεχειριστήριο IR σε τηλεχειριστήριο RF: 9 βήματα (με εικόνες)
Μετατροπή του τηλεχειριστηρίου IR σε τηλεχειριστήριο RF: Στο σημερινό Instructable, θα σας δείξω πώς μπορείτε να χρησιμοποιήσετε μια γενική μονάδα RF χωρίς μικροελεγκτή που θα μας οδηγήσει τελικά στη δημιουργία ενός έργου όπου μπορείτε να μετατρέψετε ένα τηλεχειριστήριο IR οποιασδήποτε συσκευής σε RF Μακρινός. Το κύριο πλεονέκτημα της μετατροπής ενός
Τηλεχειριστήριο για μικρά παιδιά για PC Video Player: 6 βήματα
Toddler Video Remote for PC Video Player: Δημιουργώ ένα τηλεχειριστήριο που συνδέεται σε έναν υπολογιστή με USB. Το μεγάλο τηλεχειριστήριο επιτρέπει στο παιδί μου να επιλέγει και να παίζει βίντεο σε έναν παλιό υπολογιστή. Αυτό είναι ένα σχετικά απλό έργο. Το βασικό στοιχείο είναι είτε ένα πληκτρολόγιο USB είτε ένα ασύρματο πληκτρολόγιο USB. Στη συνέχεια