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

Arduino Oled Dice: 10 βήματα (με εικόνες)
Arduino Oled Dice: 10 βήματα (με εικόνες)

Βίντεο: Arduino Oled Dice: 10 βήματα (με εικόνες)

Βίντεο: Arduino Oled Dice: 10 βήματα (με εικόνες)
Βίντεο: Using Digispark Attiny85 Mini Arduino boards: Lesson 108 2024, Ιούνιος
Anonim
Image
Image
Λειτουργίες ζαριών
Λειτουργίες ζαριών

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

Το βίντεο δείχνει την τελική έκδοση και τις λειτουργίες των ζαριών.

Βήμα 1: Λειτουργίες ζαριών

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

Το Dice διαθέτει κύκλωμα αυτόματης απενεργοποίησης για εξοικονόμηση μπαταριών.

Εάν δεν χρησιμοποιείτε το ζάρι για 60 δευτερόλεπτα, το ρεύμα απενεργοποιείται αυτόματα.

Στο λογισμικό υπάρχει μια λειτουργία ενεργοποίησης ή απενεργοποίησης του ήχου κρατώντας πατημένο το διακόπτη επιλογής για περισσότερο από ένα δευτερόλεπτο.

Βήμα 2: Η λειτουργία αυτόματης απενεργοποίησης

Λειτουργία αυτόματης απενεργοποίησης
Λειτουργία αυτόματης απενεργοποίησης

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

Ετσι δουλεύει:

Το κύκλωμα αποτελείται από ένα τρανζίστορ P FET που λειτουργεί σαν διακόπτης. Η πύλη στο τρανζίστορ ελέγχεται από ένα τυπικό στιγμιαίο κουμπί (S1). Όταν πιέζεται ο διακόπτης, η τάση πέφτει στην πύλη και το ρεύμα αρχίζει να ρέει μέσα από το τρανζίστορ. Στην πύλη υπάρχει ένα άλλο τρανζίστορ παράλληλα με το διακόπτη στη γείωση. Το τρανζίστορ διατηρεί την τάση χαμηλή στην πύλη FETs όσο η τάση στη βάση είναι υψηλή. Η βασική τάση εφαρμόζεται από τον μικροελεγκτή και ένα από τα πρώτα πράγματα που κάνει το σκίτσο όταν τροφοδοτείται ο ελεγκτής είναι να ρυθμίσει τον ψηφιακό πείρο 8 σε Υψηλό και μέσω του λογισμικού να ασφαλίσει το κύκλωμα. Ο ρυθμιστής τάσης 7805 σταθεροποιεί την τάση στα 5V και οι δύο δίοδοι εμποδίζουν το 9 volt από την μπαταρία να φτάσει στον μικροελεγκτή. Ο ίδιος διακόπτης χρησιμοποιείται επίσης για τον έλεγχο της ψηφιακής εισόδου στο χειριστήριο, (pin 7).

Στο σκίτσο μετράμε το χρονικό διάστημα που πέρασε από το πάτημα του κουμπιού και το συγκρίνουμε με τον καθορισμένο χρόνο ενεργοποίησης.

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

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

Βήμα 3: Το πρωτότυπο

Το Πρωτότυπο
Το Πρωτότυπο

Τώρα ήρθε η ώρα να αρχίσουμε να χτίζουμε.

Χρειάζεσαι:

  • 1 Χωρίς συγκόλληση BreadBoard
  • 1 Arduino Uno
  • 1 οθόνη OLED 128x64 i2c
  • 2 πυκνωτές 10uF
  • 1 πυκνωτής 100nF
  • 2 αντιστάσεις 10Kohm
  • 2 Αντίσταση 100Kohm
  • 2 Δίοδοι 1n4148
  • 1 Τρανζίστορ NPN BC547b
  • 1 MosFET IRF9640
  • 1 VoltageRegulator L7805
  • Διακόπτης 2 mometary
  • 1 Πιεζό
  • Jumper Wire
  • Μπαταρία 9 V

Αυτό είναι.

Ακολουθήστε προσεκτικά την παγωμένη εικόνα παραπάνω

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

Το Piezo είναι συνδεδεμένο στο pin 6, το κουμπί Roll στο pin 7, το κουμπί Select στο pin 10 και το στοιχείο ελέγχου Power_ON στο pin 8.

Μην ξεχάσετε να τροφοδοτήσετε το Arduino Uno σας μέσω του πείρου 5V και του πείρου γείωσης στην πλακέτα Arduino και όχι μέσω του μπουφάν dc στο πλάι.

Το σκίτσο χρησιμοποιεί το U8g2lib.h για την οθόνη, το βρίσκετε εδώ, https://github.com/olikraus/u8g2/, κατεβάστε και εγκαταστήστε πριν συντάξετε τον κώδικα.

Πώς να εγκαταστήσετε βιβλιοθήκες;

Αντιγράψτε τον κώδικα και επικολλήστε τον στο Arduino IDE και ανεβάστε το σκίτσο.

Μην ξεχάσετε να αφαιρέσετε το καλώδιο USB από το Arduino όταν τελειώσετε, διαφορετικά η λειτουργία αυτόματης απενεργοποίησης δεν θα λειτουργήσει επειδή το USB/Υπολογιστής τροφοδοτεί τον ελεγκτή.

Βήμα 4: Η προσαρμοσμένη έκδοση

Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση
Η προσαρμοσμένη έκδοση

Το υπόλοιπο αυτού του οδηγού αφορά συμβουλές και trix, αν θέλετε να το μετατρέψετε σε πιο χρήσιμη και προσαρμοσμένη έκδοση.

Για να σχεδιάσω ολόκληρο το σχηματικό για την προσαρμοσμένη έκδοση, χρησιμοποίησα το δωρεάν διαδικτυακό λογισμικό σχήματος και PCB EASYEDA Το βρίσκεις εδώ

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

Πρόσθεσα επιπλέον στοιχεία που δεν χρησιμοποιούνται σε αυτό το έργο αλλά είναι εκεί για μελλοντικά έργα. U4, U5, R4, S2.

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

USB σε σειριακούς πίνακες UART

Μπορείτε φυσικά να ανεβάσετε το σκίτσο στον ελεγκτή χρησιμοποιώντας τον πίνακα Arduino και στη συνέχεια να μετακινήσετε το τσιπ στο PCB.

Το EASYEDA παρέχει επίσης μια λειτουργία για την κατασκευή του PCB για εσάς.

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

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

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

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

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

Επειδή πρέπει να παραγγείλω περισσότερα από ένα PCB για να έχω μια λογική τιμή, το σχεδιάζω να είναι ευέλικτο, ώστε να μπορώ να χρησιμοποιήσω τον ίδιο πίνακα και κουτί για μελλοντικά έργα. Πρόσθεσα επιπλέον καρφίτσες για αναλογικές και ψηφιακές θύρες μαζί με επιπλέον κουμπιά. Σε αυτό το έργο χρησιμοποιώ το S1 για να ενεργοποιήσω το κύκλωμα και να ρίξω τα ζάρια και το S3 ως Select. Όταν λάβατε το PCB, ήρθε η ώρα να κολλήσετε όλα τα εξαρτήματα στη σωστή θέση. Στο PCB μου η οθόνη και τα κουμπιά είναι τοποθετημένα στο πίσω μέρος για να συρρικνωθεί το μέγεθος και να είναι προσβάσιμα από έξω.

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

Τροποποίηση:

Άλλαξε τον διακόπτη ρολού (S1), σε έναν αισθητήρα διακόπτη κλίσης και πρόσθεσε έναν πυκνωτή 100uF παράλληλα με τον διακόπτη για να κρατήσει το επίπεδο στην πύλη FET αρκετά χαμηλό για αρκετό καιρό, έτσι ώστε ο μικροελεγκτής να έχει χρόνο να ξεκινήσει και να ρυθμίσει την ψηφιακή θύρα εξόδου HIGH και ασφαλίστε το κύκλωμα "ενεργοποίησης".

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

Tiltsensor

Βήμα 6: Κόψτε τις τρύπες που χρειάζονται στο κουτί

Κόψτε τις τρύπες που χρειάζονται στο κουτί
Κόψτε τις τρύπες που χρειάζονται στο κουτί
Κόψτε τις τρύπες που χρειάζονται στο κουτί
Κόψτε τις τρύπες που χρειάζονται στο κουτί

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

Βήμα 7: Το Frontpanel

Το Frontpanel
Το Frontpanel
Το Frontpanel
Το Frontpanel

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

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

Βήμα 8: Κοπή οπών στον πίνακα

Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα
Κοπή οπών στον πίνακα

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

Βήμα 9: Το τέλος του έργου

Το τέλος του έργου
Το τέλος του έργου
Το τέλος του έργου
Το τέλος του έργου

Όταν έφτανα στο τέλος αυτού του έργου δυστυχώς διαπιστώνω ότι τα ζάρια μερικές φορές παγώνουν όταν το κουνάω και χρειάζονται επανεκκίνηση.

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

Η λύση ήταν να προσθέσετε σε επιπλέον αντιστάσεις 1k σε κάθε καρφίτσα στα 5V ως pull-up, δείτε την εικόνα. Μετά από αυτό, τα ζάρια λειτουργούν τέλεια όπως αναμενόταν.

Βήμα 10: Ανακινήστε και κυλήστε

Καλα να περνατε.

Συνιστάται: