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

Πλανητάριο/Orrery με δυνατότητα Bluetooth: 13 βήματα (με εικόνες)
Πλανητάριο/Orrery με δυνατότητα Bluetooth: 13 βήματα (με εικόνες)

Βίντεο: Πλανητάριο/Orrery με δυνατότητα Bluetooth: 13 βήματα (με εικόνες)

Βίντεο: Πλανητάριο/Orrery με δυνατότητα Bluetooth: 13 βήματα (με εικόνες)
Βίντεο: What Is An Orrery? A Working 18th Century Orrery 2024, Ιούλιος
Anonim
Πλανητάριο/Orrery με δυνατότητα Bluetooth
Πλανητάριο/Orrery με δυνατότητα Bluetooth

Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει την απαίτηση έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com).

Αυτό είναι το πλανητάρι/ορυχείο 3 πλανητών μου. Ξεκίνησε ως ένα εξάμηνο για το Makecourse, αλλά μέχρι να ολοκληρωθεί το τέλος του εξαμήνου, μετατράπηκε σε μια εξαιρετικά πολύτιμη μαθησιακή εμπειρία. Όχι μόνο έμαθα τα βασικά των μικροελεγκτών, αλλά μου έμαθε επίσης πολλά ενδιαφέροντα πράγματα για το C και το C ++, την πλατφόρμα Android, τη συγκόλληση και τις ηλεκτρονικές εργασίες γενικά.

Η βασική λειτουργία του Πλανηταρίου είναι η εξής: ανοίξτε μια εφαρμογή στο τηλέφωνό σας, συνδεθείτε στο Πλανητάριο, επιλέξτε μια ημερομηνία, πατήστε αποστολή και παρακολουθήστε το Πλανητάριο να μετακινεί τον Ερμή, την Αφροδίτη και τη Γη στα σχετικά ηλιοκεντρικά μήκη τους εκείνη την ημερομηνία. Μπορείτε να πάτε πίσω μέχρι το 1 μ. Χ./Κ. Χ., και μέχρι το 5000 μ. Χ./Κ. Ε., αν και η ακρίβεια μπορεί να μειωθεί ελαφρώς καθώς πηγαίνετε μπροστά ή πίσω για περίπου 100 χρόνια περίπου.

Σε αυτό το Instructable, θα εξηγήσω πώς να συναρμολογήσετε τους πλανήτες, το σύστημα ταχυτήτων που τους οδηγεί, την πλακέτα κυκλώματος που συνδέει τα πάντα μαζί και τον κώδικα Android και C ++ (Arduino) που ελέγχει τους πλανήτες.

Αν θέλετε να προχωρήσετε στον κώδικα, όλα βρίσκονται στο GitHub. Ο κώδικας Arduino είναι εδώ και ο κώδικας Android είναι εδώ.

Βήμα 1: Μέρη και εργαλεία

Φυσικά μέρη

  • 1 περίβλημα DC -47P DC Series Heavy Duty Electronics - 9,58 $
  • 0,08 "(2mm) Ακρυλικό/φύλλο PMMA, τουλάχιστον 6" x 6 "(15cm x 15cm) - 2,97 $
  • 3 28BYJ -48 Unipolar Stepper Motors - 6,24 $
  • Glow in the Dark Planets - 8,27 $ (Δείτε τη σημείωση 1)
  • Glow in the Dark Stars - 5,95 $ (προαιρετικά)

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

  • 3 ULN2003 Stepper Motor Drivers - 2,97 $
  • 1 Atmel ATMega328 (P) - 1,64 $ (Βλέπε σημείωση 2)
  • 1 HC -05 Bluetooth σε σειριακή μονάδα - 3,40 $
  • 1 16MHz Crystal Oscillator - 0,78 $ για 10
  • 1 υποδοχή IC DIP-28 0,99 $ για 10
  • 1 κομμάτι Stripboard (βήμα = 0,1 ", μέγεθος = 20 σειρές μήκους 3,5") - 2,48 $ για 2
  • 1 πάνελ Mount DC Supply Jack, Γυναικείο (5,5mm OD, 2,1mm ID) - 1,44 $ για 10
  • 2 πυκνωτές 22pF 5V - 3,00 $ για 100 (βλ. Σημείωση 3)
  • 2 πυκνωτής 1,0 μF - 0,99 $ για 50
  • 1 αντίσταση 10kΩ - 0,99 $ για 50

Εργαλεία

  • Ανταλλακτικό Arduino ή AVR ISP - Θα το χρειαστείτε για να προγραμματίσετε το τσιπ ATMega
  • Κατσαβίδια - για την αφαίρεση του αποθέματος ATMega από το Arduino
  • Πολύμετρο - ή τουλάχιστον μετρητής συνέχειας
  • Σφυρί - για να διορθώσετε οτιδήποτε δεν έχει γίνει με τον σωστό τρόπο
  • Τρυπάνι με τρυπάνια 5/16 ", 7/16" και 1 3/8"
  • Μικρά αποσπάσματα - για περικοπή καλωδίων εξαρτημάτων
  • 22 καλώδια από χαλκό AWG (εξαιρετική τιμή και πολλές επιλογές εδώ)
  • Συγκολλητικό - Χρησιμοποιώ 60/40 με πυρήνα κολοφώνιο. Διαπίστωσα ότι η λεπτή συγκόλληση (<0,6mm) κάνει τα πράγματα πολύ πιο εύκολα. Μπορείτε πραγματικά να βρείτε κολλήσεις οπουδήποτε, αλλά αυτό είναι αυτό με το οποίο είχα επιτυχία.
  • Ροή - Μου αρέσουν πολύ αυτά τα στυλό ροής, αλλά μπορείτε πραγματικά να χρησιμοποιήσετε οποιαδήποτε μορφή ροής, αρκεί να είναι χωρίς οξέα.
  • Συγκολλητικό σίδερο/σταθμός - Μπορείτε να τα πάρετε για αρκετά φθηνά στο eBay και το Amazon, αν και να είστε προειδοποιημένοι: η απογοήτευση ποικίλλει αντίστροφα με την τιμή. Το φθηνό μου ($ 25) Stahl SSVT διαρκεί για πάντα για να ζεσταθεί, δεν έχει σχεδόν καμία θερμική ικανότητα και υπάρχει ένας ηχητικός βομβητής 60 Hz που προέρχεται από το θερμαντικό στοιχείο. Δεν είμαι σίγουρος πώς νιώθω γι 'αυτό.
  • Βοηθητικό χέρι - Αυτά είναι ανεκτίμητα εργαλεία που είναι σχεδόν απαραίτητα για τη συγκόλληση και βοηθούν όταν πρόκειται να κολλήσετε τους πλανήτες στις ακρυλικές ράβδους.
  • Epoxy - Χρησιμοποίησα το Loctite Epoxy για τα πλαστικά, το οποίο λειτούργησε αρκετά καλά. Όταν έριξα έναν από τους βραχίονες του πλανήτη (συνδεδεμένος με έναν πλανήτη) σε σκυρόδεμα κατά λάθος, η εποξική δεν συγκρατούσε τα δύο μέρη μαζί. Αλλά και πάλι, του είχα δώσει μόνο περίπου 15 από τις συνιστώμενες 24 ώρες για πλήρη θεραπεία. Maybeσως λοιπόν να μην είχε διαλυθεί διαφορετικά, αλλά δεν μπορώ να πω. Ανεξάρτητα από αυτό, μπορείτε να χρησιμοποιήσετε σχεδόν κάθε κόλλα ή κόλλα που χρειάζεται περισσότερο από λίγα λεπτά για να ωριμάσει, καθώς μπορεί να χρειαστεί να κάνετε μικρές ρυθμίσεις για λίγο μετά την εφαρμογή της κόλλας.
  • Οδοντογλυφίδες - Θα χρειαστείτε αυτές (ή οποιονδήποτε αναδευτήρα μιας χρήσης) για εποξειδική ή οποιαδήποτε κόλλα 2 μερών, εκτός αν συνοδεύεται από απλικατέρ που αναμιγνύει τα δύο μέρη για εσάς.
  • Τρισδιάστατος εκτυπωτής - Τα χρησιμοποίησα για να εκτυπώσω μερικά από τα μέρη του συστήματος ταχυτήτων (περιλαμβάνονται αρχεία), αλλά αν μπορείτε να κατασκευάσετε αυτά τα μέρη χρησιμοποιώντας άλλες (ίσως λιγότερο τεμπέλικες) μεθόδους, τότε αυτό δεν είναι απαραίτητο.
  • Laser Cutter - Το χρησιμοποίησα για να φτιάξω τους καθαρούς βραχίονες που κρατούν τους πλανήτες ψηλά. Όπως και στο προηγούμενο σημείο, εάν μπορείτε να φτιάξετε τα μέρη χρησιμοποιώντας άλλη μέθοδο (μπορούν εύκολα να κοπούν χρησιμοποιώντας άλλες μεθόδους), τότε αυτό δεν είναι απαραίτητο.

Λογισμικό

  • Θα χρειαστείτε είτε το Arduino IDE είτε ανεξάρτητες εκδόσεις των AVR-GCC και AVRDude
  • Android Studio ή Android Tools for Eclipse (το οποίο έχει καταργηθεί). Αυτό μπορεί να είναι προαιρετικό σύντομα, καθώς ενδέχεται να ανεβάσω ένα μεταγλωττισμένο APK στο Play Store

Συνολικό κόστος

Το συνολικό κόστος όλων των εξαρτημάτων (μείον τα εργαλεία) είναι περίπου $ 50. Ωστόσο, πολλές από τις αναγραφόμενες τιμές αφορούν περισσότερα από 1 τεμάχια το καθένα. Εάν υπολογίζετε μόνο το ποσό κάθε στοιχείου που χρησιμοποιείται για αυτό το έργο, το πραγματικό συνολικό κόστος είναι περίπου $ 35. Το πιο ακριβό είδος είναι το περίβλημα, σχεδόν στο ένα τρίτο του συνολικού κόστους. Για το μάθημα MAKE, μας ζητήθηκε να ενσωματώσουμε το κουτί στα σχέδια του έργου μας, οπότε ήταν απαραίτητο. Αλλά αν ψάχνετε έναν εύκολο τρόπο για να μειώσετε το κόστος σε αυτό το έργο, ελέγξτε τον τοπικό σας λιανοπωλητή. πιθανότατα θα έχουν μια καλή επιλογή κουτιών που είναι φθηνότερα από το τυπικό "περίβλημα ηλεκτρονικών". Μπορείτε επίσης να φτιάξετε τους δικούς σας πλανήτες (οι ξύλινες σφαίρες είναι μια δεκάρα) και να ζωγραφίσετε τα αστέρια αντί να χρησιμοποιείτε προκατασκευασμένα πλαστικά. Θα μπορούσατε να ολοκληρώσετε αυτό το έργο με λιγότερο από $ 25!

Σημειώσεις

  1. Μπορείτε επίσης να χρησιμοποιήσετε ό, τι θέλετε ως "πλανήτες". Θα μπορούσατε ακόμη και να βάψετε τη δική σας!
  2. Είμαι αρκετά βέβαιος ότι είτε αυτά τα τσιπ δεν προφορτώθηκαν με το πρόγραμμα εκκίνησης Arduino R3 όπως είπαν, είτε πρέπει να υπήρξε κάποιο σφάλμα προγραμματισμού. Ανεξάρτητα από αυτό, θα κάψουμε ένα νέο bootloader σε μεταγενέστερο βήμα.
  3. Θα συνιστούσα ανεπιφύλακτα την αποθήκευση σε διάφορα πακέτα/ποικιλία αντιστάσεων και πυκνωτών (κεραμικά και ηλεκτρολυτικά). Είναι πολύ φθηνότερο με αυτόν τον τρόπο και μπορείτε επίσης να ξεκινήσετε γρήγορα ένα έργο χωρίς να χρειάζεται να περιμένετε να φτάσει μια συγκεκριμένη τιμή.

Βήμα 2: Κατασκευή του συστήματος ταχυτήτων

Κατασκευή του συστήματος ταχυτήτων
Κατασκευή του συστήματος ταχυτήτων
Κατασκευή του συστήματος ταχυτήτων
Κατασκευή του συστήματος ταχυτήτων
Κατασκευή του συστήματος ταχυτήτων
Κατασκευή του συστήματος ταχυτήτων

Ουσιαστικά, όλες οι κοίλες στήλες φωλιάζουν το ένα μέσα στο άλλο και εκθέτουν τα γρανάζια τους σε διαφορετικά ύψη. Στη συνέχεια, καθένας από τους βηματικούς κινητήρες τοποθετείται σε διαφορετικό ύψος, ο καθένας οδηγεί διαφορετική στήλη. Η σχέση μετάδοσης είναι 2: 1, που σημαίνει ότι κάθε βηματικό μοτέρ πρέπει να κάνει δύο πλήρεις περιστροφές πριν η στήλη του κάνει μία.

Για όλα τα μοντέλα 3D, έχω συμπεριλάβει αρχεία STL (για εκτύπωση) καθώς και αρχεία εξαρτημάτων και συναρμολόγησης Inventor (ώστε να μπορείτε να τα τροποποιήσετε ελεύθερα). Από το φάκελο εξαγωγών, θα χρειαστεί να εκτυπώσετε 3 βηματικά γρανάζια και 1 από όλα τα άλλα. Τα μέρη δεν χρειάζονται μια εξαιρετικά λεπτή ανάλυση στον άξονα z, αν και ένα επίπεδο κρεβάτι είναι σημαντικό έτσι ώστε τα βηματικά γρανάζια να ταιριάζουν άνετα με το πάτημα, αλλά όχι τόσο σφιχτά ώστε να είναι αδύνατο να ανέβουν και να κατεβούν. Συμπλήρωση περίπου 10% -15% φάνηκε να λειτουργεί μια χαρά.

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

Μόλις ασφαλίσουν στις θήκες τους, ρίξτε τη στήλη Ερμή (η ψηλότερη και λεπτότερη) στη στήλη βάσης, ακολουθούμενη από την Αφροδίτη και τη Γη. Ρυθμίστε τα σκαλοπάτια έτσι ώστε να ταιριάζουν καλά με καθένα από τα τρία μεγαλύτερα γρανάζια και έτσι ώστε να έρχονται σε επαφή μόνο με την κατάλληλη ταχύτητα.

Βήμα 3: Κοπή λέιζερ και κόλληση των ακρυλικών ράβδων

Κοπή και κόλληση με λέιζερ των ακρυλικών ράβδων
Κοπή και κόλληση με λέιζερ των ακρυλικών ράβδων
Κοπή και κόλληση με λέιζερ των ακρυλικών ράβδων
Κοπή και κόλληση με λέιζερ των ακρυλικών ράβδων

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

Χάρη σε έναν φοβερό χώρο κατασκευής στο σχολείο μου, το DfX Lab, μπόρεσα να χρησιμοποιήσω τον κόφτη λέιζερ 80W CO2 για να κόψω τις ακρυλικές ράβδους. Ταν μια αρκετά απλή διαδικασία. Εξήγαγα το σχέδιο Inventor ως pdf και μετά άνοιξα και "εκτύπωσα" το pdf στο πρόγραμμα οδήγησης εκτυπωτή Retina Engrave. Από εκεί, ρύθμισα το μέγεθος και το ύψος του μοντέλου (TODO), έθεσα τις ρυθμίσεις ισχύος (2 περάσματα @ 40% ισχύος έκανε τη δουλειά) και άφησα τον κόφτη λέιζερ να κάνει τα υπόλοιπα.

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

Μόλις γίνει αυτό, θα πρέπει να κολλήσετε τις ράβδους σε κάθε έναν από τους πλανήτες. Το έκανα με το Loctite Epoxy for Plastics. Είναι ένα εποξειδικό 2 μερών που δέχεται σε περίπου 5 λεπτά, θεραπεύεται κυρίως μετά από μία ώρα και θεραπεύεται πλήρως μετά από 24 ώρες. Wasταν το τέλειο χρονοδιάγραμμα, αφού ήξερα ότι θα χρειαστεί να προσαρμόσω τις θέσεις των εξαρτημάτων για λίγο μετά την εφαρμογή του εποξικού. Επίσης, συνιστάται ειδικά για ακρυλικά υποστρώματα.

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

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

Μόλις το εποξείδιο έχει ωριμάσει πλήρως (είχα μόνο χρόνο να του δώσω περίπου 15 ώρες για να θεραπευτεί, αλλά 24 ώρες είναι αυτό που συνιστάται) μπορείτε να αφαιρέσετε το συγκρότημα από το χέρι βοήθειας και να δοκιμάσετε την προσαρμογή στις στήλες του πλανήτη. Το πάχος των ακρυλικών φύλλων που χρησιμοποίησα ήταν 2,0mm, οπότε έκανα τρύπες ίσου μεγέθους στις κολόνες του πλανήτη. Wasταν μια εξαιρετικά σφιχτή εφαρμογή, αλλά ευτυχώς, με λίγο τρίψιμο, μπόρεσα να γλιστρήσω τις στήλες προς τα μέσα.

Βήμα 4: Χρησιμοποιώντας τις εντολές AT για να αλλάξετε τις ρυθμίσεις της μονάδας Bluetooth

Χρησιμοποιώντας τις εντολές AT για να αλλάξετε τις ρυθμίσεις της μονάδας Bluetooth
Χρησιμοποιώντας τις εντολές AT για να αλλάξετε τις ρυθμίσεις της μονάδας Bluetooth

Αυτό το βήμα μπορεί να φαίνεται λίγο εκτός λειτουργίας, αλλά είναι πολύ πιο εύκολο αν το κάνετε πριν κολλήσετε τη μονάδα bluetooth HC-05 στον πίνακα.

Όταν αποκτήσετε το HC-05, πιθανότατα θα θέλετε να αλλάξετε ορισμένες εργοστασιακές ρυθμίσεις, όπως όνομα συσκευής (τυπικά "HC-05"), κωδικό πρόσβασης (συνήθως "1234") και ρυθμό baud (ο δικός μου προγραμματίστηκε στα 9600 baud) Το

Ο ευκολότερος τρόπος για να αλλάξετε αυτές τις ρυθμίσεις είναι η άμεση διασύνδεση με τη μονάδα από τον υπολογιστή σας. Για αυτό, θα χρειαστείτε μετατροπέα USB σε TTL UART. Εάν έχετε ένα ξαπλωμένο, μπορείτε να το χρησιμοποιήσετε. Μπορείτε επίσης να χρησιμοποιήσετε αυτόν που συνοδεύεται από κάρτες Arduino που δεν είναι USB (Uno, Mega, Diecimila, κλπ). Τοποθετήστε προσεκτικά ένα μικρό κατσαβίδι επίπεδης κεφαλής μεταξύ του τσιπ ATMega και της υποδοχής του στην πλακέτα Arduino και, στη συνέχεια, τοποθετήστε την επίπεδη κεφαλή από την άλλη πλευρά. Σηκώστε προσεκτικά το τσιπ λίγο από κάθε πλευρά μέχρι να χαλαρώσει και να αφαιρεθεί από την πρίζα.

Τώρα η μονάδα bluetooth μπαίνει στη θέση της. Με το arduino αποσυνδεδεμένο από τον υπολογιστή σας, συνδέστε το Arduino RX στο HC-05 RX και το TX στο TX. Συνδέστε το Vcc στο HC-05 σε 5V στο Arduino και το GND στο GND. Τώρα συνδέστε τον ακροδέκτη κατάστασης/κλειδιού στο HC-05 μέσω αντίστασης 10k στο Arduino 5V. Το τράβηγμα του πείρου κλειδιού ψηλά είναι αυτό που σας επιτρέπει να εκδίδετε εντολές AT για να αλλάξετε τις ρυθμίσεις στη μονάδα bluetooth.

Τώρα, συνδέστε το arduino στον υπολογιστή σας και τραβήξτε το Serial Monitor από το Arduino IDE ή ένα TTY από τη γραμμή εντολών ή ένα πρόγραμμα εξομοιωτή τερματικού όπως το TeraTerm. Αλλάξτε τον ρυθμό baud σε 38400 (η προεπιλογή για επικοινωνίες AT). Ενεργοποιήστε το CRLF (στη σειριακή οθόνη αυτή είναι η επιλογή "Και το CR και το LF", εάν χρησιμοποιείτε τη γραμμή εντολών ή άλλο πρόγραμμα, αναζητήστε πώς να το κάνετε αυτό). Η μονάδα επικοινωνεί με 8 bit δεδομένων, 1 bit stop, χωρίς bit ισοτιμίας και χωρίς έλεγχο ροής (εάν χρησιμοποιείτε το Arduino IDE, δεν χρειάζεται να ανησυχείτε για αυτό).

Τώρα πληκτρολογήστε "AT" ακολουθούμενο από επιστροφή άμαξας και νέα γραμμή. Θα πρέπει να πάρετε πίσω την απάντηση "ΟΚ". Εάν δεν το κάνετε, ελέγξτε την καλωδίωση και δοκιμάστε διαφορετικούς ρυθμούς baud.

Για να αλλάξετε το όνομα της συσκευής τύπου "AT+NAME =", πού είναι το όνομα που θέλετε να εκπέμπει το HC-05 όταν άλλες συσκευές προσπαθούν να συζευχθούν με αυτό.

Για να αλλάξετε τον κωδικό πρόσβασης, πληκτρολογήστε "AT+PSWD =".

Για να αλλάξετε τον ρυθμό baud, πληκτρολογήστε "AT+UART =".

Για την πλήρη λίστα των εντολών AT, δείτε αυτό το φύλλο δεδομένων.

Βήμα 5: Σχεδιάζοντας το κύκλωμα

Σχεδιάζοντας το κύκλωμα
Σχεδιάζοντας το κύκλωμα

Ο σχεδιασμός του κυκλώματος ήταν αρκετά απλός. Δεδομένου ότι ένα Arduino Uno δεν επρόκειτο να χωρέσει στο κιβώτιο με το σύστημα ταχυτήτων, αποφάσισα να κολλήσω τα πάντα σε έναν πίνακα και να χρησιμοποιήσω μόνο ένα ATMega328 χωρίς τον μετατροπέα ATMega16U2 usb-to-uart που βρίσκεται στις πλακέτες Uno.

Υπάρχουν τέσσερα κύρια μέρη στο σχηματικό (εκτός από τον προφανή μικροελεγκτή): το τροφοδοτικό, ο ταλαντωτής κρυστάλλων, τα προγράμματα οδήγησης βηματικών κινητήρων και η μονάδα bluetooth.

Παροχή ηλεκτρικού ρεύματος

Το τροφοδοτικό προέρχεται από τροφοδοτικό 3Α 5V που αγόρασα από το eBay. Τερματίζει με βύσμα κάννης 5,5mm OD, 2,1mm ID, με θετικό άκρο. Έτσι, το άκρο συνδέεται με την τροφοδοσία 5V και κουδουνίζει στη γείωση. Υπάρχει επίσης ένας πυκνωτής αποσύνδεσης 1uF για εξομάλυνση τυχόν θορύβου από το τροφοδοτικό. Παρατηρήστε ότι η τροφοδοσία 5V συνδέεται τόσο με VCC όσο και με AVCC και η γείωση είναι συνδεδεμένη τόσο με GND όσο και με AGND.

Κρυστάλλινος ταλαντωτής

Χρησιμοποίησα έναν ταλαντωτή κρυστάλλου 16MHz και 2 πυκνωτές 22 pF σύμφωνα με το φύλλο δεδομένων για την οικογένεια ATMegaXX8. Αυτό συνδέεται με τις ακίδες XTAL1 και XTAL2 του μικροελεγκτή.

Οδηγοί Stepper Motor

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

Μονάδα Bluetooth

Το TX του HC-05 συνδέεται με το RX του μικροελεγκτή και το RX με το TX. Αυτό συμβαίνει έτσι ώστε οτιδήποτε αποστέλλεται στη μονάδα bluetooth από μια απομακρυσμένη συσκευή, θα μεταφέρεται στον μικροελεγκτή, και σε αντίθεση. Ο ακροδέκτης KEY παραμένει αποσυνδεδεμένος έτσι ώστε να μην μπορεί να υπάρξει τυχαία αναδιαμόρφωση των ρυθμίσεων στη μονάδα.

Σημειώσεις

Τοποθέτησα μια αντίσταση έλξης 10k στον πείρο επαναφοράς. Αυτό δεν πρέπει να είναι απαραίτητο, αλλά σκέφτηκα ότι μπορεί να αποτρέψει την πιθανότητα ο πείρος επαναφοράς να πέσει χαμηλά για περισσότερο από 2,5us. Δεν είναι πιθανό, αλλά έτσι κι αλλιώς υπάρχει.

Βήμα 6: Σχεδιασμός της διάταξης Stripboard

Σχεδιασμός της διάταξης Stripboard
Σχεδιασμός της διάταξης Stripboard

Η διάταξη του stripboard δεν είναι επίσης πολύ περίπλοκη. Το ATMega βρίσκεται στη μέση, με τους οδηγούς stepper μοτέρ και τη μονάδα bluetooth να είναι παραταγμένοι με τις ακίδες στις οποίες πρέπει να συνδεθούν. Ο κρυσταλλικός ταλαντωτής και οι πυκνωτές του βρίσκονται μεταξύ του Stepper3 και του HC-05. Ένας πυκνωτής αποσύνδεσης βρίσκεται ακριβώς εκεί που μπαίνει το τροφοδοτικό στην πλακέτα και ένας βρίσκεται ανάμεσα στα Βήματα 1 και 2.

Τα Χ σημαίνουν ένα σημείο όπου πρέπει να ανοίξετε μια ρηχή τρύπα για να σπάσετε μια σύνδεση. Χρησιμοποίησα ένα τρυπάνι 7/64 και τρύπησα μόνο έως ότου η τρύπα ήταν τόσο μεγάλη όσο η διάμετρος του μπιτ. Αυτό διασφαλίζει ότι το ίχνος χαλκού είναι πλήρως διαιρεμένο, αλλά αποφεύγει την περιττή διάτρηση και διασφαλίζει ότι η σανίδα παραμένει ισχυρή.

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

Βήμα 7: Συγκόλληση

Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση

Σημείωση: Αυτό δεν θα είναι ένα σεμινάριο για τη συγκόλληση. Εάν δεν έχετε κολλήσει ποτέ πριν, το YouTube και το Instructables είναι οι καλύτεροι φίλοι σας εδώ. Υπάρχουν αμέτρητα εξαιρετικά σεμινάρια εκεί έξω που διδάσκουν τα βασικά και τα λεπτότερα σημεία (δεν ισχυρίζομαι ότι γνωρίζω τα καλύτερα σημεία · μέχρι πριν από λίγες εβδομάδες, ρουφούσα τη συγκόλληση).

Το πρώτο πράγμα που έκανα με τους οδηγούς stepper και το bluetooth ήταν να ξεκολλήσουμε τις λυγισμένες αρσενικές κεφαλίδες και να κολλήσουμε σε ίσια αρσενικά headers στην πίσω πλευρά του πίνακα. Αυτό θα τους επιτρέψει να είναι επίπεδα στο stripboard.

Το επόμενο βήμα είναι να ανοίξετε όλες τις τρύπες που πρέπει να σπάσουν τις συνδέσεις, αν δεν το έχετε κάνει ήδη.

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

Συγκόλλησα πρώτα στην πρίζα IC για να δώσω ένα σημείο αναφοράς για τα υπόλοιπα εξαρτήματα. Βεβαιωθείτε ότι έχετε σημειώσει την κατεύθυνση της πρίζας! Η ημικυκλική εσοχή πρέπει να είναι πλησιέστερη στην αντίσταση 10k. Δεδομένου ότι δεν του αρέσει να παραμένει στη θέση του πριν συγκολληθεί, μπορείτε (εφαρμόστε πρώτα τη ροή φυσικά) να βάλετε δύο αντίθετα γωνιακά μαξιλαράκια και, ενώ κρατάτε την πρίζα στη θέση του από την κάτω πλευρά, επανατοποθετήστε την κονσερβοποίηση. Τώρα η πρίζα πρέπει να παραμείνει στη θέση της, ώστε να μπορείτε να κολλήσετε τις υπόλοιπες ακίδες.

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

Αφού τα πάντα κολλήσουν στη θέση τους, μπορείτε να χρησιμοποιήσετε μικρά μανταλάκια (ή επειδή δεν είχα καθόλου παλιά κούρεμα νυχιών) για να κόψετε τα καλώδια.

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

Τοποθετήστε το τσιπ στην πρίζα, φροντίζοντας οι ημικυκλικές εσοχές να βρίσκονται στην ίδια πλευρά. Τώρα συνδέστε το τροφοδοτικό στον τοίχο και στη συνέχεια στην υποδοχή τροφοδοσίας DC. Εάν ανάψουν τα φώτα στα προγράμματα οδήγησης stepper, αποσυνδέστε το τροφοδοτικό και ελέγξτε όλες τις συνδέσεις. Εάν το ATMega (ή οποιοδήποτε μέρος της πλακέτας, ακόμη και το καλώδιο τροφοδοσίας) ζεσταθεί εξαιρετικά, αποσυνδέστε το τροφοδοτικό και ελέγξτε όλες τις συνδέσεις.

Σημείωση

Η ροή συγκόλλησης θα πρέπει να επανεκτιμηθεί ως "Κυριολεκτικά Μαγική". Σοβαρά, η ροή κάνει τα πράγματα μαγικά. Εφαρμόστε το γενναιόδωρα οποιαδήποτε στιγμή πριν κάνετε συγκόλληση.

Βήμα 8: Κάψιμο του Bootloader στο ATMega

Κάψιμο του Bootloader στο ATMega
Κάψιμο του Bootloader στο ATMega

Όταν πήρα το ATMegas μου, για κάποιο λόγο δεν επέτρεπαν να φορτωθούν σκίτσα σε αυτά, οπότε έπρεπε να κάψω ξανά τον bootloader. Είναι μια αρκετά εύκολη διαδικασία. Εάν είστε βέβαιοι ότι έχετε ήδη ένα Arduino/optiboot bootloader στο τσιπ σας, μπορείτε να παραλείψετε αυτό το βήμα.

Οι ακόλουθες οδηγίες ελήφθησαν από ένα σεμινάριο στο arduino.cc:

  1. Ανεβάστε το σκίτσο ArduinoISP στον πίνακα Arduino. (Θα χρειαστεί να επιλέξετε τον πίνακα και τη σειριακή θύρα από το μενού Εργαλεία που αντιστοιχούν στον πίνακα σας)
  2. Συνδέστε τον πίνακα και τον μικροελεγκτή Arduino όπως φαίνεται στο διάγραμμα στα δεξιά.
  3. Επιλέξτε "Arduino Duemilanove ή Nano w/ ATmega328" από το μενού Εργαλεία> Πίνακας.("" ATmega328 σε ένα breadboard (εσωτερικό ρολόι 8 MHz) "εάν χρησιμοποιείτε την ελάχιστη διαμόρφωση που περιγράφεται παρακάτω.)
  4. Εκτέλεση εργαλείων> Εγγραφή εκκίνησης> w/ Arduino ως ISP. Χρειάζεται μόνο να κάψετε το bootloader μία φορά. Αφού το κάνετε αυτό, μπορείτε να αφαιρέσετε τα καλώδια βραχυκυκλωμάτων που είναι συνδεδεμένα στις ακίδες 10, 11, 12 και 13 της πλακέτας Arduino.

Βήμα 9: Το σκίτσο του Arduino

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

Ουσιαστικά, δέχεται μια γραμμή εισόδου μέσω της διεπαφής UART που περιέχει τις θέσεις -στόχους για κάθε έναν από τους πλανήτες, σε μοίρες. Λαμβάνει αυτές τις θέσεις βαθμού και ενεργοποιεί τα βηματικά μοτέρ για να μετακινήσει κάθε πλανήτη στη θέση -στόχο του.

Βήμα 10: Μεταφόρτωση του Arduino Sketch

Μεταφόρτωση του Arduino Sketch
Μεταφόρτωση του Arduino Sketch

Τα παρακάτω αντιγράφονται κυρίως από το ArduinoToBreadboard στον ιστότοπο arduino.cc:

Μόλις το ATmega328p έχει το πρόγραμμα εκκίνησης Arduino, μπορείτε να ανεβάσετε προγράμματα σε αυτό χρησιμοποιώντας τον μετατροπέα USB σε σειριακό (τσιπ FTDI) σε έναν πίνακα Arduino. Για να το κάνετε, αφαιρέστε τον μικροελεγκτή από την πλακέτα Arduino, ώστε το τσιπ FTDI να μπορεί να μιλήσει με τον μικροελεγκτή στο breadboard. Το παραπάνω διάγραμμα δείχνει πώς να συνδέσετε τις γραμμές RX και TX από την πλακέτα Arduino στο ATmega στον πίνακα ψωμιού. Για να προγραμματίσετε τον μικροελεγκτή, επιλέξτε "Arduino Duemilanove ή Nano w/ ATmega328" από το μενού Εργαλεία> Πίνακας. Στη συνέχεια, ανεβάστε το ως συνήθως.

Εάν αυτό αποδειχθεί υπερβολικό, τότε αυτό που έκανα ήταν να τοποθετήσω το ATMega στην υποδοχή DIP28 κάθε φορά που χρειαζόταν να το προγραμματίσω και να το βγάλω μετά. Όσο είστε προσεκτικοί και ευγενικοί με τις καρφίτσες, θα πρέπει να είναι εντάξει.

Βήμα 11: Ο κώδικας εφαρμογής Android

Ακριβώς όπως ο κώδικας Arduino, ο κωδικός μου Android είναι εδώ. Και πάλι, είναι τεκμηριωμένο, αλλά εδώ είναι μια σύντομη επισκόπηση.

Παίρνει μια ημερομηνία από τον χρήστη και υπολογίζει πού βρίσκονταν/βρίσκονται/θα βρίσκονται ο Ερμής, η Αφροδίτη και η Γη εκείνη την ημερομηνία. Υποθέτει ότι τα μεσάνυχτα θα είναι πιο απλά, αλλά ίσως προσθέσω έγκαιρα υποστήριξη σύντομα. Κάνει αυτούς τους υπολογισμούς χρησιμοποιώντας μια φοβερή βιβλιοθήκη Java με το όνομα AstroLib, η οποία μπορεί να κάνει πολύ περισσότερα από αυτά για τα οποία τη χρησιμοποιώ. Μόλις έχει αυτές τις συντεταγμένες, στέλνει μόνο το γεωγραφικό μήκος (τη "θέση" που συνήθως σκέφτεστε όταν αναφέρεστε σε πλανητικές τροχιές) στη μονάδα μπλε -δόντι για κάθε έναν από τους πλανήτες. Είναι τόσο απλό!

Εάν θέλετε να δημιουργήσετε μόνοι σας το έργο, θα πρέπει πρώτα να θέσετε το τηλέφωνό σας σε λειτουργία προγραμματιστή. Οι οδηγίες για αυτό μπορεί να εξαρτώνται από τον κατασκευαστή του τηλεφώνου σας, το ίδιο το μοντέλο της συσκευής, εάν εκτελείτε μια προσαρμοσμένη λειτουργία κ.λπ. αλλά συνήθως, πηγαίνοντας στις Ρυθμίσεις -> Σχετικά με το τηλέφωνο και πατώντας το "Build Number" 7 φορές, πρέπει να το κάνετε. Θα πρέπει να λάβετε μια ειδοποίηση τοστ λέγοντας ότι έχετε ενεργοποιήσει τη λειτουργία προγραμματιστή. Τώρα μεταβείτε στις Ρυθμίσεις -> Επιλογές προγραμματιστή και ενεργοποιήστε την εντοπισμού σφαλμάτων USB. Τώρα συνδέστε το τηλέφωνό σας στον υπολογιστή σας χρησιμοποιώντας καλώδιο USB φόρτισης + δεδομένων.

Τώρα κάντε λήψη ή κλωνοποίηση του έργου από το GitHub. Μόλις το έχετε τοπικά, ανοίξτε το στο Android Studio και πατήστε Εκτέλεση (το πράσινο κουμπί αναπαραγωγής στην επάνω γραμμή εργαλείων). Επιλέξτε το τηλέφωνό σας από τη λίστα και πατήστε OK. Στο τηλέφωνό σας, θα σας ρωτήσει εάν εμπιστεύεστε τον υπολογιστή στον οποίο είστε συνδεδεμένοι. Πατήστε "ναι" (ή "εμπιστευτείτε πάντα αυτόν τον υπολογιστή" εάν είναι το δικό σας, ασφαλές μηχάνημα). Η εφαρμογή θα πρέπει να μεταγλωττιστεί, να εγκατασταθεί στο τηλέφωνό σας και να ανοίξει.

Βήμα 12: Χρήση της εφαρμογής

Η χρήση της εφαρμογής είναι αρκετά απλή.

  1. Εάν δεν έχετε ήδη αντιστοιχίσει το HC -05 με το τηλέφωνό σας, κάντε το στις Ρυθμίσεις -> Bluetooth.
  2. Πατήστε "σύνδεση" από το μενού επιλογών στην επάνω δεξιά γωνία.
  3. Επιλέξτε τη συσκευή σας από τη λίστα
  4. Μετά από μερικά δευτερόλεπτα, θα πρέπει να λάβετε μια ειδοποίηση ότι έχει συνδεθεί. Εάν όχι, ελέγξτε ότι το Πλανητάριο είναι ενεργοποιημένο και όχι στη φωτιά.
  5. Επιλέξτε ημερομηνία. Κάντε κύλιση προς τα πάνω και κάτω για τους συνδυασμούς μηνών, ημερών και ετών και χρησιμοποιήστε τα κουμπιά με τα βέλη για να μετακινηθείτε προς τα πίσω ή προς τα εμπρός κατά 100 χρόνια τη φορά.
  6. Πατήστε αποστολή!

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

Βήμα 13: Τελικές παρατηρήσεις

Όντας το πρώτο μου απτό έργο, είναι υποτιμητικό να πω ότι έμαθα πολλά. Σοβαρά, μου έμαθε τόνους για τα πάντα, από τη συντήρηση αναθεώρησης κώδικα, τη συγκόλληση, τον προγραμματισμό έργων, την επεξεργασία βίντεο, την τρισδιάστατη μοντελοποίηση, τους μικροελεγκτές, τα… Λοιπόν, θα μπορούσα να συνεχίσω.

Το θέμα είναι ότι, αν πάτε στο USF (Go Bulls!), Και ενδιαφέρεστε για τέτοιου είδους πράγματα, πάρτε το μάθημα MAKE. Εάν το σχολείο σας προσφέρει κάτι παρόμοιο, πάρτε το. Εάν δεν είστε στο σχολείο ή δεν έχετε παρόμοιο μάθημα, απλά φτιάξτε κάτι! Σοβαρά, αυτό είναι το πιο δύσκολο βήμα. Το να πάρεις ιδέες είναι δύσκολο. Μόλις όμως έχετε μια ιδέα, τρέξτε με αυτήν. Μην πείτε "ω, αυτό είναι ηλίθιο" ή "ω δεν έχω χρόνο". Συνεχίστε να σκέφτεστε τι θα έκανε αυτή την ιδέα φοβερή και κάντε το.

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

Ελπίζω να σας άρεσε αυτό το εκπαιδευτικό!

Συνιστάται: