Πίνακας περιεχομένων:
Βίντεο: Ρολόι λέξεων τεσσάρων γραμμάτων με γεννήτρια λέξεων Akafugu και εμπνευσμένες φράσεις: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Αυτή είναι η δική μου έκδοση του ρολογιού με τέσσερα γράμματα, μια ιδέα που ξεκίνησε τη δεκαετία του 1970. Το ρολόι εμφανίζει μια σειρά λέξεων τεσσάρων γραμμάτων που παράγονται είτε από έναν αλγόριθμο τυχαίας δημιουργίας λέξεων είτε από μια βάση δεδομένων σχετικών λέξεων τεσσάρων γραμμάτων.
Αυτή η έκδοση χρησιμοποιεί πιο σύγχρονες οθόνες LED 14 τμημάτων και έναν μικροελεγκτή Atmega 328p για την εμφάνιση των λέξεων και του χρόνου. Υποστηρίζονται δύο τρόποι δημιουργίας λέξεων. Το πρώτο χρησιμοποιεί έναν αλγόριθμο για να δημιουργήσει ομάδες λέξεων τεσσάρων γραμμάτων που είναι πιθανό να είναι πραγματικές λέξεις, παρόμοιες με την αρχική. Κάθε διαδοχική λέξη δεν σχετίζεται με την προηγούμενη. Ο δεύτερος τρόπος χρησιμοποιεί τη σχεσιακή βάση δεδομένων λέξεων από το "Edinburgh Associative Thesaurus", ένα έγγραφο συσχετίσεων λέξεων που βασίζεται στις απαντήσεις των ανθρώπων στο να ζητήσουν την πρώτη λέξη που έρχεται στο μυαλό αφού τους δώσουν μια λέξη σπόρου, και στη συνέχεια να συνεχίσουν τη διαδικασία με τη λέξη απόκρισης. Η βάση δεδομένων προσαρμόστηκε στη δημιουργία λέξεων τεσσάρων γραμμάτων από την Akafugu Corporation, η οποία δημιούργησε ένα αρχείο δεδομένων 57 Kbyte που αποθηκεύεται σε εξωτερικό EEPROM για επεξεργασία από το Atmega. Το αποτέλεσμα είναι ότι το ρολόι χρησιμοποιεί το χρόνο Unix ως τυχαίο σπόρο και δημιουργεί μια σειρά από σχετικές λέξεις τεσσάρων γραμμάτων που βασίζονται σε ανθρώπινες απαντήσεις και όχι σε κάποιον αλγόριθμο.
Σημείωση: Η βάση δεδομένων λέξεων Akafugu περιέχει μερικές σεξουαλικά ρητές και δυνητικά προσβλητικές λέξεις. Εάν αυτό σας ενοχλεί, ενεργοποιήστε τη λειτουργία τυχαίας λέξης. Αυτό μπορεί επίσης να δημιουργήσει κάποιες προσβλητικές λέξεις, αλλά τουλάχιστον δεν θα εμφανίζει ρεύματα σχετικών προσβλητικών λέξεων!
Ο «Συνδετικός Θησαυρός του Εδιμβούργου» συντάχθηκε με βάση απαντήσεις από ανθρώπους που ζούσαν στην Αγγλία στις αρχές της δεκαετίας του '60. Η λέξη σχέσεις αντανακλά σίγουρα αυτή την προκατάληψη! Για παράδειγμα, η λέξη "BEST" ακολουθείται συχνά από το "PETE". Δεν υπάρχει προφανής σύνδεση, εκτός αν κάποιος γνωρίζει ότι ο Pete Best ήταν ο αρχικός ντράμερ των Beatles στις αρχές της δεκαετίας του '60! Άλλες προκαταλήψεις προς τον πολιτισμό του Ηνωμένου Βασιλείου της δεκαετίας του '60 αφθονούν. Νομίζω ότι είναι πολύ ενδιαφέρον να το δεις!
Η συσκευή περιέχει επίσης μια μονάδα ρολογιού πραγματικού χρόνου με δυνατότητα διεύθυνσης I2C με εφεδρική μπαταρία. Το ρολόι εμφανίζει 5 λέξεις από έναν από τους δύο επιλέξιμους αλγόριθμους και στη συνέχεια εμφανίζει την ώρα, την ημερομηνία, την ημέρα της εβδομάδας και το έτος. Το ρολόι και οι τρόποι λειτουργίας ρυθμίζονται χρησιμοποιώντας τρεις διακόπτες κουμπιών. Οι τρόποι λειτουργίας αποθηκεύονται σε μη πτητικό EEPROM και επιβιώνουν από επαναφορά ή διακοπή ρεύματος. Το RTC συνεχίζει να λειτουργεί για περίπου ένα χρόνο μετά την διακοπή ρεύματος, με ακρίβεια που αντισταθμίζεται από τη θερμοκρασία. Ο σωστός χρόνος εμφανίζεται αυτόματα όταν αποκατασταθεί η ισχύς.
Ένα πρόσθετο χαρακτηριστικό είναι οι 107 αναφορές για το χρόνο που εμφανίζονται τυχαία κάθε 10 λεπτά. Αυτά τα αποσπάσματα μετακινούνται από τα δεξιά προς τα αριστερά στους τέσσερις χαρακτήρες, παρέχοντας συχνή ενθάρρυνση και έμπνευση! Η αποθήκευση για τις φράσεις είναι στο εξωτερικό EEPROM με τη βάση δεδομένων λέξεων Akafugu. Η βάση δεδομένων λαμβάνει μόνο 57 Kbytes από τα 64 Kbytes που είναι διαθέσιμα στη συσκευή, αφήνοντας χώρο για τις 107 φράσεις. Μια φράση "καυχησιά" είναι πάντα η πρώτη που εμφανίζεται όταν το ρολόι ενεργοποιείται για πρώτη φορά στο επόμενο διάστημα 10 λεπτών.
Η μονάδα χρησιμοποιεί κοινές οθόνες 14 τμημάτων καθόδου (2 κάθοδοι για κάθε ψηφίο) που πολυπλέκονται από μια ρουτίνα υπηρεσίας διακοπής χρονοδιακόπτη που έχει ως αποτέλεσμα την ανανέωση της οθόνης τεσσάρων χαρακτήρων στα 100 Hz. Κάθε φορά που εκτελείται το ISR, απενεργοποιεί τον προηγούμενο ημι-χαρακτήρα, ανακτά 7 από τα 14 τμήματα για έναν από τους τέσσερις χαρακτήρες, ενεργοποιεί τις αντίστοιχες ακίδες τμήματος και γειώνει την αντίστοιχη κάθοδο. Οι οθόνες είναι λίγο ασυνήθιστες, αλλά είχα ένα μεγάλο πλεόνασμα που ήθελα να χρησιμοποιήσω. Η διπλή κοινή κάθοδος μειώνει τον αριθμό των ακίδων που απαιτούνται ανά ψηφίο από 15 σε 9. Υπάρχουν μόνο αρκετές ακίδες σε ένα Atmega 328p για να επιτρέψετε την άμεση οδήγηση της οθόνης χωρίς καταχωρητή αλλαγής ταχυτήτων.
TO-DO: Τροποποιήστε τον κώδικα για να χρησιμοποιήσετε την αλφαριθμητική μονάδα LED Adafruit 4 χαρακτήρων
Βήμα 1: Ιστορία
Το αρχικό ρολόι FLW κατασκευάστηκε με μεγάλους σωλήνες αλφάριθμου νέον πλεόνασμα Burroughs B7971 που απορρίφθηκαν από παροπλισμένες πινακίδες ένδειξης. Αυτά είναι παρόμοια με τους αριθμητικούς σωλήνες nixie της εποχής, αλλά χρησιμοποιούσαν μια οθόνη 14 τμημάτων για να σχηματίσουν όλους τους χαρακτήρες ASCII. Το ρολόι χρησιμοποίησε διακριτή λογική, επιλέγοντας γράμματα από έναν πίνακα για να σχηματίσει τυχαίους συνδυασμούς τεσσάρων γραμμάτων που σταθμίστηκαν για να είναι πιθανό να παράγουν πραγματικές λέξεις.
Με τον αλγόριθμο Στο αρχικό μοντέλο του 1972, μόνο ορισμένα γράμματα εμφανίζονται σε κάθε θέση. Πραγματοποιήθηκε ανάλυση σε πίνακα πολλών εκατοντάδων τεσσάρων γραμμάτων και μετρήθηκε η συχνότητα των γραμμάτων σε κάθε μία από τις τέσσερις θέσεις. Χρησιμοποιήθηκαν τα δέκα πιο συχνά γράμματα κάθε θέσης, εκτός από τη δεύτερη θέση που περιείχε μόνο οκτώ γράμματα.
Για κάθε θέση, ένας απλός μετρητής BCD (0-9) (ένα IC 74LS90) έτρεχε ελεύθερα και η καταγραφή καταγράφηκε και κρατήθηκε περίπου μία φορά κάθε λίγα δευτερόλεπτα έως μία φορά το λεπτό, ανάλογα με τη ρύθμιση ταχύτητας. Το αντίγραφο στιγμιότυπο στη συνέχεια εφαρμόστηκε σε μια μήτρα αποκωδικοποίησης διόδου (χρησιμοποιώντας περίπου 150 διόδους) για να σχηματίσει τους χαρακτήρες.
Δεδομένου ότι επιλέχθηκαν μόνο τα δέκα (ή οκτώ) πιο συνηθισμένα γράμματα για κάθε θέση, χωρίς να ληφθούν υπόψη οι συνδυασμοί γραμμάτων, μπορούν να εμφανιστούν πολλές μη λέξεις, π.χ., FRLR, LREE, LLLL, κ.λπ.
Σημειώστε ότι η δεύτερη θέση είχε μόνο οκτώ γράμματα, αφού το ένατο και το δέκατο γράμμα στο δείγμα είχαν αναλογικά χαμηλή συχνότητα, ενώ το πρώτο και το δεύτερο είχαν εξαιρετικά υψηλή συχνότητα-έτσι διπλασιάστηκαν. Έτσι 10 x 8 x 10 x 10 = 8000 μεταθέσεις. Τα γράμματα που προγραμματίστηκαν στο πρώτο μοντέλο του 1973 εμφανίζονται σε μία από τις παραπάνω εικόνες.
Βήμα 2: Κωδικός και σχηματική
Το σχήμα επισυνάπτεται.
Το ρολόι μπορεί να κατασκευαστεί χρησιμοποιώντας οποιοδήποτε Arduino που βασίζεται σε Atmega 328p.
Για χρήση με αυτόνομο Atmega 328p, όπως φαίνεται στο σχήμα, πρέπει να χρησιμοποιηθεί προγραμματιστής ISP για τον προγραμματισμό του μικροελεγκτή μέσω του Arduino IDE. Μετά τον προγραμματισμό, οι ασφάλειες πρέπει να ρυθμιστούν χρησιμοποιώντας την ακόλουθη εντολή avrdude (πρέπει να εγκατασταθεί το WinAVR). Αντικαταστήστε τον τύπο θύρας com και προγραμματιστή. Το πιο εύκολο είναι να χρησιμοποιήσετε ένα Arduino ως προγραμματιστή ISP. Google για λεπτομέρειες.
avrdude -c arduino -P com13 -b 19200 -p atmega328p -U lfuse: w: 0xFF: m -U hfuse: w: 0xDF: m -U efuse: w: 0x05: m
Αυτές οι ρυθμίσεις απενεργοποιούν το διάνυσμα επαναφοράς του bootloader έτσι ώστε ο κώδικας να ξεκινά αμέσως από το κύριο διάνυσμα κώδικα. Οι ασφάλειες έχουν επίσης ρυθμιστεί για έναν εξωτερικό ταλαντωτή 16MHz. Μόλις καεί, δεν θα μπορείτε να προγραμματίσετε ξανά το τσιπ μέχρι να συνδεθούν ο κρύσταλλος και οι πυκνωτές όπως φαίνεται στο σχήμα, καθώς ο προεπιλεγμένος εσωτερικός ταλαντωτής απενεργοποιείται με αυτές τις ρυθμίσεις ασφάλειας.
Η βιβλιοθήκη DS3231 Arduino πρέπει να εγκατασταθεί για να παρέχει πρόσβαση στις ρουτίνες ρολογιού RTC. Είναι απαραίτητο να ενεργοποιήσετε την υποστήριξη χρόνου Unix στη βιβλιοθήκη χωρίς να σχολιάσετε τη γραμμή "#define CONFIG_UNIXTIME" στο αρχείο config.h βιβλιοθήκης DS3231 RTC. Ο χρόνος Unix χρησιμοποιείται ως σπόρος για τη γεννήτρια τυχαίων αριθμών, έτσι ώστε οι ακολουθίες λέξεων και φράσεων να μην επαναλαμβάνονται κάθε φορά που ενεργοποιείται το ρολόι.
Η ίδια η μονάδα ρολογιού DS3231 RTC είναι μια κοινή ποικιλία που πωλείται στο ebay. Η ενότητα απεικονίζεται παραπάνω. Αναζητήστε τον τύπο με επαναφορτιζόμενη εφεδρική μπαταρία.
Εκτός από έναν προγραμματισμένο μικροελεγκτή, είναι επίσης απαραίτητο να αποκτήσετε και να προγραμματίσετε ένα σειριακό EEPROM Microchip 24LC512 με τη βάση δεδομένων λέξεων Akafugu και τη λίστα φράσεων. Αυτό γίνεται χρησιμοποιώντας ένα απλό κύκλωμα κατασκευασμένο με Arduino και μια κάρτα SD μορφοποιημένη ως FAT32 με το αρχείο output2.dat σε αυτό. Ένα σκίτσο διαβάζει τα δεδομένα από την κάρτα SD και τα γράφει στην EEPROM. Λεπτομέρειες μπορείτε να βρείτε στους ακόλουθους δύο συνδέσμους. Βεβαιωθείτε ότι χρησιμοποιείτε το σκίτσο προγραμματισμού και το αρχείο δεδομένων σε αυτό το Instructable, καθώς αυτό στο σύνδεσμο Akafugu δεν διαθέτει τη βάση δεδομένων φράσεων. Ακολουθήστε τη διαδικασία στους συνδέσμους.
Επισκόπηση βάσης δεδομένων Akafugu FLW
Οδηγίες για την εγγραφή του αρχείου δεδομένων στο EEPROM
Βήμα 3: Ρύθμιση και έλεγχος ρολογιού
Οι παρακάτω συνδυασμοί κουμπιών χρησιμοποιούνται για τη ρύθμιση του ρολογιού:
Ρύθμιση ώρας: Κρατήστε πατημένο το κουμπί 1 κατά την κανονική λειτουργία.
Σετ λεπτών: Κρατήστε πατημένο το κουμπί 2 κατά την κανονική λειτουργία. Το δεύτερο επαναφέρεται αυτόματα στο "00"
Επαναφορά δευτερολέπτων στο μηδέν: Κρατήστε πατημένο το κουμπί 3 κατά τη διάρκεια της κανονικής λειτουργίας, αφήστε το για συγχρονισμό με την έναρξη του νέου λεπτού
Ρύθμιση μήνα: Κρατήστε πατημένα τα κουμπιά 1 και 2 κατά τη διάρκεια της κανονικής λειτουργίας
Ρύθμιση ημερομηνίας: Κρατήστε πατημένα τα κουμπιά 1 και 3 κατά τη διάρκεια της κανονικής λειτουργίας
Ρύθμιση έτους: Κρατήστε πατημένα τα κουμπιά 2 και 3 κατά τη διάρκεια της κανονικής λειτουργίας
Ορισμός ημέρας της εβδομάδας: Κρατήστε πατημένα τα κουμπιά 1, 2 και 3 κατά τη διάρκεια της κανονικής λειτουργίας
Όταν η μονάδα ενεργοποιείται για πρώτη φορά, οι τρόποι λειτουργίας εμφανίζονται γρήγορα πριν ξεκινήσει η δημιουργία λέξεων:
"EE" σημαίνει ότι έχει εντοπιστεί το I2C εξωτερικό EEPROM που περιέχει τη βάση δεδομένων λέξεων Akafugu και τη λίστα φράσεων.
"NOEE" σημαίνει ότι το EEPROM δεν εντοπίστηκε. Η μονάδα επιστρέφει σε τυχαία δημιουργία λέξεων και δεν εμφανίζεται φράση.
"CK" σημαίνει ότι η ώρα και η ημερομηνία εμφανίζονται μετά την εμφάνιση 5 συνεχόμενων λέξεων.
"NOCK" σημαίνει ότι η ώρα/ημερομηνία είναι απενεργοποιημένη. Ένα σταθερό ρεύμα λέξεων εμφανίζεται συνεχώς, διακόπτεται κάθε 10 λεπτά από μια φράση.
"RND" σημαίνει ότι χρησιμοποιείται τυχαία λειτουργία δημιουργίας λέξεων
"REL" σημαίνει ότι χρησιμοποιείται η σχέση δημιουργίας βάσης δεδομένων λέξης "Akafugu"
Για να αλλάξετε και να αποθηκεύσετε λειτουργίες, αποσυνδέστε το ρολόι και συνδέστε ξανά ενώ κρατάτε ένα από τα υποδεικνυόμενα κουμπιά. Στη συνέχεια, απελευθερώστε το κουμπί. Η νέα λειτουργία αποθηκεύεται και εμφανίζεται:
Κουμπί 1: Εναλλαγή και αποθήκευση Λειτουργία τυχαίας ή σχεσιακής δημιουργίας λέξεων
Κουμπί 2: Εναλλαγή εμφάνισης ημερομηνίας/ώρας μετά από 5 συνεχόμενες λέξεις ενεργοποιημένες ή απενεργοποιημένες
Συνιστάται:
Ρολόι λέξεων με εφέ ουράνιου τόξου και φως φόντου .: 6 βήματα
Ρολόι λέξης με εφέ ουράνιου τόξου και φως φόντου .: Η αρχή είναι εκεί. Η μπροστινή πλάκα είναι 40 επί 40 εκατοστά και είναι έτοιμη
Ρολόι λέξεων Rainbow με πλήρες εφέ ουράνιου τόξου και περισσότερα: 13 βήματα (με εικόνες)
Ρολόι λέξεων Rainbow με πλήρες εφέ ουράνιου τόξου και πολλά άλλα: στόχοι 1) απλό2) όχι ακριβό 3) όσο το δυνατόν πιο ενεργειακά αποδοτικό το ρολόι λέξεων ουράνιου τόξου με πλήρες εφέ ουράνιου τόξου. Ένα χαμόγελο στο ρολόι λέξεων. Απλό τηλεχειριστήριο IR Ενημέρωση 03-nov-18 LDR για ο Έλεγχος φωτεινότητας των νεοπροσταυμάτων Ενημέρωση 01-Ιανουαρίου
Ρολόι λέξεων Arduino - Προσαρμόσιμο και εύκολο στην κατασκευή: 15 βήματα (με εικόνες)
Ρολόι λέξης Arduino - Προσαρμόσιμο και εύκολο στην κατασκευή: Ο σύντροφός μου είδε ένα ρολόι σε ένα κατάστημα που σας είπε την ώρα φωτίζοντας τις λέξεις για να γράψετε μια πλήρη γραπτή πρόταση από αυτό που φαινόταν ένα μπέρδεμα τυχαίων γραμμάτων. Μας άρεσε το ρολόι, αλλά όχι η τιμή - έτσι αποφασίσαμε να φτιάξουμε ένα από τα δικά μας σχέδια
Ρολόι λέξεων χρησιμοποιώντας Arduino και RTC: 7 βήματα (με εικόνες)
Ρολόι λέξεων χρησιμοποιώντας Arduino και RTC: Αποφάσισα να κάνω ένα ιδιαίτερο δώρο για τη φίλη μου για τα γενέθλιά της. Καθώς ασχολούμαστε και οι δύο με τα ηλεκτρονικά, ήταν πολύ καλή ιδέα να φτιάξουμε κάτι " electronicsy ". Εξάλλου, και οι δύο έχουμε δώσει ο ένας στον άλλον αυτό το είδος δώρων που έφτιαξε ο ίδιος
Προγραμματιζόμενο ρολόι με οθόνη τεσσάρων χαρακτήρων: 5 βήματα (με εικόνες)
Προγραμματιζόμενο ρολόι με οθόνη τεσσάρων χαρακτήρων: Θα είστε ο λόγος της πόλης όταν φοράτε αυτό το αντιπαθητικό, υπερμεγέθη, εντελώς μη πρακτικό ρολόι χειρός. Προβάλετε την αγαπημένη σας βρώμικη γλώσσα, στίχους τραγουδιών, πρώτους αριθμούς κλπ. Εμπνευσμένο από το κιτ Microreader, αποφάσισα να φτιάξω ένα γιγάντιο ρολόι χρησιμοποιώντας