Πίνακας περιεχομένων:
- Βήμα 1: Τι κάνει αυτό το ξεχωριστό;
- Βήμα 2: Κρεοπώληση του TFT
- Βήμα 3: Τοποθέτηση / συγκόλληση του αισθητήρα
- Βήμα 4: Δοκιμή και πρώτη χρήση
- Βήμα 5: Χρήση του οργάνου και των συχνών ερωτήσεων
- Βήμα 6: Μεταγλώττιση από την πηγή
- Βήμα 7: Κάντε το δικό σας
- Βήμα 8: Να το χακάρεις
- Βήμα 9: Προαιρετικές δωρεές
Βίντεο: Hotstuff: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:31
Στοχεύοντας να γίνει το μεγαλύτερο μικρό θερμόμετρο γραφικών που διατίθεται για ένα Arduino Uno.
Οι εφαρμογές περιλαμβάνουν:
- Παρακολούθηση θερμοκρασίας βρεφών/βρεφονηπιακών σταθμών
- Παρακολούθηση εξωτερικής θερμοκρασίας
- Οθόνη θερμοκηπίου
- Εξωτερικός ατμοσφαιρικός έλεγχος
- Έλεγχος και παρακολούθηση HVAC οικίας/γραφείου
- Έλεγχος/έλεγχος επωαστήρα
ΣΗΜΕΙΩΣΗ: Αυτό δεν είναι ιατρική συσκευή και δεν υποκαθιστά τον σωστό σχεδιασμό και τις συνθήκες εργασίας!
- Χαρακτηριστικά
- Εντελώς δωρεάν για μη εμπορική χρήση.
- Έρχεται με μια υπερ-ταχύτητα προσομοιωμένη γραμματοσειρά 7 τμημάτων "Rose Digital" και το τμήμα 16 με πλήρη άλφα, "Astro Nerd" (βλ. Άδεια για περιορισμούς σε αυτό το τμήμα του λογισμικού, είναι για καλό σκοπό, υποσχόμαστε)
- Σχεδόν εντελώς δωρεάν αναβοσβήνει ενημερώσεις (1)
- Γράφημα αυτόματης εμβέλειας που καλύπτει όλο το φάσμα των αισθητήρων DHT11 και DHT22
- Χρησιμοποιεί ένα DHT11 (λίγο, δεν το έχουμε δοκιμάσει) ή DHT22 για να πάρει θερμοκρασία και σχετική υγρασία.
- Εμφανίζει τη σχετική υγρασία και θερμοκρασία σε Φαρενάιτ ή Κελσίου
- Εμφανίζει σημεία δροσιάς (συμπύκνωσης) ΚΑΙ παγετού (συμπύκνωση πάγου) στις τρέχουσες μονάδες
- Αναβοσβήνει γραφικές προειδοποιήσεις για υγρό και ξηρό αέρα.
- Προσαρμόσιμες από το χρήστη αναλογικές γραμματοσειρές οθόνης (επιλογή)
- Εύρος κύριας οθόνης -9 -> 99 F ή -9 -> 80C (Προειδοποίηση εύρους εάν ξεπεραστεί)
- Υγρασία από 0% -> 99% RH.
- Καταγράφει τη μέγιστη και την ελάχιστη θερμοκρασία και υγρασία από την επαναφορά
- Περιλαμβάνει τους υπολογισμούς του Steadman και θα προειδοποιεί για δυσάρεστες ή επικίνδυνες συνθήκες εργασίας
- Απαιτεί τουλάχιστον εξαρτήματα Uno, ασπίδα TFT 3,5 ιντσών
- Προαιρετικά εναλλασσόμενο F/C
- Προγραμματιζόμενος έλεγχος θερμαντήρα (για θερμοκοιτίδες κλπ.)
- Απλό στην κατασκευή
- Εξαιρετικά αρθρωτός κώδικας
- Είπαμε ότι είναι δωρεάν;
(1) Οι περιορισμοί προσωρινής αποθήκευσης στο UNO σημαίνουν ότι το γράφημα αναβοσβήνει σύντομα κατά τη διάρκεια ενημερώσεων.
Προμήθειες:
Arduino Uno R3 (ή κινέζικος κλώνος)
- 1 συσκευή παρακολούθησης θερμοκρασίας και υγρασίας DHT22 (eBay/Amazon)
- 1 ασπίδα TFT 3.5 "με οθόνη αφής και υποδοχή κάρτας SD (βλέπε κείμενο.)
- Διακόπτης SPST (προαιρετικός).
- Υπολογιστής με USB - για να ανεβάσετε το πρόγραμμα.
- Τροφοδοτικό 9-12v.
- Πλευρικά κοπτικά καλής ποιότητας
- Συγκολλητικό σίδερο & συγκόλληση. Τσιμπιδάκι Heatsink. Καλώδια βραχυκυκλωτήρων.
- Προαιρετικά, μια θήκη (οι θήκες Arduino Uno δεν έχουν αρκετό χώρο για ασπίδα οθόνης).
- Λεπτή σωλήνωση συρρίκνωσης θερμότητας (για να ντύσετε και να μονώσετε τα σημεία συγκόλλησης).
Βήμα 1: Τι κάνει αυτό το ξεχωριστό;
Αλλά περιμένετε, έχετε δει τις εικόνες και αυτός είναι ένας ακόμη μετρητής θερμοκρασίας και υγρασίας, σωστά; Μπορείτε να τα αποκτήσετε στο eBay με το ίδιο περίπου κόστος με την ασπίδα Arduino TFT που χρησιμοποιήσαμε για αυτό το έργο.
Καλά όχι … επιτρέψτε μου να εξηγήσω.
Κορωνοϊός, Covid-19, SARS-Cov-2… όλα αρκετά τρομακτικά πράγματα ένα από τα καλύτερα πράγματα που μπορούμε να κάνουμε αυτή τη στιγμή είναι να φροντίζουμε τους πνεύμονές μας και πουθενά δεν είναι πιο εύκολο να το κάνουμε αυτό στο σπίτι. Εάν εργαζόμαστε σε ένα σύγχρονο γραφείο, θα πρέπει να έχει καλό HVAC και τα περισσότερα σύγχρονα αυτοκίνητα έχουν εξαιρετικά φίλτρα που παίρνουν τα περισσότερα από τα μεγαλύτερα σωματίδια από τον εξωτερικό αέρα πριν εισέλθουν στην καμπίνα. Αυτό φεύγει από το σπίτι … το μόνο μέρος όπου αισθάνεστε ασφαλείς και εκεί κρύβονται οι πιο συνηθισμένες κακίες. Ενώ είναι δυνατό να πάρετε τη νόσο του Λεγεωνάριου από ένα βρώμικο κεφάλι ντους (ναι, πραγματικά!) Αυτό είναι πολύ ασυνήθιστο ευτυχώς.
Αλλά υπάρχει κάτι πολύ πιο συνηθισμένο που οι περισσότεροι από εμάς δεν κάνουμε ούτε μια δεύτερη σκέψη γιατί έχουμε ζήσει με αυτό όλη μας τη ζωή.
Μούχλα.
Πιο συγκεκριμένα, σπόρια μούχλας. Φανταστείτε τους ως μικροσκοπικούς σπόρους που παράγονται από μικροσκοπικά φυτώδη φυτά που το κρύβουν στο σκοτάδι και διασκορπίζονται ελεύθερα στον αέρα - συχνά χωρίς να χρειάζεται να ενοχληθείτε - και μπορούν να γεμίσουν τα σπίτια μας με τα πάντα, από εκείνα τα άσχημα μαύρα μπαλώματα στις υγρές γωνίες έως ξηρή σήψη και άλλα.
Η μούχλα δεν βλάπτει την ιδιοκτησία σας (η οποία είναι αρκετά κακή) μπορεί να προκαλέσει ερεθισμό σε ολόκληρο τον αεραγωγό - από τη μύτη και τα ιγμόρεια μας μέχρι τις κυψελίδες, τα εκατομμύρια μικρών σάκων που καλύπτουν τους πνεύμονές μας - είναι τόσο μικρά που απλωμένα, θα κάλυπταν περίπου ένα γήπεδο τένις. Αυτός είναι ένας μεγάλος χώρος για να εισέλθει ένας μικροσκοπικός οργανισμός, να κρυφτεί και να προκαλέσει κάθε είδους καταστροφή.
Και υπάρχουν περισσότερα…
Στο άλλο άκρο της κλίμακας, ο ξηρός αέρας μπορεί επίσης να προκαλέσει όλεθρο. Η επιφάνεια των πνευμόνων μας καλύπτεται από μια πολύ λεπτή μεμβράνη υδαρής βλέννας - είναι εκεί για να κρατήσει τις δυσάρεστες αποστάσεις και κάνει πολύ καλή δουλειά, αλλά αν ο αέρας είναι πολύ στεγνός, αυτή η βλέννα αρχίζει επίσης να στεγνώνει και που καθιστά πιο δύσκολη την αναπνοή.
Και υπάρχουν ακόμη περισσότερα…
Οι άνθρωποι φυσικά διατηρούνται δροσεροί με την εξάτμιση - ιδρώνουμε (σε μια ξηρή, ζεστή μέρα, είναι ανεπαίσθητο) αλλά καθώς αυξάνεται η υγρασία, οι άνθρωποι διαπιστώνουν ότι το νερό απλώς «στέκεται» στο δέρμα τους και αρχίζουν να ζεσταίνονται. Πολύ ζεστό.
Σε ορισμένα μέρη του κόσμου (Αυστραλία και τροπικές περιοχές) αυτό είναι ένα τέτοιο πρόβλημα που οι εργαζόμενοι πρέπει να γνωρίζουν την "αποτελεσματική θερμοκρασία εργασίας" - τα καιρικά κανάλια συχνά αναφέρονται σε αυτήν ως "αίσθηση" θερμοκρασίας, επειδή ως θερμότητα /η υγρασία αυξάνεται, η πιθανότητα θερμοπληξίας και ακόμη και ο θάνατος γίνεται μια πολύ πραγματική πιθανότητα.
Για κάποια λογική και περαιτέρω ανάγνωση συμβουλευτείτε τη Wikipedia ή βουτήξτε!
en.wikipedia.org/wiki/Heat_index
Αν σκέφτεστε, "αυτό δεν θα μου συμβεί ποτέ", σκεφτείτε ότι με την κλιματική αλλαγή αυτό γίνεται μια πολύ πραγματική πιθανότητα σε γεωγραφικά πλάτη πέρα από το Σιάτλ και δουλεύοντας σε μια καυτή "κακομαθημένη" μέρα θα μπορούσατε να διακινδυνεύσετε την υγεία σας χωρίς καν να το καταλάβετε.
Η θερμική εξάντληση είναι εξαιρετικά δυσάρεστη και η θερμοπληξία είναι μια σοβαρή ιατρική κατάσταση έκτακτης ανάγκης.
Έτσι, αυτή η συσκευή δεν είναι μόνο ένα φανταχτερό θερμόμετρο/υγρόμετρο, έχει ενσωματωμένους συναγερμούς για να προειδοποιεί για συνθήκες θερμοπληξίας, θα σας βοηθήσει να αποφασίσετε πόσο καλά αερίζεται το σπίτι σας και φαίνεται αρκετά έξυπνο (αν το λέμε μόνοι μας).
Με όλα όσα αναφέρθηκαν, αυτή η συσκευή δεν προορίζεται για ιατρικούς σκοπούς και δεν πρέπει να χρησιμοποιείται σε περιπτώσεις που μπορεί να υπονομευθεί η υγεία και η ασφάλεια των εργαζομένων. Ακόμα κι αν μπορούσαμε να πιστοποιήσουμε τον κωδικό μας (δεν μπορούμε) το ίδιο το υλικό δεν φέρει αυτή τη διαβεβαίωση. Αυτό είναι για να σταματήσει όλο αυτό το ακατάστατο νομικό mumbo jumbo, αλλά θα πρέπει να σας δώσει και να καταλάβετε πόσο υγιές είναι το σπίτι σας!
Η κατασκευή είναι τόσο εύκολη όσο γίνεται αν και θα χρειαστεί να "σφαγιάσετε" την ασπίδα TFT επειδή θα την χρησιμοποιήσουμε με τρόπους που οι σχεδιαστές δεν είχαν σκεφτεί.
ΣΗΜΕΙΩΣΗ: Καθώς κάποιος έθεσε αυτό το ζήτημα, αξίζει να σημειωθεί ότι οι αισθητήρες DHT22 έχουν αξιόπιστη ακρίβεια ± 0,5 ° C και ± 1% Rh που είναι αρκετή για πολλές εφαρμογές αλλά όχι εάν η θερμοκρασία/υγρασία είναι κρίσιμης σημασίας. Σχεδιάζουμε να προσθέσουμε κάποια βαθμονόμηση μετά τη συναρμολόγηση αργότερα. Το DHT11 έχει ελαφρώς λιγότερο ακριβή μέτρηση θερμοκρασίας ± 1,0 ° C, αλλά γενικά θα πρέπει να αντικατοπτρίζει καλά το περιβάλλον μας.
Βήμα 2: Κρεοπώληση του TFT
Αυτό είναι το μόνο πραγματικά δύσκολο κομμάτι και είναι το είδος του πράγματος που πρέπει να διορθώσετε γιατί αν δεν το παραδώσετε λίγο με ένα κολλητήρι … καλά, λιγότερο λέγεται γι 'αυτό, τόσο το καλύτερο.
Αυτό το έργο * πρέπει * να λειτουργεί με πολλές ασπίδες αυτής της ανάλυσης και τύπου - και το λογισμικό θα λειτουργεί με οποιοδήποτε ATMega 328 ή μεγαλύτερο (το λογισμικό είναι πολύ σφιχτό, πλησιάζει το 99% των 28Κ που διατίθενται σε αυτήν τη σύνταξη) και έχουμε συμπιέσει τόσα χαρακτηριστικά εκεί που θα επιτρέψει ο χώρος.
Ελέγξτε ότι όλα λειτουργούν πριν αρχίσετε να κόβετε κομμάτια
- Δοκιμή προσαρμόστε την οθόνη στο Arduino - η υποδοχή uSD πηγαίνει στο τέλος όπου μπαίνουν οι θύρες τροφοδοσίας και USB. Ο οπίσθιος φωτισμός θα ανάψει όταν τροφοδοτείται, αλλά διαφορετικά δεν θα κάνει τίποτα.
- Σημειώστε τις ετικέτες καρφιτσών για πρόσβαση στην κάρτα uSD. Δεν θα τα χρειαστούμε, οπότε θα δώσουμε στον πίνακα ένα πολύ κοντό κούρεμα.
- Στο ταμπλό μας, οι καρφίτσες στόχου επισημαίνονται με SD_SS, SD_DI, SD_DO και SD_SCK στο τέλος του J1.
- Μπορείτε να αφήσετε ή να αφαιρέσετε τις δύο τελευταίες καρφίτσες - τις κόβουμε από τον πίνακα μας.
- Μην κόψετε τίποτα άλλο ή η LCD δεν θα λειτουργήσει! Για παράδειγμα, το LCD_D0 (μία από τις γραμμές δεδομένων) είναι πολύ κοντά, οπότε πρέπει να χρησιμοποιείτε εξαιρετική προσοχή εδώ.
- Ελέγξτε δύο φορές, κόψτε μία φορά ή ελπίζετε ότι μπορείτε να κολλήσετε μια νέα κεφαλίδα!
Σημείωση: μπορεί να είναι δυνατή η χρήση "multiplex" των ακίδων SPI που χρησιμοποιήσαμε εδώ και η αποθήκευση δεδομένων στην κάρτα SD, αλλά αυτό είναι κάτι που θα αφήσουμε σε άλλους κατασκευαστές.
Βήμα 3: Τοποθέτηση / συγκόλληση του αισθητήρα
Αν και δεν είναι απολύτως απαραίτητο, η συγκόλληση των συνδέσεων είναι ο καλύτερος τρόπος για να κάνετε αυτό το έργο σε κάτι που μπορείτε να τοποθετήσετε και να ξεχάσετε.
Η συγκόλληση στο DHT22 πρέπει να επιχειρείται μόνο από κάποιον με λογικές δεξιότητες συγκόλλησης. Ο αισθητήρας είναι ιδιαίτερα ευαίσθητος στις αλλαγές θερμοκρασίας και υγρασίας. Ένα ανώνυμο άτομο υπερθέρμανε ελαφρώς τις καρφίτσες συγκόλλησης στις δικές μας (βήχας, βήχας) και έστειλε τον αισθητήρα τόσο μακριά από τη βαθμονόμηση που αρνήθηκε να λειτουργήσει μέχρι να τον "μαγειρέψουμε" σύμφωνα με τις οδηγίες του κατασκευαστή να σταματήσει να παράγει ανάγνωση Σφάλματα. Μια καλύτερη επιλογή για τους περισσότερους ανθρώπους είναι να προμηθευτούν ένα προεγκατεστημένο DHT11/22 με μια κεφαλίδα σχεδιασμένη για καλώδια άλματος.
Οι DHT22 χρησιμοποιούν σειριακό μονόκλωνο σειριακό σύνδεσμο για επικοινωνία με το MCU - με δυναμικό εύρος άνω των 10M (> 32 πόδια) χωρίς ρύθμιση σήματος, ώστε ο ανιχνευτής να μπορεί να τοποθετηθεί σε κάποια απόσταση από το Arduino.
Συνέβη (μετά τη μελέτη των διαγραμμάτων) ότι η κεφαλίδα 6-pin In-Circular Serial Programmer (ICSP) στο τέλος του πίνακα συνδέεται με τις ακίδες SPI που χρησιμοποιήθηκαν από την ασπίδα για την ανάγνωση/εγγραφή της κάρτας SD. Η χρήση αυτών των ακίδων δεν θα επηρεάσει την ικανότητά σας να προγραμματίσετε τον πίνακα μέσω USB στο μέλλον, καθώς χρησιμοποιούνται κυρίως για τον εντοπισμό σφαλμάτων και τον προγραμματισμό του Uno με σειριακό προγραμματιστή (FDTI). Ως δευτερεύουσα σημείωση, είμαστε ευγνώμονες στον Steve Wood της AudioSpectrum Analyzers στο Ηνωμένο Βασίλειο, που μας προμήθευσε με ένα εφεδρικό όταν το δικό μας εξαφανίστηκε στον τεράστιο σωρό του Marc.
Εάν διαθέτετε μια πένσα καλής ποιότητας με μακρυά μύτη, μπορείτε να στρέψετε τα καλώδια ώστε να πάρουν μια κεφαλίδα DuPont, αλλά η συγκόλληση είναι η προτιμώμενη μέθοδος. Με προσοχή (και σταθερό χέρι) είναι απολύτως δυνατό να κολλήσετε το DHT22 απευθείας στην κεφαλίδα.
Η σύνδεση είναι τόσο εύκολη όσο έρχεται, αλλά είναι απαραίτητο να παρατηρήσετε την πολικότητα επειδή η αντίστροφη σύνδεση της συσκευής είναι πιθανό να την καταστρέψει αμέσως. Παρόλο που το DHT22 έχει τέσσερις ακίδες, ο ακροδέκτης 3 δεν είναι συνδεδεμένος. Οι τοποθετημένοι αισθητήρες συνήθως διαθέτουν μόνο τρεις ακίδες που ταιριάζουν όμορφα με την κεφαλίδα. Με τον αισθητήρα να βρίσκεται στην πλάτη του (φαίνεται) μπορείτε να δείτε τη σωστή σειρά των ακίδων ισχύος και δεδομένων.
Βήμα 4: Δοκιμή και πρώτη χρήση
Το μόνο που απομένει είναι να συνδέσετε προσεκτικά τη μονάδα DHT22 στο Arduino και να ρυθμίσετε το λογισμικό. Πολλά από τα έξυπνα πράγματα γίνονται από το λογισμικό, που γίνεται εφικτό από τη βιβλιοθήκη γραφικών από το Adafruit, το πρόγραμμα οδήγησης οθόνης του David Prentice του MCUFriend και εξίσου έξυπνα πράγματα από τους υπολογισμούς της "αποτελεσματικής θερμότητας" του Robert Steadman.
Το μόνο που θα χρειαστεί να ρυθμίσετε σε αυτήν τη βασική διαμόρφωση είναι να πείτε στο λογισμικό ποιες τρεις καρφίτσες χρησιμοποιούνται.
Εάν προτιμάτε να συνδέσετε διαφορετικά τον αισθητήρα σας, οι ακόλουθες γραμμές στο CONSTANTS. H λένε στο Uno πώς να διαμορφώσει τον εαυτό του.
#define DHT22_DATA 11
Το DH22 χρησιμοποιεί πολύ συντηρητικό 1 - 1,5 mA όταν λαμβάνει ένδειξη η οποία είναι πολύ μικρότερη από το τυπικό μέγιστο των 20 mA, οπότε δεν πρόκειται να τονίσει τίποτα. (Φυσικά, το βραχυκύκλωμα οποιασδήποτε ακίδας θα καταστρέψει σχεδόν σίγουρα τη συσκευή, επομένως προτείνουμε τη χρήση θερμικής συρρίκνωσης εάν τοποθετήσετε τον αισθητήρα σε μια πρόσθετη πλακέτα Heath Robinson.) Εάν όλα πάνε καλά, το HotStuff θα εκκινήσει σε περίπου 5 δευτερόλεπτα. Εάν εντοπιστεί σφάλμα, η οθόνη θα γίνει μαύρη και θα εμφανίσει ένα σύντομο μήνυμα σφάλματος. Αυτό μπορεί σε μεγάλο βαθμό να αγνοηθεί καθώς σημαίνει ότι ο αισθητήρας είτε δεν τροφοδοτείται είτε δεν είναι καλωδιωμένος σωστά.
Βήμα 5: Χρήση του οργάνου και των συχνών ερωτήσεων
Ε: Μπορώ να δω πλαστά ίχνη των μη φωτισμένων ψηφίων στην οθόνη. Αυτό δεν είναι σφάλμα;
Α: Όχι, αυτό είναι σχεδιασμένο, αν και δεν έχει πέτρα. Η ιδέα ήταν να μιμηθούμε την εμφάνιση μιας "πραγματικής" οθόνης LCD (έναντι TFT υψηλής ανάλυσης). Τέτοιες οθόνες χρησιμοποιούν μεγάλα, προσχεδιασμένα μπλοκ τα οποία μπορούν να ενεργοποιηθούν και να απενεργοποιηθούν όπως τα εικονοστοιχεία, αλλά σε αντίθεση με τα εικονοστοιχεία μπορούν να καταλάβουν μεγάλα τμήματα της οθόνης. Ως αποτέλεσμα, υπάρχει πάντα ένα υποτιθέμενο ίχνος του ορατού υλικού και αυτό μιμείται εδώ.
Ε: Πώς μπορώ να κάνω εναλλαγή μεταξύ βαθμού Κελσίου και Φαρενάιτ;
Α: Η λειτουργία δεν είχε δοκιμαστεί πλήρως κατά τη στιγμή του "πάτημα" (επειδή κάποιος το ξέχασε, έτσι δεν είναι…). Ωστόσο, έχουμε ελέγξει και αυτή η λειτουργία λειτουργεί (αν το επιθυμείτε), αλλά συνδέουμε ένα μικρό διακόπτη ολίσθησης SPST με τον έναν ακροδέκτη στον πείρο 12 και τον άλλο σε μια βολική γείωση. Ο γρηγορότερος τρόπος για να το κάνετε αυτό είναι να κολλήσετε ή να χρησιμοποιήσετε μια τροποποιημένη υποδοχή DuPont για σύνδεση με το έδαφος και ο άλλος είτε για να καρφιτσώσετε απευθείας το 12 (ορισμένοι κλώνοι έχουν ένα επιπλέον σύνολο οπών για τέτοιου είδους πράγματα) είτε σε πρωτότυπα σχέδια, η ακίδα MOSI στην κεφαλίδα ICSP που είναι αυτή που βρίσκεται πάνω από την ισχύ 5v. Εάν αυτός ο διακόπτης είναι στην ανοιχτή θέση, η μονάδα εκκινεί σε βαθμούς Κελσίου, αλλά στην κλειστή, τραβάει τον πείρο 12 χαμηλά και μια επανεκκίνηση τον φέρνει ξανά σε Φαρενάιτ. Δεν χρειάζεται αντίσταση για την προστασία του πείρου αφού παρέχεται εσωτερική αντίσταση.
Ε: Μπορώ να χρησιμοποιήσω διαφορετικό αισθητήρα;
Α: Ναι. Αλλά είτε θα πρέπει να βρείτε μια βιβλιοθήκη που ταιριάζει είτε να γράψετε τη δική σας. Επιλέξαμε ένα DHT22 λόγω της διασύνδεσης ενός καλωδίου και επειδή υπήρχε ένα στο πίσω μέρος των τμημάτων που συλλέγουν σκόνη. Τα σχέδια μιας διασύνδεσης σύρματος είναι προτιμότερα επειδή μπορούμε να χρησιμοποιήσουμε τις άλλες "δωρεάν" ψηφιακές ακίδες για άλλες λειτουργίες. Το I2C δεν είναι διαθέσιμο, καθώς αυτό είναι κατειλημμένο από την ασπίδα οθόνης. Ωστόσο, το SPI είναι εάν είστε έτοιμοι να χάσετε λειτουργικότητα, όπως αλλαγή κλίμακας κλπ.
Ε: Μπορώ να πουλήσω μια εμπορική έκδοση;
Α: Σίγουρα μπορείτε να έχετε υπό την προϋπόθεση ότι ακολουθείτε τους όρους αδειοδότησης λογισμικού (είναι ουσιαστικά η άδεια BSD με 2 ρήτρες που είναι πολύ επιτρεπτική, αλλά λάβετε υπόψη ότι άλλες άδειες μπορεί να ισχύουν για τις συμπεριλαμβανόμενες βιβλιοθήκες.) Επίσης, σημειώστε ότι αυτή η συσκευή δεν είναι (και ποτέ δεν μπορεί να γίνει) πιστοποιημένο για χρήση σε κρίσιμα περιβάλλοντα, είναι για οικιακή/χόμπι χρήση, αν και θα μπορούσε να βρει εφαρμογές σε σπίτια φροντίδας κατοικιών, γραφεία και άλλους χώρους εργασίας. Απλά να γνωρίζετε ότι είναι τόσο καλός όσο και ο πιο αδύναμος κρίκος … Ο κινητήρας γραμματοσειρών που αναπτύχθηκε για αυτό το έργο έχει άδεια για μη εμπορική χρήση, εκτός εάν κάνετε δωρεά στο καρκίνο του συναδέλφου μας GoFundMe.
Ε: Οι ελάχιστες/μέγιστες αναγνώσεις μου δεν καταγράφονται στο γράφημα.
Α: Αυτό είναι σχεδιασμένο. Το όργανο χρησιμοποιεί έναν "κινητό μέσο όρο" (στατιστικός μέσος όρος) ο οποίος επαναφέρεται κάθε ώρα. Αυτό βοηθά να εξομαλυνθεί το γράφημα και να δοθεί μια πιο λογική ματιά στις μετρήσεις που αποτρέπουν τις περίεργες αιχμές (όπως μερικοί, «άτομο» που αναπνέουν στον αισθητήρα), από το να το κάνουν τρελό.
Ε: Γιατί δεν χρησιμοποιείτε συντομεύσεις C ++ (όπως ++, - και ούτω καθεξής) στον κώδικά σας; Γιατί όλα είναι τόσο … λεκτικά!
Α: Ένας από τους συγγραφείς είναι βετεράνος προγραμματιστής παιχνιδιών 8-bit, αλλά ο άλλος προέρχεται από την Python. Χρησιμοποιήσαμε μερικές συντομεύσεις όπου η χρήση τους είναι αρκετά ξεκάθαρη, αλλά η C (η γλώσσα που κρύβεται στο C ++) είναι παλιά και οι μεταγλωττιστές ήταν γενικά λίγο χαζοί όταν ο Kernighan και ο Richie έγραψαν τον πρώτο μεταγλωττιστή, για να μην αναφέρουμε ότι οι υπολογιστές ήταν πολύ αργά και τα πληκτρολόγια είχαν κλειδιά που ένιωσες ότι έπρεπε να χτυπήσεις με πλάκα. Όλα αυτά (και άλλα) οδήγησαν το C να είναι μια πολύ σύντομη γλώσσα με πολλαπλές συντομεύσεις για να επιτύχει το ίδιο πράγμα. Ένας μεγάλος αριθμός έχει (και παραμένει) υπεύθυνος για ορισμένα πολύ δύσκολα σφάλματα: και μην μας κάνετε καν να ξεκινήσουμε για συντριβές σωρού/στοίβας.
Προφανώς, ορισμένες βελτιστοποιήσεις (οι σηματοφόροι για παράδειγμα) είναι απαραίτητες επειδή προσπαθούμε να στριμώξουμε ένα κουταλάκι σε ένα φλιτζάνι τσαγιού, αλλά όπου είναι δυνατόν το έχουμε αποφύγει.
Παρεμπιπτόντως, εάν δεν έχετε ένα καλά διαβασμένο αντίγραφο του K&R C… σταματήστε τώρα και παραγγείλετε ένα. Υπάρχουν πολλά πολύ μεγάλα βιβλία για το C, αλλά το K&R παραμένει ίσως το καλύτερο και εφόσον το C υποστηρίζει το C ++ θα έχετε επίσης καλύτερη κατανόηση των χαρακτηριστικών αυτής της γλώσσας.
Ε: Νομίζω ότι βρήκα ένα σφάλμα τι πρέπει να κάνω!
Α: Σφάλματα; Δεν υπάρχουν σφάλματα, μόνο χαρακτηριστικά… απλά ορισμένες λειτουργίες δεν λειτουργούν όπως τις περιμέναμε. Αφήστε μας μια σημείωση στο GitHub και θα προσπαθήσουμε να αλλάξουμε τη λειτουργία ώστε να ταιριάζει περισσότερο στο σχέδιο. Στην πραγματικότητα, ο κώδικας αναδιαμορφώνεται συνεχώς σε πολλά διαφορετικά έργα, οπότε είναι αρκετά ασταθής σε μέρη και γι 'αυτό ο Marc θα χαστουκιστεί με ένα βρεγμένο μαντάρι μέχρι να φωνάξει, "Όχι άλλο!" - Νταν
Βήμα 6: Μεταγλώττιση από την πηγή
Το έργο φιλοξενείται στο GitHub (απλώς υπάρχει πάρα πολύς κώδικας για να χτυπήσετε ένα Instructable, οι άνθρωποι αποκτούν τετράγωνο βλέμμα προσπαθώντας να καταλάβουν όλα αυτά), αλλά ενώ τα προ-προγραμματισμένα ATMegas θα είναι διαθέσιμα στο eBay, ίσως θελήσετε να μεταγλωττίσετε το δικό σας από πηγή.
Ο πηγαίος κώδικας που πρέπει να μεταγλωττιστεί στο Visual Studio με την πλατφόρμα IO - έγινε λίγο δυσκίνητος για τον επεξεργαστή Arduino και το Visual Studio μας επιτρέπει να γράψουμε καλύτερο κώδικα με λιγότερα λάθη χάρη σε μερικές από τις "χνούδι" επιλογής που έχει.
github.com/marcdraco/HotStuff
platformio.org/
visualstudio.microsoft.com/downloads/Θα χρειαστείτε μερικές βιβλιοθήκες για αυτήν την ασπίδα. Adafruit GFX (που θα χρειαστεί και τη βιβλιοθήκη Wire).
MCUFriend_kbv από τον David Prentice v2.9. Ο Ντέιβιντ παρήγαγε μεταγενέστερες εκδόσεις, αλλά δεν είναι εγγυημένη η λειτουργία τους.
Βήμα 7: Κάντε το δικό σας
Δεν υπάρχει τίποτα σαν να έχεις ένα όμορφο έργο που μπορείς να δείξεις στους άλλους και να τους κάνεις να λαχανιάσουν με δέος καθώς ξεκινάει με το όνομά σου εκεί ψηλά. Έτσι, έχουμε ρυθμίσει το λογισμικό έτσι ώστε σχεδόν ο καθένας να μπορεί να κάνει αλλαγές χωρίς να γνωρίζει C/C ++.
Βρείτε στον αγαπημένο σας επεξεργαστή κειμένου στο "constants.h" για να βρείτε τις ακόλουθες γραμμές:
constexpr uint16_t defaultPaper = BLACK;
constexpr uint16_t defaultInk = CYAN;
Μπορείτε να δείτε τα ονόματα των χρωμάτων σε απλά Αγγλικά - Ο David Prentice παρείχε ευγενικά ορισμούς που εμφανίζονται νωρίτερα στο αρχείο και το μόνο που έχετε να κάνετε είναι να αλλάξετε το προσκήνιο (και το υπόβαθρο) σε κάτι της επιλογής σας προτού ανεβάσετε στον πίνακα. Τα χρώματα "ίχνος" για το γράφημα είναι λίγο πιο βαθιά εδώ και μοιάζουν με αυτό:
constexpr uint16_t HUMIDITY_TRACE {AZURE}; constexpr uint16_t TEMP_TRACE {YELLOW};
Παρόλο που αυτά τα TFT δεν είναι γνωστά για την αντίθεσή τους (και περιορίζονται σε 5-6-5 RGB, 16-bit χρώμα), έχουμε δώσει μια επιλογή συλλογής παραδείγματος "NIGHT_MODE", η οποία σχολιάζεται από προεπιλογή, αλλά ορίζει την οθόνη
Τα άλλα χρώματα μπορούν να ρυθμιστούν με τον ίδιο τρόπο. Θέλετε να διαβαστεί στο Imperial όταν ανάψει; Κανένα πρόβλημα! Βρείτε και σχολιάστε ("//") ή καταργήστε την ακόλουθη γραμμή και όταν ανεβάσετε ξανά στον πίνακα…
Ερωτήσεις, σχόλια και βελτιώσεις πρέπει να δημοσιεύονται στο GitHub.
Ακόμη μεγαλύτερη τεκμηρίωση σχετικά με την παραβίαση του έργου υπάρχει στο συνοδευτικό README. MD
Βήμα 8: Να το χακάρεις
Αυτό το έργο δημιουργήθηκε χρησιμοποιώντας την αρχή του KISS και είναι πλήρες ως έχει.
Μπορεί να αποτελέσει τη βάση για κάτι που βασίζεται σε έναν άλλο αισθητήρα - έναν πιο ακριβή ή γρηγορότερο ίσως, με την προϋπόθεση ότι υπάρχει αρκετός χώρος για τη βιβλιοθήκη του. Όπως μπορείτε να δείτε, τα πράγματα είναι ήδη αρκετά σφιχτά.
Όταν γνωρίζετε καλά τον κώδικα, είναι εύκολο να αλλάξετε τα πράγματα δραματικά, αλλά ακόμη και χωρίς πολλή εμπειρία προγραμματισμού, πολλές σταθερές τιμές στο "constants.h" εξηγούν πώς να αλλάξετε τα πράγματα. Πιο προχωρημένοι προγραμματιστές θα σημειώσουν ότι είναι σχετικά εύκολο (ελπίζουμε!) Να τραβάτε τα μέρη που χρειάζεστε για μετέπειτα χρήση. Για παράδειγμα, αντικαταστήσαμε την οθόνη γραφήματος με ένα πλήρως λειτουργικό ρολόι πραγματικού χρόνου σε λιγότερο από μία ώρα. Ωστόσο, το ρολόι απαιτεί έναν τρόπο ρύθμισης της ώρας, επομένως δεν είναι χρήσιμο ως έχει. θα κυκλοφορήσουμε αργότερα μια λειτουργική έκδοση (μπορείτε να βρείτε τον κωδικό ανάπτυξης στο GitHub στο HotStuff Chrono).
Αλλά υπάρχει κάτι σε αυτές τις οθόνες που δεν είναι άμεσα εμφανές μέχρι να μεταβείτε στο πρόγραμμα - αυτή η οθόνη αφής.
Το πρόβλημα με τις ανθεκτικές οθόνες αφής αυτού του τύπου είναι ότι χρειάζονται βαθμονόμηση που προσθέτει στην πολυπλοκότητα και, ειλικρινά, δεν υπάρχει το δωμάτιο με όλες τις άλλες λειτουργίες που στριμώξαμε για να στριφογυρίσουμε μια άλλη βιβλιοθήκη εκεί. Αυτό θα ήταν δυνατό με το Arduino Mega που έχει πολύ περισσότερο χώρο flash, αλλά πού είναι η διασκέδαση σε αυτό;
Κοιτάξτε κάτω από την πλακέτα και θα δείτε ότι εκτός από την ψηφιακή είσοδο/έξοδο για την οδήγηση της κάρτας LCD και SD δεν υπάρχουν έξοδοι για ένα ADC για τον εντοπισμό της μέτρησης αντίστασης.
Περίεργο σωστά;
Έξυπνοι άνθρωποι αυτοί οι σχεδιαστές. Η οθόνη έχει το δικό της buffer πλαισίου: αυτή είναι μια περιοχή RAM που διατηρεί την οθόνη ως έχει ενώ η τροφοδοσία παραμένει συνδεδεμένη, πράγμα που σημαίνει ότι μπορείτε (προγραμματικά) να αποσυνδέσετε αρκετές από τις καρφίτσες της συσκευής ενώ είναι ενεργοποιημένη και να τις χρησιμοποιήσετε για άλλες εργασίες - αρκεί να τα ξαναβάλεις μετά!
Για πληροφορίες σχετικά με το πώς γίνεται αυτό, προτείνουμε να διαβάσετε τη βιβλιοθήκη της Limor "Lady Ada" Fried's resistive screen touchscreen.
Και αν κάνετε κάτι δροσερό, φροντίστε να υποβάλετε αίτημα Pull!
Βήμα 9: Προαιρετικές δωρεές
Τώρα εδώ είναι το προαιρετικό κομμάτι, ας παρουσιάσουμε την κυρία που έδωσε ζωή και όνομα στις γραμματοσειρές που χρησιμοποιούνται σε αυτό το έργο και παραμένει έμπνευση για όλους μας, ιδιαίτερα όταν λαμβάνουμε ειδήσεις ότι έχει αναπτύξει καρκίνο και… οι περισσότεροι από εμάς γνωρίζουμε πόσο τρομακτικό είναι το συγκεκριμένο ο μπογιαμαν ειναι. Το πλήρες βιογραφικό της είναι στον ιστότοπό της https://www.rosedf.net/ και μπορείτε να τη βρείτε στα συνήθη κανάλια κοινωνικών μέσων. Λέει για τον εαυτό της:
Εάν δεν εκπαιδεύομαι για να φτάσω στο διάστημα, λέω στους ανθρώπους να πάνε να δουν τον όμορφο νυχτερινό μας ουρανό, να περάσουν χρόνο με αυτούς που αγαπώ ή απλά να γίνω σπασίκλας, μου αρέσει να εστιάζω την προσοχή μου στην πρόσβαση στην εκπαίδευση και την ισότητα. I εργάζομαι για τη συνηγορία για θύματα οικιακής/σεξουαλικής κακοποίησης και αστέγων, και μου αρέσει να ευαισθητοποιώ για τη σημασία της entalυχικής Υγείας στην καθημερινή ζωή και τον ακαδημαϊκό χώρο ».
Αν θέλετε να της πάρετε μερικά δολάρια (ή όποιο και αν είναι το τοπικό σας νόμισμα), τότε όλοι θα το εκτιμούσαμε πραγματικά. Πολλή αγάπη άρχισε να αναπτύσσει το HotStuff, ακόμη και πίστευε ότι προοριζόταν ως διδακτική άσκηση και μεγάλο μέρος αυτής της εργασίας μπορεί να επαναχρησιμοποιηθεί για μελλοντικά έργα που έχουν "αργό" επεξεργαστή, αλλά χρειάζονται γρήγορο, καθαρό και κυρίως ΜΕΓΑΛΟ αλφα-αριθμητικό γραμματοσειρά σε οθόνη TFT. Κάντε δωρεά εδώ (έχετε τις ευχαριστίες μας):
paypal.me/FirstGenSci
Συνιστάται:
Πώς να φτιάξετε 4G LTE Double BiQuade Antenna Εύκολα Βήματα: 3 Βήματα
Πώς να κάνετε εύκολα 4G LTE διπλή κεραία BiQuade Antenna: Τις περισσότερες φορές αντιμετώπισα, δεν έχω καλή ισχύ σήματος στις καθημερινές μου εργασίες. Ετσι. Searchάχνω και δοκιμάζω διάφορους τύπους κεραίας αλλά δεν δουλεύω. Μετά από σπατάλη χρόνου βρήκα μια κεραία που ελπίζω να φτιάξω και να δοκιμάσω, γιατί δεν είναι η βασική αρχή
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: 5 βήματα
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: Το Flick είναι ένας πραγματικά απλός τρόπος δημιουργίας ενός παιχνιδιού, ειδικά κάτι σαν παζλ, οπτικό μυθιστόρημα ή παιχνίδι περιπέτειας
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: 3 βήματα
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: Σε αυτό το Instructable πρόκειται να πραγματοποιήσουμε ανίχνευση προσώπου στο Raspberry Pi 4 με το Shunya O/S χρησιμοποιώντας τη βιβλιοθήκη Shunyaface. Το Shunyaface είναι μια βιβλιοθήκη αναγνώρισης/ανίχνευσης προσώπου. Το έργο στοχεύει στην επίτευξη της ταχύτερης ταχύτητας ανίχνευσης και αναγνώρισης με
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): 4 βήματα
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): Σε αυτήν την ανάρτηση, έφτιαξα ένα DIY Vanity Mirror με τη βοήθεια των λωρίδων LED. Είναι πραγματικά υπέροχο και πρέπει να τα δοκιμάσετε επίσης