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

Αναδιπλούμενο Blinky Light Thing: 15 Βήματα
Αναδιπλούμενο Blinky Light Thing: 15 Βήματα

Βίντεο: Αναδιπλούμενο Blinky Light Thing: 15 Βήματα

Βίντεο: Αναδιπλούμενο Blinky Light Thing: 15 Βήματα
Βίντεο: Η γκουγκου δεν σεβεται τον πατερα της 2024, Ενδέχεται
Anonim
Αναδιπλούμενο Blinky Light Thing
Αναδιπλούμενο Blinky Light Thing

Εμπνευση

Πριν από μερικά χρόνια, ο αδελφός μου είχε μια λαμπρή ιδέα για ένα προϊόν που το ονόμασε Blinky Light Thing. Ταν ένα σχεδόν άχρηστο gadget που χρησίμευε μόνο για να διασκεδάσει τον ιδιοκτήτη με φώτα που αναβοσβήνουν, κραδασμούς και κάποιες πρωτόγονες κινήσεις (σαν ένα πόδι που θα μπορούσε να κουνιέται). Θα ήταν σαν το Pet Rock για τη νέα χιλιετία. Δεν έγινε ποτέ.

Flash forward προς το παρόν. Είχα μια ιδέα για ένα παιχνίδι που περιλαμβάνει φώτα που αναβοσβήνουν, μπιπ και αισθητήρες αφής. Φαινόταν πιο πρακτικό, αλλά εξακολουθούσε να είναι "πράγμα" με "φώτα που αναβοσβήνουν" και έτσι το όνομα έγινε κατάλληλο για αυτήν τη συσκευή!

Τι είναι το Blinky Light Thing;

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

Αλλά εδώ είναι το δροσερό μέρος (καλά, εκτός από τα φώτα που αναβοσβήνουν και όλα τα άλλα..). Έχει τη δυνατότητα να επικοινωνεί με άλλα BLT's! Το κάνει αυτό μέσω Bluetooth Low Energy ή BLE. Αυτό επιτρέπει παιχνίδια που περιλαμβάνουν περισσότερους από έναν κύβους και παιχνίδια με πολλούς παίκτες.

Εξέλιξη

Αρχικά, όταν με έπιασε η έμπνευση, φαντάστηκα πολύ μικρότερους κύβους και είχα έναν αριθμό από αυτούς. Γρήγορα κατέληξα στο συμπέρασμα ότι αυτό ήταν πολύ περίπλοκο για να ξεκινήσει ως πρώτο πρωτότυπο και αποφάσισα να έχω μόλις 2 μεγαλύτερους κύβους για να αποδείξω την ιδέα. Ο πρώτος σχεδιασμός επρόκειτο να κατασκευαστεί ως ένας σκληρός κύβος με ακρυλικές πλευρές, με ένα ένθετο που περιέχει τα ηλεκτρονικά και τα πάνελ τοποθετημένα σε ένα εσωτερικό πλαίσιο. Επίσης, στον αρχικό σχεδιασμό, τα ενσωματωμένα LED στην Παιδική Χαρά θα φωτίζουν τις πλευρές του κύβου μέσω «σωλήνων φωτός» κατασκευασμένων από λυγισμένο ακρυλικό. Συνολικά αυτό ήταν πολύ έξυπνο αλλά πιθανότατα και υπερβολικά σχεδιασμένο! Έφτασα μέχρι να φτιάξω τον κύβο, τα πάνελ και την εσωτερική δομή πριν συνειδητοποιήσω ότι ήταν πολύ περίπλοκο.

Εισαγάγετε: χαρτί

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

Στη συνέχεια, αργότερα, σκέφτηκα, γιατί να μην προχωρήσουμε και να φτιάξουμε ένα πρωτότυπο από χαρτί/χαρτόνι και να το διπλώσουμε κυριολεκτικά; Είχα ήδη παίξει με τις ιδέες ενός πτυσσόμενου υπολογιστή και ενός πτυσσόμενου ρομπότ, οπότε γιατί όχι και αυτό;

Βήμα 1: Λίστα μερών

Μέρη για να φτιάξετε ένα ενιαίο Blinky Light Thing. Τα NeoPixels γενικά έρχονται ως λωρίδα 1 μέτρου, η οποία είναι αρκετή για να χτίσει 2 κύβους με λίγο υπόλοιπο.

Αντανακλαστική ταινία από μεταλλικό φύλλο αλουμινίου - 3,38 $

Ακρυλικό φύλλο 8 "x 10" - 3,38 $

2 φύλλα αποθέματος κάρτας, 8,5 "x 11" - 3,99 $. Χρησιμοποίησα μπλε αλλά κάθε σκούρο χρώμα θα λειτουργούσε καλά.

Circuit Playground Classic - 20 $

Ενότητα HM -10 BLE - 4 $

Μικρό σύρμα μετρητή. Χρησιμοποίησα ένα ανακυκλωμένο καλώδιο κορδέλας - 1,77 $ από μια παλιά υποδοχή μονάδας δισκέτας.

Λωρίδα NeoPixel 1 μέτρου - 6 $ (30 led, χρειαζόμαστε μόνο 12)

3x θήκη μπαταρίας AAA - 140 $

Tacky Glue - 1,29 $ ή άλλη κόλλα για χαρτί

Ζεστή κόλλα

Απαιτούνται εργαλεία

Καλώδια απογύμνωσης ή προσεκτική χρήση ξυραφιού..

Ακρυλικό εργαλείο βαθμολόγησης ή κατάλληλη λεπίδα x-acto

Εργαλείο βαθμολόγησης για χαρτόνι ή ένα καλό στυλό

Σφιγκτήρες (διευκολύνει την κοπή ακρυλικού)

Χαράκτης ή άλλο εργαλείο που μοιάζει με Dremel.

Λεπτό χοντρό άμμο χαρτιού

Bic αναπτήρας (αν θέλετε να γυαλίσετε το ακρυλικό με φλόγα)

Γροθιά τρύπα

Βήμα 2: Ο κύβος

Ο κύβος
Ο κύβος
Ο κύβος
Ο κύβος
Ο κύβος
Ο κύβος
Ο κύβος
Ο κύβος

Το ολοκληρωμένο BLT είναι ένας κύβος, τετράγωνο 2,5 ". Αυτό το μέγεθος επιτεύχθηκε ως ένας καλός συμβιβασμός για να περιέχει το Circuit Playground (έναν κύκλο 2") και τα ακρυλικά πάνελ, τη θήκη μπαταρίας κ.λπ.

Οι πλευρές ενός κύβου μπορούν να τοποθετηθούν σε ένα φύλλο χαρτιού. Γνωρίζατε ότι υπάρχουν 11 διαφορετικοί τρόποι για να το κάνετε αυτό; Δεν το έκανα! Είχα επιπλέον περιορισμούς, όμως. Έπρεπε να χωρέσει σε ένα φύλλο χαρτιού/χαρτιού τυπικού μεγέθους (8,5 "x 11") και έπρεπε να διπλωθεί με τέτοιο τρόπο ώστε να ελαχιστοποιηθούν οι στροφές στην καλωδίωση. Το μοτίβο που επέλεξα ταιριάζει σχεδόν τέλεια για να φτιάξει τον κύβο 2,5 ιντσών. Επιτρέπει επίσης σε κάθε πλευρά του κύβου να έχει εξωτερικό και διπλωμένο, που σχηματίζει το πίσω μέρος κάθε ακρυλικού πάνελ.

Το εκτύπωσα (περιλαμβάνεται-p.webp

Βήμα 3: Πλαίσια λάμψης

Πλαίσια λάμψης
Πλαίσια λάμψης
Πλαίσια λάμψης
Πλαίσια λάμψης
Πλαίσια λάμψης
Πλαίσια λάμψης

Κάθε πλευρά του κύβου έχει ένα φωτεινό πάνελ με άκρη. Αυτά έχουν μέγεθος τετραγώνων 2 ιντσών, με περίπου 1/4 "επιπλέον στη μία πλευρά. Αυτό το επιπλέον κομμάτι θα είναι όπου είναι τοποθετημένα τα LED. Χρησιμοποίησα ακρυλικό πάχους 0,08" από τον Plaskolite, το οποίο αγόρασα στο Lowes το 8 x 10 φύλλα. Ένα φύλλο θα σας δώσει όλα τα μέρη για έναν κύβο. Θα μπορούσατε να κόψετε αυτά τα μέρη λέιζερ από μια υπηρεσία όπως το Ponoko, αλλά το έκανα με το χέρι.

Για να κόψετε τα μέρη, χρειάζεστε ένα εργαλείο βαθμολόγησης. Χρησιμοποίησα μία από τις λεπίδες από το κιτ x-acto μου. Έβαλα μια εκτύπωση από τα μέρη κάτω από το πλαστικό και στη συνέχεια σκόραρα σύμφωνα με τις γραμμές στην κορυφή. Πρέπει να σκεφτείτε ποιες γραμμές πρέπει να σπάσετε πρώτα επειδή πρέπει να σπάσετε το πλαστικό από τη μια άκρη στην άλλη. Δεν μπορείτε να το κάνετε αυτό για να κάνετε μια τρύπα, για παράδειγμα. Σας συνιστώ να σφίξετε το πλαστικό στην άκρη ενός τραπεζιού με τη γραμμή βαθμολογίας ακριβώς στην άκρη του επιτραπέζιου. Στη συνέχεια, με μια γρήγορη πίεση προς τα κάτω το πλαστικό θα σπάσει. Αυτό αφήνει μια σχετικά ομαλή άκρη, αλλά στη συνέχεια θα θέλετε να το τρίψετε όσο πιο επίπεδη μπορείτε.

Όλες οι άκρες στη συνέχεια τρίβονται με λεπτό τρίψιμο άμμου για να γίνουν όσο το δυνατόν πιο λείες, και επίσης ελαφρώς στρογγυλεμένες που θα βοηθήσουν να διατηρηθεί το φως που αντανακλάται στο εσωτερικό του πλαστικού. Τέλος, έχω "γυαλίσει" τις άκρες με έναν απλό αναπτήρα Bic. Σε μια άκρη (η μεγάλη διάσταση, IE, η επιπλέον 1/4 ίντσα) έχω τρίψει μια στρογγυλή λοξότμηση, η οποία θα βοηθήσει στην αντανάκλαση του φωτός προς το υπόλοιπο πλαίσιο. Αντί να στερεώσετε τις λυχνίες LED στην άκρη, κάτι που θα ήταν δύσκολο να γίνει σε αυτό το σχέδιο, τα led θα προσαρτηθούν στην άλλη πλευρά του λοξότμητου, στο ίδιο επίπεδο με την επιφάνεια του πίνακα.

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

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

Για τον πρώτο μου κύβο, χρησιμοποίησα ένα μοτίβο λέξεων Galifreyan για κάθε πλευρά. Εάν είστε λάτρης της επιστημονικής φαντασίας θα αναγνωρίσετε αμέσως τι είναι αυτά, ακόμα κι αν δεν ξέρετε τι λέει …:)

Βήμα 4: Διπλώστε

Δίπλωσε
Δίπλωσε
Δίπλωσε
Δίπλωσε
Δίπλωσε
Δίπλωσε
Δίπλωσε
Δίπλωσε

Τώρα θέλουμε να επισυνάψουμε τα πάνελ. Διαπίστωσα ότι η κολλώδης κόλλα δεν κολλούσε πραγματικά στο ακρυλικό. Κατέληξα να χρησιμοποιώ ταινία διπλής όψης. Μόλις ολοκλήρωσα τον κύβο συνειδητοποίησα ότι η ταινία διπλής όψης έτεινε επίσης να λάμπει, οπότε δεν ήταν καλή ιδέα να τη χρησιμοποιήσετε σε ολόκληρη την πίσω πλευρά του πίνακα, θα πρέπει να τοποθετήσετε μόνο στις τέσσερις γωνίες.

Σημειώστε τη διάταξη των πάνελ έτσι ώστε να μπορείτε να διπλώσετε και να καταλήξουν να βρίσκονται σωστά. Πίεσα προς τα κάτω στις άκρες των πάνελ για να τα περικλείσω με την κάρτα. Το Tacky Glue λειτουργεί υπέροχα καθώς πιάνει γρήγορα το χαρτί και το κρατάει.

Βήμα 5: Αισθητήρες

Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες

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

Όλοι οι αισθητήρες συνδέονται μεταξύ τους και γειώνονται με έναν κύκλο κομμένο στη μέση κάθε πίνακα και συνδεδεμένο με ένα σύρμα.

Ο πειραματισμός ήταν σημαντικός εδώ. Το πρώτο μου ταξίδι χρησιμοποίησα ένα απλό τετράγωνο φύλλο αλουμινόχαρτου. Αυτό λειτούργησε εντάξει όταν άγγιζε το φύλλο, αλλά δεν λειτούργησε καλά ή καθόλου όταν ήταν πίσω από το ακρυλικό. Για την επόμενη προσπάθειά μου, έκοψα έναν κύκλο στο κέντρο του αλουμινόχαρτου με ένα κενό περίπου 2 mm στο υπόλοιπο εξωτερικό φύλλο. Το καλώδιο αισθητήρα συνδέεται με το κέντρο ενώ το εξωτερικό φύλλο είναι γειωμένο. Αυτό λειτούργησε σημαντικά καλύτερα και ήταν ευαίσθητο πίσω από ακόμη και δύο στρώματα πλαστικού.

5 αισθητήρες είναι όλοι ίδιοι, αλλά ο έκτος αισθητήρας είναι εκεί που βρίσκεται το Circuit Playground. Wantedθελα να μπορώ να εξακολουθώ να χρησιμοποιώ τα εσωτερικά LED σε αυτόν τον πίνακα, οπότε, έγινε ένα μοτίβο και χρησιμοποιήθηκε για να κόψει κύκλους στο φύλλο, καθώς και την υποστήριξη των αποθεμάτων της κάρτας.

Βήμα 6: Blinky Light String

Blinky Light String
Blinky Light String
Blinky Light String
Blinky Light String
Blinky Light String
Blinky Light String
Blinky Light String
Blinky Light String

Στο αρχικό μου σχέδιο, αγόρασα μεμονωμένα LED 5050 SMT και τους κόλλησα σύρματα. Αυτό ήταν αμήχανο και περίπλοκο και το προκύπτον κορδόνι δεν ταιριάζει με την διπλωμένη με χαρτί έκδοση που κατέληξα να φτιάχνω. Έτσι αγόρασα ένα μήκος 1 μέτρου NeoPixels με 30 pixel ανά μέτρο. Αυτό ήταν σχεδόν το τέλειο διάστημα για να πάρετε δύο pixel ανά πάνελ. Το πρόβλημα είναι ότι θα έπρεπε να λυγίσω το κορδόνι γύρω από μια γωνία, ανεξάρτητα από το πώς έστρωσα τον κύβο. Η κάμψη θα ήταν επίσης μια σύνθετη κάμψη, όχι μόνο μια απλή πτυχή.

Μπορείτε να παραγγείλετε λωρίδες που έχουν σχήμα "S" που προορίζονται να διπλωθούν με τέτοιο τρόπο, αλλά δεν ήθελα να περιμένω ένα μήνα για να το παραγγείλω από την Κίνα. Έτσι πήρα τις τυπικές λωρίδες και έκοψα προσεκτικά τρεις οπές για να έχω μια πιο εύκαμπτη λωρίδα. Να είστε προσεκτικοί εδώ επειδή θέλετε να αφήσετε αρκετά ίχνη χαλκού έτσι ώστε να λειτουργεί ακόμα. Υπολόγισα πόση ισχύς θα χρησιμοποιούσε η λωρίδα και επομένως πόσο φαρδύ θα έπρεπε να είναι τα ίχνη, οπότε όσο θα έχει πλάτος περίπου 2 χιλιοστά θα πρέπει να είσαι καλά.

Ακόμα και με τις τρύπες, είναι λίγο δύσκολο να βάλεις τη λωρίδα στη θέση της. Κρατάται από ένα κομμάτι ζεστής κόλλας στη μέση μεταξύ κάθε LED. Δεδομένου ότι η λωρίδα είναι γυαλιστερή, μπορείτε εύκολα να την τραβήξετε από τη ζεστή κόλλα, οπότε προσέξτε. Είναι δύσκολο να το δεις, αλλά, για κάθε πτυχή, έδωσα στη λωρίδα led ένα ελαφρύ "λακκάκι" προς τα πάνω, έτσι ώστε όταν ο κύβος διπλωθεί να διπλωθεί προς τα μέσα. Αυτό είναι απαραίτητο γιατί διαφορετικά θα δυσκόλευαν το δίπλωμα, καθώς η λωρίδα είναι πολύ σκληρή.

Επίσης, βεβαιωθείτε ότι έχετε προσανατολίσει τη λωρίδα έτσι ώστε το άκρο εισόδου να βρίσκεται κοντά στον πίνακα όπου θα τοποθετηθεί η Παιδική χαρά κυκλώματος. Θα χρειαστεί να κολλήσετε τρία καλώδια στο τέλος της λωρίδας εδώ.

Βήμα 7: Ισχύς

Εξουσία
Εξουσία
Εξουσία
Εξουσία

Έχω χρησιμοποιήσει 3 μπαταρίες AAA για να πάρω 4,5V, το οποίο είναι περισσότερο από αρκετό για να τροφοδοτήσει το Circuit Playground (το οποίο θα ρυθμιστεί σε 3,3v για τη μονάδα BLE) και αρκετά για τη λωρίδα LED (ιδανικά, 5V, ώστε να μην να είναι όσο πιο φωτεινά θα μπορούσαν να είναι, αλλά είναι αρκετά καλά).

Χρησιμοποιώντας λίγο περισσότερο απόθεμα καρτών σε πράσινο χρώμα (μόνο για διασκέδαση) δημιούργησα ένα απλό κουτί γύρω από τις θήκες της μπαταρίας. Χρησιμοποίησα μια θήκη 2 x AAA και μια άλλη μονή θήκη AAA επειδή αυτό είχα στο χέρι. Το κουτί συγκράτησης της θήκης μπαταρίας θα κάνει μια ασφαλή τοποθέτηση για τις μπαταρίες και θα προσθέσει επίσης περισσότερη δύναμη στον τελικό κύβο.

Βήμα 8: Τα κυκλώματα

Τα Κυκλώματα
Τα Κυκλώματα

Για να ελέγξω τον κύβο, χρησιμοποίησα μια παιδική χαρά Adafruit Circuit. Αυτά είναι πιο ακριβά από ένα Arduino Nano ή Pro Mini, ωστόσο έχουν πολλά ενσωματωμένα καλούδια όπως το επιταχυνσιόμετρο και το ηχείο, το μικρόφωνο και δύο κουμπιά. Διαθέτει επίσης 10 NeoPixels στο πλοίο. Αρχικά είχα προγραμματίσει να χρησιμοποιήσω ακρυλικό για να δημιουργήσω σωλήνες φωτός που θα κάμπτονταν γύρω από τον κύβο για να ανακατευθύνουν το φως και στις έξι πλευρές. Αυτό έγινε πολύ περίπλοκο και στις δοκιμές φάνηκε ότι το φως δεν θα κατέληγε αρκετά φωτεινό, οπότε πήγα με τη λωρίδα NeoPixel. Τα ενσωματωμένα εικονοστοιχεία θα χρησιμοποιηθούν για άλλους δείκτες.

Η μονάδα HM-10 θέλει επίπεδα 3,3v για τη σειριακή επικοινωνία και δεδομένου ότι η Circuit Playground λειτουργεί επίσης στα 3,3v, δεν υπάρχει πρόβλημα να τα συνδέσετε απευθείας. Εάν χρησιμοποιούσαμε ένα άλλο είδος Arduino όπως ένα Nano ή Pro Mini που λειτουργεί σε 5V, θα θέλαμε να μειώσουμε αυτήν την τάση στην είσοδο RX στο HM-10 με δύο αντιστάσεις (διαχωριστή τάσης).

Επειδή χρησιμοποιούμε μονάδα bluetooth για επικοινωνία μεταξύ κύβων, μας μένουν μόλις έξι γραμμές εισόδου/εξόδου, μία για κάθε χωρητικό αισθητήρα για τις πλευρές του κύβου. Αυτό δεν αφήνει κανένα I/O για τα εξωτερικά NeoPixels. Λόγω του αυστηρού χρονισμού που απαιτείται για τον προγραμματισμό των NeoPixels, μπορούμε να ξεφύγουμε με τη χρήση ενός πείρου τόσο για τα εικονοστοιχεία όσο και για έναν αισθητήρα. Ελέγχουμε περιοδικά τον αισθητήρα και στη συνέχεια, όταν χρειάζεται, χρησιμοποιήστε τον πείρο για να προγραμματίσετε τα εικονοστοιχεία. Τα pixel δεν παρατηρούν πραγματικά τον αισθητήρα και φυσικά ο αισθητήρας δεν ενδιαφέρεται για τους παλμούς προγραμματισμού. Θεωρητικά ο αισθητήρας προσθέτει χωρητικότητα στη γραμμή που θα μπορούσε να επηρεάσει τα εικονοστοιχεία, αλλά, δεν φαίνεται να είναι αρκετός για να προκαλέσει πρόβλημα.

Αυτό που συμβαίνει, ωστόσο, είναι ένα θέμα κωδικοποίησης. Δεδομένου ότι ο χωρητικός αισθητήρας είναι μια είσοδος, ο κώδικας θέτει τον πείρο στη λειτουργία εισόδου. Όταν προσπαθείτε να ελέγξετε τα NeoPixels, δεν λειτουργεί. Απλώς η μη αυτόματη επαναφορά του πείρου στη λειτουργία εξόδου διορθώνει το πρόβλημα.

Το διάγραμμα Fritzing δείχνει μια μονάδα bluetooth HC-05, αλλά στην πραγματικότητα χρησιμοποιούμε μια μονάδα HM-10 BLE, η οποία έχει το ίδιο pinout. Δείχνει επίσης 4 μπαταρίες ΑΑΑ, αλλά χρειαζόμασταν μόνο 3. Τέλος, οι χωρητικοί αισθητήρες δεν είναι προκατασκευασμένοι αλλά κατασκευασμένοι από ταινία αλουμινόχαρτου … το διάγραμμα χρησιμεύει κυρίως για να δείξει πώς συνδέονται όλα. Τα καλώδια ομαδοποιούνται για να δείξουν πώς χρησιμοποιήθηκε το καλώδιο κορδέλας.

Βήμα 9: Ενότητα BLE

Ενότητα BLE
Ενότητα BLE
Ενότητα BLE
Ενότητα BLE

Πρέπει να διαμορφώσουμε την ασύρματη μονάδα BLE. Ο ευκολότερος τρόπος για να γίνει αυτό είναι με έναν απλό προγραμματιστή FTDI, ο οποίος επίσης χρησιμοποιείται συνήθως για τον προγραμματισμό Arduino που δεν διαθέτουν ενσωματωμένο USB (όπως ένα Pro Mini, για παράδειγμα). Μπορείτε να τα πάρετε για λίγα δολάρια. Θα θελήσετε να συνδέσετε τις συνδέσεις Gnd και Vcc στη μονάδα BLE και τις συνδέσεις RX και TX, αλλά αυτές αλλάζουν. Έτσι, το RX στη μία πλακέτα πηγαίνει στο TX στον άλλο πίνακα. Αυτό έχει νόημα επειδή ο ένας πίνακας μεταδίδει στον άλλο πίνακα Λήψη.

Όταν συνδέετε το USB του FTDI στον υπολογιστή σας, θα πρέπει να μπορείτε να συνδεθείτε σε αυτό μέσω της σειριακής οθόνης στο Arduino IDE (χρησιμοποιώ την ηλεκτρονική έκδοση στη διεύθυνση https://create.arduino.cc/editor). Θα πρέπει να ορίσετε το Baud στο 9600 αν δεν είναι ήδη.

Για να βεβαιωθείτε ότι λειτουργεί, πληκτρολογήστε:

ΣΤΟ+ΟΝΟΜΑ;

και πατήστε το κουμπί Αποστολή. Θα πρέπει να λάβετε μια απάντηση με το τρέχον όνομα της συσκευής (+NAME = οτιδήποτε). Το δικό μου ονομάστηκε αρχικά BT-05 το οποίο είναι διαφορετικό module (AT-09 *) από το τυπικό HM-10, αλλά στη φωτογραφία μπορείτε να δείτε το έχω μετονομάσει ήδη σε BLT (το όνομα περιορίζεται σε 12 χαρακτήρες.. Το "Blinky Light Thing" δεν θα λειτουργούσε). Για να το μετονομάσετε, πληκτρολογήστε:

AT+NAME = BLT

Και μετά έπρεπε να το επαναφέρω για να εμφανιστεί το όνομα:

AT+RESET

Επειδή φτιάχνουμε πολλούς κύβους που πρέπει να μιλούν μεταξύ τους, ένας από τους κύβους πρέπει να είναι ο "κύριος" (ή "κεντρικός" στις προδιαγραφές BLE) και να ελέγχει/να μιλά με τους άλλους κύβους ("σκλάβοι" ή "περιφερειακά"). Για να γίνει αυτό, για τον κύριο πρέπει να στείλουμε αυτές τις εντολές (οι μονάδες είναι προεπιλεγμένες σε slave/peripheral).

AT+IMM0

AT+ROLE1

Αυτό λέει στην ενότητα να συνδεθεί αυτόματα (η πρώτη εντολή) και στη συνέχεια να είναι μια "κεντρική" συσκευή (η δεύτερη εντολή).

* Σημείωση

Οι μονάδες μου ήταν μονάδες AT-09 (ο μεγαλύτερος πίνακας "breakout") με ένα HM-10 (ο μικρότερος πίνακας) κολλημένο πάνω του. Το πραγματικό τσιπ που κάνει όλη τη δουλειά είναι ένα Texas Instruments CC2541. Υπάρχουν πολλές παραλλαγές αυτών των ενοτήτων, οπότε προσέξτε τι παραγγέλνετε. Θέλετε να βρείτε γνήσιες ενότητες από τον Jinan Huamao.

Το δικό μου περιείχε επίσης ένα υλικολογισμικό που δεν μπορούσα να προσδιορίσω και έτσι δεν ανταποκρίθηκε σε όλες σχεδόν τις ενδιαφέρουσες εντολές AT. Έπρεπε να το επαναφέρω στο υλικολογισμικό από τον Jinan Huamao (https://www.jnhuamao.cn/download_rom_en.asp?id=). Εάν καταλήξετε σε ένα από αυτά, εδώ είναι η διαδικασία για να το "διορθώσετε", (https://forum.arduino.cc/index.php?topic=393655.0)

Βήμα 10: Τελική καλωδίωση

Τελική καλωδίωση
Τελική καλωδίωση
Τελική καλωδίωση
Τελική καλωδίωση
Τελική καλωδίωση
Τελική καλωδίωση

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

Έχω χρησιμοποιήσει τελείες ζεστής κόλλας για να συγκρατήσω τα πράγματα ή σε ορισμένα σημεία απλά περισσότερη ταινία αλουμινόχαρτου. Το Circuit Playground συγκρατείται με ένα άλλο διπλωμένο κομμάτι χαρτιού.

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

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

Πριν ολοκληρώσετε οτιδήποτε, δοκιμάστε πάντα τα πράγματα για να δείτε πώς λειτουργεί (αν λειτουργεί!).

Ακόμα και πριν συναρμολογήσω οτιδήποτε, ήθελα να δοκιμάσω τους αισθητήρες και επίσης τη χορδή LED. Επειδή μία ακίδα πρέπει να μοιραστεί μεταξύ της συμβολοσειράς LED και ενός αισθητήρα, αυτό ήταν το πρώτο πράγμα που δοκίμασα. Εκεί ανακάλυψα ότι δεν λειτουργούσε, αλλά ότι ο λόγος ήταν μόνο ότι ο κοινόχρηστος πείρος έπρεπε να επανέλθει σε έναν πείρο εξόδου μετά τη χρήση του αισθητήρα.

Ο πρώτος αισθητήρας που δοκίμασα ήταν ένα απλό τετράγωνο φύλλο. Αυτό λειτούργησε, αλλά όχι πολύ ευαίσθητο. Το Circuit Playground έχει διαμορφωθεί για να επιτρέπει την χωρητική αφή απευθείας στα μαξιλάρια του (μέσω μικρότερης αντίστασης). Δυστυχώς, για να αποκτήσετε περισσότερη ευαισθησία χρειάζεστε μεγαλύτερη αντίσταση, αλλά δεν μπορούμε να αλλάξουμε αυτό που υπάρχει ήδη στον πίνακα. Το δεύτερο τεστ μου χρησιμοποίησα έναν κυκλικό αισθητήρα στη μέση του τετραγώνου αλουμινόχαρτου με περίπου 2 χιλιοστά αφαιρεμένου φύλλου, με το υπόλοιπο φύλλο γειωμένο. Αυτό έκανε έναν πολύ πιο ευαίσθητο αισθητήρα που λειτουργούσε ακόμη και πίσω από τα ακρυλικά πάνελ.

Δυστυχώς, μετά τη συναρμολόγηση ολόκληρου αλλά σε "επίπεδη" μορφή, δοκίμασα ξανά τους αισθητήρες και δεν λειτούργησαν καλά, απαιτώντας άμεση επαφή με το φύλλο. Πιστεύω ότι αυτό είναι το αποτέλεσμα της παρασιτικής χωρητικότητας στο καλώδιο κορδέλας, κάτι που δεν είχα σκεφτεί.

Βήμα 12: Επανασχεδιασμός αισθητήρων

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

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

Επιπλέον, διαχώρισα τα καλώδια από τη μονάδα BLE μακριά από τα καλώδια του αισθητήρα, ώστε να μην παρεμβαίνουν.

Ακόμα, ο αισθητήρας δεν ανιχνεύει άγγιγμα πίσω από την ακρυλική οθόνη. Τέλος, αποφάσισα ότι το ενσωματωμένο σύστημα ανίχνευσης χωρητικότητας του Circuit Playground δεν θα λειτουργήσει. Σχεδιάστηκε για άμεσο άγγιγμα, και έτσι έχει μια αντίσταση 1 megohm σε κάθε είσοδο. Δεδομένου ότι δεν μπορώ να το αλλάξω και δεν υπήρχαν άλλες διαθέσιμες ακίδες, έπρεπε να εντοπίσω χωρητικότητα με μόνο έναν πείρο και εξωτερική αντίσταση.

Πρόσθεσα μια αντίσταση 10 megohm σε κάθε είσοδο, συνδεδεμένη με ακίδα 3.3v και άλλαξα σε μια χωρητική βιβλιοθήκη αισθητήρων που λειτουργεί σε έναν μόνο πείρο. Ο λόγος που αυτό κάνει τον αισθητήρα πιο ευαίσθητο είναι ότι η υψηλότερη αντίσταση τον κάνει να φορτίζεται πιο αργά, επιτρέποντας μια ακριβέστερη μέτρηση.

Βήμα 13: Κωδικός

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

Βήμα 14: Η τελική πάσο

Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή
Η τελική πτυχή

Τώρα που έχουμε τα πάντα προσαρτημένα και δοκιμασμένα, μπορούμε να κάνουμε τις τελευταίες πτυχές που μετατρέπουν αυτή τη δισδιάστατη δημιουργία σε έναν τρισδιάστατο κύβο. Ξεκινώντας από τη μεγάλη διάσταση του συγκροτήματος, διπλώστε τις τρεις εσωτερικές πτυχώσεις και, στη συνέχεια, βάλτε τη γλωττίδα στην υποδοχή, σχηματίζοντας το κύριο σώμα του κύβου. Κολλήστε το με Tacky Glue. Στη συνέχεια, διπλώστε το επάνω πλαίσιο (αυτό με το Circuit Playground) στον κύβο, βάζοντας τις γλωττίδες στις υποδοχές. Θα πρέπει να το κολλήσετε στη θέση του, επειδή πιθανότατα θα χρειαστεί να το ανοίξετε για σκοπούς επαναπρογραμματισμού.

Η τελευταία πλευρά, η οποία λειτουργεί ως κάλυμμα για τις μπαταρίες, δεν πρέπει να κολληθεί, αλλά χρειάζεται κάποια ταινία ή κάτι για να τη συγκρατήσει. Σε έναν επόμενο σχεδιασμό, θα μπορούσε να έχει μια καρτέλα κλειδώματος που θα τοποθετηθεί στην κύρια καρτέλα για να την κρατήσει στη θέση της, όπως χρησιμοποιούν πολλά πακέτα προϊόντων.

Θα πρέπει τώρα να έχετε ένα πλήρως λειτουργικό Blinky Light Thing!

Βήμα 15: Το μέλλον

Αυτό ήταν το πρωτότυπο του Blinky Light Thing. Ο στόχος είναι να φτιάξουμε αρκετούς ακόμα κύβους. Οι κύβοι θα μπορούν να επικοινωνούν μεταξύ τους και θα επιτρέπουν παιχνίδια που παίζονται με πολλούς κύβους ή / και πολλούς παίκτες. Ο τελικός σχεδιασμός θα πρέπει να είναι ένας ωραίος ακρυλικός κύβος κομμένος με λέιζερ ή πιθανώς ένα σώμα με τρισδιάστατη εκτύπωση με ακρυλικά πάνελ. Θα ήθελα να το φτιάξω σαν κιτ και να είναι αρκετά απλό για να το φτιάξω για ένα παιδί. Τα κυκλώματα αισθητήρων LED μπορούν να ενσωματωθούν σε ένα εύκαμπτο PCB για να είναι πολύ πιο απλό στην κατασκευή.

Or ποιος ξέρει, ίσως θα μπορούσε να κατασκευαστεί ως παιχνίδι; Πρέπει να παίξω να το δοκιμάσω με τον κόσμο για να δω τι σκέφτονται. Readyδη ως πρωτότυπο έχω αρκετά παιδιά και ενήλικες που θέλουν να παίξουν με αυτό και ρωτούν τι είναι..

Συνιστάται: