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

Arduino Portable Workbench Part 3: 11 βήματα
Arduino Portable Workbench Part 3: 11 βήματα

Βίντεο: Arduino Portable Workbench Part 3: 11 βήματα

Βίντεο: Arduino Portable Workbench Part 3: 11 βήματα
Βίντεο: Portable Electronics Workbench with 3D Printed Parts 2024, Ιούλιος
Anonim
Arduino Portable Workbench Part 3
Arduino Portable Workbench Part 3
Arduino Portable Workbench Part 3
Arduino Portable Workbench Part 3

Εάν έχετε δει τα μέρη 1, 2 και 2Β, τότε μέχρι τώρα δεν υπήρχε πολύ Arduino σε αυτό το έργο, αλλά μόνο μερικά καλώδια σανίδων κλπ δεν είναι αυτό για το οποίο πρόκειται και το τμήμα υποδομής πρέπει να κατασκευαστεί πριν από την η ξεκούραση λειτουργεί.

Αυτός είναι ο ηλεκτρονικός κώδικας Arduino. Το προηγούμενο εγχειρίδιο 2B παραθέτει τις λεπτομέρειες του τροφοδοτικού.

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

Μια οθόνη αφής TFT που παρέχει μια οθόνη, που οδηγείται από ένα Arduino Mega για να παρέχει τα ακόλουθα

  1. 8 ψηφιακές οθόνες, απενεργοποιημένες/ενεργοποιημένες/ταλαντευόμενες
  2. 4 οθόνες τάσης
  3. 3 οθόνες ρεύματος/τάσης
  4. E24 μετρητής αντίστασης (επειδή δεν μπορώ πλέον να διαβάσω τις χρωματικές ζώνες)

Θα προσθέσω άλλα πράγματα, αλλά αυτός ήταν ο αρχικός μου στόχος. Ο κώδικας Arduino απαριθμεί επίσης μια σειριακή οθόνη, οθόνη I2C, μετρητή χωρητικότητας, ψηφιακούς διακόπτες και παλμογράφο που θα προσθέσω όσο περνάει ο καιρός. Επίσης, δεν έχω αποφασίσει αν αξίζει να προσθέσω τροφοδοτικό 3V3, μεταβλητή τροφοδοσία ή παρακολούθηση τάσης/ρεύματος τροφοδοσίας. Μέχρι στιγμής αυτό έχει δημιουργηθεί χρησιμοποιώντας το Mega, αλλά εξετάζω επίσης τη μετακίνηση ορισμένων λειτουργιών για τον διαχωρισμό κυκλωμάτων με πρόσβαση στο I2C, είτε αποκλειστικά τσιπ είτε προγραμματισμένα Atmel 328, τα οποία θα μπορούν να φιλοξενήσουν πιο εύκολα έναν διαφορετικό ελεγκτή.

Προμήθειες

5 x 16 υποδοχές κεφαλίδας

5 x 8 υποδοχές dupont, στην πραγματικότητα κατασκευασμένες από μακρές πρίζες 40 δρόμων σε γραμμή, κομμένες στο απαιτούμενο μήκος

1 x οθόνη αφής 3,5 ιντσών ILI9486 TFT

1 x Arduino Mega 2650

Μεμονωμένα συστατικά

Σύμφωνα με το κείμενο, η τιμή ορισμένων από αυτά δεν είναι απόλυτα σταθερή και αν παραλείψετε μια λειτουργία δεν θα χρειαστεί καθόλου:)

Digitalηφιακή είσοδος

Αντιστάσεις 16 x 10K

Αναλογική είσοδος

1 x TL074 a quad jfet opamp, αυτό είχα ως ανταλλακτικό, οτιδήποτε παρόμοιο θα κάνει:)

4 x 68K και 4 x 430k αντιστάσεις που χρησιμοποιούνται ως διαχωριστές τάσης.

4 x 1N4001 ή παρόμοιο

Μετρητής αντίστασης

1 x TL072 διπλό jfet opamp, αυτό είχα ως ανταλλακτικό, οτιδήποτε παρόμοιο θα κάνει:)

1M0, 300k, 100k, 30k, 10k, 3k, 1k, 300R (Εάν αλλάξουν αυτές οι τιμές, ο κωδικός Arduino πρέπει να ενημερωθεί)

Βήμα 1: Επισκόπηση των Ηλεκτρονικών

Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών
Επισκόπηση των Ηλεκτρονικών

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

Οι κύριες απαιτήσεις για τα ηλεκτρονικά κουτιά του έργου ήταν η τροφοδοσία νεότερων κυκλωμάτων χρησιμοποιώντας Arduino ή Raspberry PI, οπότε τα 5V ήταν απαραίτητα όπως και οι υποδοχές USB. Οι φωτισμένοι διακόπτες μου λένε αν η τροφοδοσία είναι ενεργοποιημένη ή όχι και κατά τη δοκιμή πρέπει να κατασκευάζω τακτικά μικρά βοηθητικά κυκλώματα για να δίνω προσωρινές ενδείξεις κατάστασης. Έχω ένα κουτί ογκωδών μετρητών που καταναλώνουν πολύ χώρο στον πάγκο και κυρίως, χρειάζομαι μια οθόνη που μπορώ να διαβάσω εύκολα καθώς η όρασή μου επιδεινώνεται, κάτι με μεγάλους φωτεινούς χαρακτήρες. Χρειάζομαι λοιπόν ψηφιακές οθόνες, μετρητές τάσης, μετρητές ρεύματος και σε αυτή την περίπτωση λίγη πολυτέλεια με τη μορφή μετρητή αντίστασης για να εντοπίσω γρήγορα τις αντιστάσεις της σειράς E24, όλα σε απόσταση 15 εκατοστών από το ψωμί του έργου και σε μια συμπαγή, φορητή θήκη.

Το κύριο τροφοδοτικό, που περιγράφηκε σε προηγούμενο άρθρο, παρέχει τροφοδοσία στο καπάκι χρησιμοποιώντας καλώδιο κορδέλας 40 κατευθύνσεων που επιτρέπει τη σύνδεση των δύο ενώ το καπάκι είναι κλειστό. Αυτό παρέχει εναλλασσόμενα τροφοδοτικά 5v και 12V για τα ηλεκτρονικά του πίνακα και για την τροφοδοσία του breadboard.

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

Στις πρίζες, η κύρια ράγα 0V του τροφοδοτικού είναι κοινή σε όλες τις παροχές και διατίθεται. Πάνω από αυτό είναι ένα τροφοδοτικό 5V, ενεργοποιημένο στη μονάδα βάσης, και πάνω από αυτό υπάρχουν δύο παρεχόμενες παροχές +12V και -12V, οι οποίες επί του παρόντος είναι σταθερές αν και έχω μια ιδέα να χακάρω την παροχή για να γίνει μεταβλητή και να παρέχω ένα 3,3-20V μεταβλητή προσφορά.

Βήμα 2: Τα Ηλεκτρονικά

Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά

Έχω δημοσιεύσει εκτυπώσεις οθόνης της διάταξης του breadboard, πώς φαίνεται το κύκλωμα όταν είναι χτισμένο σε πίνακα μήτρας, ένα σχηματικό σχήμα PDF και τα αρχικά αρχεία Fritzing. Αυτό δεν είναι ιδιαίτερα περίπλοκο ηλεκτρονικό και υπάρχει για να τοποθετήσει περιοριστικές αντιστάσεις, ενισχυτές buffer και συνδέσεις ανεμιστήρα για την πλακέτα Arduino. Υπάρχουν όμως αρκετές εικόνες που δείχνουν τις πολλές συνδέσεις λίγο πιο καθαρά. Το μεγαλύτερο μέρος της καλωδίωσης αποτελείται από τυποποιημένα μήκη καλωδίου προ-πτυχωμένης ταινίας dupont που επανασυναρμολογούνται σε περιβλήματα πολλαπλών οδών για να είναι ευκολότερο να επανασυνδέονται και να είναι πιο αξιόπιστα.

Το Arduino Mega 2650 είναι τοποθετημένο στο καπάκι με την υποδοχή USB διαθέσιμη για προγραμματισμό. Οδηγεί την οθόνη αφής TFT που χρησιμοποιείται για την εμφάνιση όλων των εξόδων και εισόδων.

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

Διατίθενται επίσης 4 είσοδοι τάσης μέσω της κεφαλίδας PCB και ενός διαχωριστή τάσης, της τάσης που εμφανίζεται στην οθόνη. Κάθε τάση εισόδου στον μπροστινό πίνακα, με αναφορά στην κοινή γείωση, περνά σε διαίρεση επί 7 διαχωριστή τάσης και στη συνέχεια ρυθμίζεται με έναν από τους τέσσερις ενισχυτές σε ένα TL074 που έχει διαμορφωθεί ως ενισχυτής διόρθωσης, μόνο για να αποφευχθούν ατυχήματα με αρνητικές τάσεις Το Θα ήταν ωραίο να προσθέσετε μια ένδειξη πολικότητας σε κάποιο στάδιο, αλλά όχι αυτή τη φορά. Η έξοδος από κάθε op-amp είναι σε μία από τις εισόδους ADC του Arduino.

Μια περαιτέρω κεφαλίδα PCB εκθέτει σειριακές και I2C συνδέσεις. Αυτό έγινε για να επιτραπεί η εφαρμογή μιας κονσόλας σειριακής οθόνης και μιας βασικής λειτουργίας αναγνώρισης I2C.

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

Το Arduino τροφοδοτεί έναν πίνακα αντίστασης σε ένα διαχωριστή τάσης για να παρέχει μια λειτουργία μετρητή αντίστασης. Η έξοδος αυτού ρυθμίζεται από ένα op-amp (μισό TL072) πριν διαβαστεί από το Arduino και υπολογιστεί η αντίσταση. Ο σκοπός αυτού δεν είναι η ακριβής μέτρηση αντίστασης αλλά ο γρήγορος προσδιορισμός των τιμών της σειράς E24, αν και με κάποια βαθμονόμηση θα μπορούσε να χρησιμοποιηθεί ως βασικός μετρητής. Η λειτουργία του είναι να ανιχνεύει όταν υπάρχει αντίσταση μικρότερη από 9M9 στα δύο ελατήρια που είναι τοποθετημένα στον μπροστινό πίνακα και στη συνέχεια να επιλέγεται επιλεκτικά 5V σε κάθε αντίσταση στη διαχωριστική συστοιχία μέχρι να μετρηθεί η τιμή που πλησιάζει τα 2,5V ή να επιλεγεί η τελευταία αντίσταση, Στη συνέχεια γίνεται υπολογισμός και σύγκριση για τον προσδιορισμό της πλησιέστερης τιμής Ε24. Το 5V προέρχεται από ψηφιακές εξόδους 3-10 στο Arduino, οι οποίες αναδιαμορφώνονται ως είσοδοι υψηλής αντίστασης μεταξύ κάθε μέτρησης για ελαχιστοποίηση των σφαλμάτων. Οι καρφίτσες Arduino D3-10 χρησιμοποιήθηκαν σκόπιμα ως μελλοντική προσθήκη που μπορεί να είναι ένας μετρητής χωρητικότητας χρησιμοποιώντας την ικανότητα PWM αυτών των εξόδων, η οποία θα μπορούσε δυνητικά να είναι μόνο μια αλλαγή λογισμικού.

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

Βήμα 3: Είσοδος τάσης/ρεύματος INA3221

INA3221 Είσοδος τάσης/ρεύματος
INA3221 Είσοδος τάσης/ρεύματος

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

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

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

Η ισχύς για την πλακέτα λαμβάνεται από τους ακροδέκτες Arduino 5V όπως και η γείωση, με τις συνδέσεις I2C να πηγαίνουν στο ηλεκτρονικό PCB.

Βήμα 4: Η οθόνη εμφάνισης

Η οθόνη εμφάνισης
Η οθόνη εμφάνισης

Αυτή ήταν μια αγορά eBay και διατίθεται από πολλές πηγές και είναι μια οθόνη που λειτουργεί με ILI9486. Διαπίστωσα ότι λειτουργούσε καλύτερα με τις βιβλιοθήκες MCUFRIEND του David Prentice, αλλά πρέπει να βαθμονομηθεί πριν από τη χρήση, κάτι που απαιτούσε απλώς να εκτελείται ένα από τα παραδείγματα βιβλιοθήκης που παρέχει ο David με συνδεδεμένη οθόνη, ακολουθήστε τις οδηγίες στην οθόνη και γράψτε τις παραμέτρους που εμφανίζονται, εισάγοντας το αρχείο κώδικα Arduino_Workstation_v01, αν είναι διαφορετικό.

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

Βήμα 5: Συνδέστε το μαζί

Συνδέοντας το Μαζί
Συνδέοντας το Μαζί
Συνδέοντας το Μαζί
Συνδέοντας το Μαζί
Συνδέοντας το Μαζί
Συνδέοντας το Μαζί

Το Arduino Mega βρίσκεται στο LHS του καπακιού, με θύρες USB και τροφοδοσίας προσβάσιμες από έξω από τη θήκη. Στο RHS δίπλα στο Arduino είναι τα ηλεκτρονικά που είναι τοποθετημένα σε πίνακα μήτρας και πάνω από αυτό είναι τοποθετημένη η πλακέτα INA3221 στο πίσω μέρος του καπακιού.

Επίσης στο πίσω μέρος του καπακιού στο LHS πάνω από το Arduino υπάρχει μια πλακέτα σύνδεσης κοινού εδάφους στην οποία είναι συνδεδεμένες όλες οι βάσεις.

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

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

Βήμα 6: Ενοποιημένοι δυνητικοί πελάτες

Ενοποιημένα Leads
Ενοποιημένα Leads
  1. Είσοδοι τάσης και αντίστασης στις θύρες Arduino ADC, πέντε αγωγοί 20cm με μεμονωμένους αρσενικούς συνδέσμους στο ένα άκρο ενοποιημένους σε εξάδρομο περίβλημα με κενό για να καλύψουν το κενό στις κεφαλίδες Arduino.
  2. Καλώδιο 4 κατευθύνσεων 10 εκατοστών από τετράδρομο περίβλημα σε δύο περιβλήματα διπλής κατεύθυνσης για σύνδεση των ακίδων τάσης στο μπροστινό πάνελ με την πλακέτα κυκλώματος.
  3. Καλώδιο 8 κατευθύνσεων 10 εκατοστών από αρσενική κεφαλίδα 2x4 κατευθύνσεων σε θηλυκή κεφαλίδα 8 κατευθύνσεων
  4. Καλώδιο 4 κατευθύνσεων 10cm από θηλυκό περίβλημα 4 κατευθύνσεων έως θηλυκό περίβλημα 4 κατευθύνσεων για σύνδεση Serial και I2C στον μπροστινό πίνακα
  5. Καλώδιο 4 κατευθύνσεων 10 εκατοστών από περίβλημα 4 κατευθύνσεων σε τέσσερις ενιαίους συνδετήρες για σύνδεση INA3221 στον μπροστινό πίνακα
  6. Καλώδιο 4 κατευθύνσεων 20 εκατοστών για σύνδεση τετραγωνικού θηλυκού περιβλήματος με τετράπλευρο αρσενικό περίβλημα για να πάρετε Serial και I2C από το Arduino στην πλακέτα κυκλώματος.
  7. Καλώδιο 8 κατευθύνσεων 10cm από θηλυκό περίβλημα 8 κατευθύνσεων έως θηλυκό περίβλημα 8 κατευθύνσεων για λήψη ψηφιακών εισόδων από τον μπροστινό πίνακα στην πλακέτα κυκλώματος.
  8. Καλώδιο 8 κατευθύνσεων 10 εκατοστών για θηλυκό περίβλημα 8 κατευθύνσεων σε αρσενικό περίβλημα 3 κατευθύνσεων και αρσενικό περίβλημα 5 κατευθύνσεων για σύνδεση του διαχωριστή αντίστασης στην πλακέτα κυκλώματος. Τα δύο περιβλήματα χρησιμοποιούνται για να καλύψουν το μη τυπικό κενό στις κεφαλίδες στον πίνακα Arduino.
  9. Καλώδιο διπλής κατεύθυνσης 20 εκατοστών για μεταφορά γυναικείου περιβλήματος δύο κατευθύνσεων σε δύο μονά αρσενικά βύσματα για την παροχή ρεύματος INA3221.
  10. Καλώδιο 2 κατευθύνσεων 10 εκατοστών για να μεταφέρετε θηλυκό περίβλημα διπλής κατεύθυνσης σε δύο μονά θηλυκά περιβλήματα για να συνδέσετε την τρίτη σύνδεση οθόνης INA3221 στον μπροστινό πίνακα.
  11. Καλώδιο διπλής κατεύθυνσης 10 εκατοστών για μεταφορά γυναικείου περιβλήματος διπλής κατεύθυνσης σε θηλυκό περίβλημα δύο κατευθύνσεων για σύνδεση του INA3221 με τις συνδέσεις fanout I2C.

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

Κωδικός Arduino
Κωδικός Arduino
Κωδικός Arduino
Κωδικός Arduino

Αυτό το έργο βασίζεται στο Arduino Mega 2650 για τον απλούστατο λόγο που ήθελα πολλές θύρες εισόδου/εξόδου αφιερωμένες σε εργασίες σε απλή μορφή. Οι βιβλιοθήκες για την προεπιλεγμένη οθόνη αφής TFT που υποστηρίζουν το Arduino Uno και πρέπει να επεξεργαστούν για να υποστηρίξουν το Mega. Η επεξεργασία των βιβλιοθηκών υποστηρίζεται από τον αρχικό συντάκτη κώδικα TFT, είναι απλή και περιγράφεται στο επόμενο βήμα.

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

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

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

Στοιχεία μενού - αυτά δεν εμφανίζουν πληροφορίες, αλλά όταν αγγίζονται εκτελούν μια σχετική υπορουτίνα, που προσδιορίζεται στις παραμέτρους του στοιχείου

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

Αναλογικά στοιχεία - εμφανίζουν μια κατά προσέγγιση τάση όπως μετράται στον αντίστοιχο αναλογικό πείρο. Τέσσερα έχουν καθοριστεί αρχικά.

Στοιχεία ακριβείας - εμφανίζουν είσοδο από εξωτερική μονάδα μετρητή τάσης/ρεύματος ακριβείας. Υπάρχουν μόνο τρία από αυτά, αλλά θα μπορούσε να προστεθεί μια δεύτερη ή τρίτη ενότητα.

Στοιχείο αντίστασης - αυτό είναι ένα μόνο στοιχείο που εμφανίζει την είσοδο από το μετρητή αντίστασης.

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

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

Κανονική λειτουργία - εμφανίζει 8 ψηφιακές εισόδους, τέσσερις αναλογικές εισόδους τάσης, τρία στοιχεία ακριβείας, το στοιχείο αντίστασης και τέσσερα στοιχεία μενού. Η επιλογή Normal από το μενού θέτει την οθόνη σε αυτήν τη λειτουργία.

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

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

Για να προσθέσετε επιπλέον λειτουργικότητα, πρέπει να προστεθούν οι ακόλουθες ρουτίνες

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

ρουτίνα «λογικής» που δέχεται τις πληροφορίες από τη ρουτίνα κλήρωσης και χρησιμοποιεί τις κατάλληλες ρουτίνες προγράμματος οδήγησης οθόνης για να τοποθετήσει τις πληροφορίες στην οθόνη και να επιστρέψει τις σωστές πληροφορίες αφής για την περιοχή της οθόνης που έχει σχεδιαστεί

ρουτίνα «εγκατάστασης» που ονομάζεται μέρος της ρύθμισης Arduino

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

Βήμα 8: Επεξεργασία των Βιβλιοθηκών Arduino

Επεξεργασία των Βιβλιοθηκών Arduino
Επεξεργασία των Βιβλιοθηκών Arduino
Επεξεργασία των Βιβλιοθηκών Arduino
Επεξεργασία των Βιβλιοθηκών Arduino

Η οθόνη που χρησιμοποίησα λειτουργεί πολύ καλά με το Arduino Uno και τις βασικές βιβλιοθήκες που έχουν γραφτεί για αυτό, αλλά εκτελείται αργά όταν μεταφέρεται απευθείας στο Arduino Mega. Για να οδηγήσετε σωστά την οθόνη, πρέπει να χρησιμοποιήσετε ένα διαφορετικό σύνολο ακίδων δεδομένων και αυτή η αλλαγή χρήσης πρέπει να ρυθμιστεί στις βιβλιοθήκες. Αυτή είναι μια απλή αλλαγή και προοριζόταν από τον συγγραφέα. Οι εικόνες υπογραμμίζουν τις αλλαγές που έγιναν.

Τα δύο αρχεία αποθηκεύονται στο φάκελο MCUFRIEND_kbv / βοηθητικό πρόγραμμα ως mcufriend_shield.h και mcufriend_special.h. Οι αλλαγές που απαιτούνται είναι πρώτα στο αρχείο επικεφαλίδας «ασπίδα» για να διασφαλιστεί η ανάγνωση της πρώτης γραμμής

#define USE_SPECIAL

για να διασφαλιστεί ότι έχει φορτωθεί το αρχείο "ειδικής" κεφαλίδας.

Το αρχείο "ειδικής" κεφαλίδας πρέπει επίσης να ενημερωθεί για να διασφαλιστεί ότι η γραμμή

#define USE_MEGA_8BIT_PROTOSHIELD

είναι χωρίς σχόλιο

Αυτές οι δύο αλλαγές σημαίνουν ότι ο κωδικός οθόνης για αυτήν την οθόνη θα λειτουργεί χρησιμοποιώντας τις ακίδες 20-29 στο Arduino Mega αντί για τις προεπιλεγμένες 3-10 στο Uno.

Βήμα 9: Στιγμιότυπα οθόνης

Στιγμιότυπα οθόνης
Στιγμιότυπα οθόνης
Στιγμιότυπα οθόνης
Στιγμιότυπα οθόνης
Στιγμιότυπα οθόνης
Στιγμιότυπα οθόνης

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

Στην πρώτη οθόνη εμφανίζεται η «κανονική» οθόνη με μενού στο επάνω μέρος, μετρήσεις τάσης στο LHS, μετρήσεις τάσης και ρεύματος στο RHS και κατάσταση ψηφιακού πείρου στο κάτω μέρος, κόκκινο για «ψευδές/χαμηλό», πράσινο για «αληθινό/υψηλό» '. Τέλος στο κέντρο είναι η μέτρηση αντίστασης.

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

Η τρίτη οθόνη εμφανίζει τις εισόδους τάσης σε μεγάλη λειτουργία.

Βήμα 10: Φόρτωση του κώδικα Arduino

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

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

Οι βιβλιοθήκες που θα πρέπει να φορτωθούν είναι οι βιβλιοθήκες Adafruit GFX και Touchscreen οι οποίες θα πρέπει να είναι διαθέσιμες από τον διαχειριστή βιβλιοθηκών Arduino, αντίγραφο του MCUFRIEND_kbv που μπορεί να μεταφορτωθεί από το github και για το INA3221, η βιβλιοθήκη SwitchDocLabs SDL_Arduino_INA3221 μπορεί επίσης να μεταφορτωθεί από το github. μια αναζήτηση στο google.

Βήμα 11: Τελικές πινελιές

Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές
Τελικές πινελιές

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

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

Αυτή τη στιγμή θα συνεχίσω να το χρησιμοποιώ, έχω μερικά έργα να δουλέψω!

Συνιστάται: