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

Guino: Πίνακας ελέγχου για το Arduino σας: 4 βήματα (με εικόνες)
Guino: Πίνακας ελέγχου για το Arduino σας: 4 βήματα (με εικόνες)

Βίντεο: Guino: Πίνακας ελέγχου για το Arduino σας: 4 βήματα (με εικόνες)

Βίντεο: Guino: Πίνακας ελέγχου για το Arduino σας: 4 βήματα (με εικόνες)
Βίντεο: PARA SA AKIN - Arthur Miguel Cover (Lyrics) 🎵 2024, Ιούνιος
Anonim
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας
Guino: Πίνακας ελέγχου για το Arduino σας

Αυτό το έργο είναι μέρος των πειραμάτων που έγιναν κατά τη διάρκεια ενός καλλιτέχνη στην κατοικία στο Instructables. Μπορείτε να δείτε τα άλλα έργα εδώ. Μπορεί να είναι ένα δύσκολο έργο να εντοπίσετε σφάλματα και να απεικονίσετε δεδομένα σε πραγματικό χρόνο στον πίνακα Arduino. Συνήθως έχετε κολλήσει με την τυπική σειριακή έξοδο, καθώς η πολυπλοκότητα του κώδικα Arduino αυξάνεται και αυτό καθιστά αδύνατη την κατανόηση του τι συμβαίνει πραγματικά μέσα στον πίνακα. Για να το λύσω αυτό, δημιούργησα μια μικρή βιβλιοθήκη που θα σας επιτρέψει να δημιουργήσετε το δικό σας προσαρμοσμένο GUI για τα έργα σας Arduino. Παρακολουθήστε αυτό το βίντεο για να αποκτήσετε μια επίδειξη ενός βασικού κόσμου γεια με ένα μετρητή και μια δίοδο: Από τώρα, το πρόγραμμα έχει τις ακόλουθες δυνατότητες και δυνατότητες: Προσαρμόστε τη σχεδίαση της διεπαφής σας από τον πίνακα Arduino Ορίζετε ποια ρυθμιστικά, γραφήματα και κουμπιά χρειάζεστε για τη διεπαφή σας. Το κάνετε αυτό στο σκίτσο Arduino που σημαίνει ότι το πρόγραμμα gui λειτουργεί ως υποτελής στο σκίτσο. Όλες οι πληροφορίες αποθηκεύονται στον πίνακα σας. Οραματιστείτε και χειριστείτε δεδομένα σε πραγματικό χρόνο Είτε φτιάχνετε έναν ελεγκτή φωτός RGB είτε έναν βραχίονα ρομπότ, η λήψη γραφικών ανατροφοδότησης είναι ζωτικής σημασίας για να καταλάβετε τι συμβαίνει μέσα στον πίνακα. Αυτό σας δίνει τη δυνατότητα να καταλάβετε αν είναι το υλικό σας ή ο κώδικας που προκαλεί πρόβλημα. Επιπλέον, τα ρυθμιστικά και τα κουμπιά σάς επιτρέπουν να τροποποιήσετε τις μεμονωμένες παραμέτρους σε πραγματικό χρόνο. Με αυτόν τον τρόπο μπορείτε να δείτε τι επίδραση έχουν τα διαφορετικά κατώφλια στην αλληλεπίδραση. Αποθηκεύστε τις παραμέτρους στη μνήμη των πινάκων Όταν τροποποιήσετε τις παραμέτρους, μπορείτε να τις αποθηκεύσετε στο EEP από τον πίνακα. Οι παράμετροι θα φορτωθούν αυτόματα την επόμενη φορά που θα ενεργοποιήσετε την πλακέτα, ακόμη και αν ο υπολογιστής δεν είναι συνδεδεμένος. Χρησιμοποιήστε την ίδια εφαρμογή για όλα τα έργα σας Arduino, έχω κάνει πολλές μικρές εφαρμογές για διαφορετικά έργα. Το πρόβλημά μου είναι πάντα να τα ξαναβρώ ένα χρόνο αργότερα. Επειδή αποθηκεύουμε τα πάντα στο Arduino, χρειάζεται μόνο να κρατήσω μία εφαρμογή γύρω από το Arduino, η οποία θα ρυθμίσει αυτόματα την εφαρμογή για το τρέχον έργο. Πρωτότυπη διεπαφή πριν ενεργοποιήσετε το συγκολλητικό σίδερο, επειδή μπορείτε να σχεδιάσετε το gui όπως σας αρέσει (εντός λογικού όρια), μπορείτε να δημιουργήσετε πρωτότυπο της διεπαφής πριν κάνετε μια φυσική διεπαφή. Αυτό σας δίνει επίσης τη δυνατότητα να χωρίσετε τις εργασίες μεταξύ πολλών ατόμων π.χ. ένα άτομο εργάζεται στο υλικό και ένα άλλο άτομο εργάζεται στον κώδικα. Όταν ολοκληρώσετε τη φυσική διεπαφή, το Guino θα ενσωματωθεί απρόσκοπτα. Χρησιμοποιήστε τον ως πίνακα ελέγχου πλήρους οθόνης Μπορείτε να τον χρησιμοποιήσετε ως πίνακα ελέγχου πλήρους οθόνης πατώντας το F και πατώντας το T αλλάζει την ορατότητα του πίνακα ρυθμίσεων. Με αυτό τον τρόπο παρουσιάζετε μόνο την προσαρμοσμένη διεπαφή σας για τον κόσμο γύρω σας. Ελέγξτε το χρώμα φόντου Το χρώμα φόντου μπορεί να ελεγχθεί από το Arduino, αυτό σας επιτρέπει να δημιουργήσετε διαφορετικά χρώματα για διαφορετικά σκίτσα. Μπορεί επίσης να χρησιμοποιηθεί για να κάνει ειδοποιήσεις όταν κάτι δεν πάει καλά. Μπορεί να είναι πράσινο όταν όλα είναι εντάξει και κόκκινο όταν κάτι δεν πάει καλά. Γρήγορα και Slim Έχω φροντίσει πολύ να κάνω το αποτύπωμα στο Arduino όσο το δυνατόν μικρότερο - Αποθηκεύει μόνο έναν ελάχιστο όγκο δεδομένων στη μνήμη (συγκεκριμένα δείκτη λίστα 100 αντικειμένων). Αυτή η ρύθμιση μπορεί να αλλάξει σε χαμηλότερη ή υψηλότερη ανάλογα με την ποσότητα των στοιχείων gui που σκοπεύετε να έχετε στη διεπαφή σας. Επιπλέον, το σύστημα βασίζεται στη βιβλιοθήκη EasyTransfer που μεταφέρει τις πληροφορίες σε δυαδική μορφή. Κάθε πακέτο αποτελείται από ένα byte για εντολή, ένα byte για το στοιχείο # και έναν ακέραιο για την τιμή. Στην ιδανική περίπτωση, όλα τα δεδομένα σας θα πρέπει να εξομαλυνθούν σε ακέραιο εύρος με υπογραφή 16 bit. Αυτό σημαίνει βέλτιστη χρήση της σειριακής θύρας κατά την εργασία με ακέραιους αριθμούς (τεχνικά χρησιμοποιούμε λίγο επιπλέον χώρο για άθροισμα ελέγχου). Καλό για οδηγίες χρήσης Το GUI σάς δίνει τη δυνατότητα να δημιουργήσετε οδηγίες χρήσης που απαιτούν μόνο τα βασικά στοιχεία. Πρόσθετα στοιχεία όπως δοχεία κ.λπ. μπορούν να γίνουν ουσιαστικά μέσω του gui. Περιορισμοί και μελλοντικά σχέδια Αυτή τη στιγμή η εφαρμογή έχει μεταγλωττιστεί στην πλατφόρμα Mac OSX και Windows. Είναι γραμμένο σε Openframeworks οπότε θα πρέπει να μπορεί να τρέχει και σε άλλες πλατφόρμες. Δεδομένου ότι η εφαρμογή χρησιμοποιεί τη σειριακή θύρα, δεν θα μπορείτε να συνδέσετε άλλα προγράμματα στο Arduino. Αυτό θα λυθεί σε μελλοντική κυκλοφορία που θα περιλαμβάνει Open Sound Control και Midi Bridge. Συντελεστές: Προγραμματισμός και ιδέα: Βιβλιοθήκη Mads Hobye Easytransfer από: Bill Porter βιβλιοθήκη GUI από: Reza Ali

Βήμα 1: Ξεκινώντας

Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
  • Κατεβάστε και αποσυμπιέστε το πακέτο GUINO.
  • Κατεβάστε το Arduino
  • Αντιγράψτε το φάκελο βιβλιοθηκών στον φάκελο βιβλιοθηκών Arduino (πώς να το κάνετε εδώ)
  • Επανεκκινήστε το Arduino.
  • Ανοίξτε ένα από τα παραδείγματα στο Arduino. (Μενού: Αρχεία -> Παραδείγματα -> Guino -> επιλέξτε ένα)
  • Εάν χρησιμοποιείτε το απλό παράδειγμα, κάντε ένα κύκλωμα όπως απεικονίζεται παραπάνω.
  • Ανεβάστε το παράδειγμα.
  • Εκτελέστε την εφαρμογή Guino.
  • Επιλέξτε τη σειριακή θύρα (συνήθως η τελευταία)
  • Πατήστε σύνδεση.

Μπορείτε να βρείτε την πηγή εδώ.

ΣΗΜΑΝΤΙΚΟ: Όταν το χρησιμοποιείτε στην πλατφόρμα των Windows πρέπει να χρησιμοποιήσετε μια θύρα com η οποία είναι χαμηλότερη ή ίση με 10. Εάν χρησιμοποιείτε μια θύρα 10 ή μεγαλύτερη, το σύστημα δεν θα λειτουργήσει. Αυτό είναι ένα σφάλμα στα ανοιχτά πλαίσια.

Βήμα 2: Τρόπος τροποποίησης του κώδικα

Πώς να τροποποιήσετε τον κώδικα
Πώς να τροποποιήσετε τον κώδικα

Για να λειτουργήσει η βιβλιοθήκη με το σκίτσο σας, χρειάζεστε μερικές επιπλέον μεθόδους. Τα έχω περιγράψει παρακάτω: gInit () εδώ ορίζετε τη διάταξή σας Αυτή η μέθοδος ορίζει τη διάταξη προσθέτοντας διαδοχικά στοιχεία. Τα εξαρτήματα που μπορούν να αλλάξουν (ρυθμιστικό, κουμπιά κ.λπ.) έχουν προσαρτημένη μια μεταβλητή. Το & μπροστά από τη μεταβλητή σημαίνει ότι δεν θέλουμε να περάσουμε την τιμή στη μεταβλητή, αλλά θέλουμε να περάσουμε μια αναφορά (δείκτη) στη μεταβλητή. Με αυτόν τον τρόπο το σύστημα Guino τα ενημερώνει αυτόματα όταν συμβαίνουν αλλαγές στο GUI. void gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "ΥIGHΟΣ", & ύψος); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Τα περιστροφικά ρυθμιστικά gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); [………….] GAddColumn (); // Προσθέστε περισσότερα πράγματα εδώ. gSetColor (r, g, b); // Ορίστε το χρώμα της διεπαφής gui. } GButtonPressed (int id) αυτό καλείται κάθε φορά που πατάτε ένα κουμπί Γενικά οι μεταβλητές μπορούν να ενημερώνονται αυτόματα, αλλά στην περίπτωση ενός κουμπιού πρέπει να είναι ένα συμβάν που φροντίζετε. Σε αυτό το παράδειγμα ορίζουμε τη μεταβλητή ύψους σε 100 όταν κάποιος πατάει το κουμπί. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& ύψος); }} gItemUpdated (int id) Αυτό καλείται όποτε και το στοιχείο έχει ενημερωθεί. Συνήθως δεν είναι απαραίτητο να το χρησιμοποιήσετε αφού το σύστημα θα ενημερώσει αυτόματα τις μεταβλητές. Εάν θέλετε να αντιδράσετε σε μια αλλαγή, μπορείτε να τη χρησιμοποιήσετε ως τέτοια. Σε αυτήν την περίπτωση ενημερώνουμε το χρώμα φόντου κάθε φορά που αλλάζει ένα από τα 3 περιστροφικά ρυθμιστικά. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Βήμα 3: Μερικές γρήγορες συμβουλές

Θυμηθείτε να αποσυνδεθείτε κατά τη μεταφόρτωση ενός νέου σκίτσου Δεν μπορείτε να εκτελέσετε το Guino ενώ ανεβάζετε ένα νέο σκίτσο στον πίνακα Arduino, επειδή χρησιμοποιούν την ίδια σειριακή σύνδεση. Αυτό απαιτεί να αποσυνδέεστε κάθε φορά που ανεβάζετε ένα νέο σκίτσο. Εάν προσπαθήσετε (και θα προσπαθήσετε) να ανεβάσετε ενώ έχετε συνδέσει το Guino, ο πίνακας μπορεί να περάσει σε κάποια περίεργη κατάσταση όπου λειτουργεί κάπως, αλλά όχι αρκετά. Σε αυτό το σημείο η μόνη επιλογή σας είναι να επαναφέρετε την πλακέτα πατώντας το κουμπί επαναφοράς ή αποσυνδέοντας και επανασυνδέοντας το καλώδιο usb. Γνωστά σφάλματα Μέχρι τώρα το σύστημα λειτουργεί και είναι σταθερό. Τα παρακάτω είναι σφάλματα που πρέπει να γνωρίζετε:

  • Το setMin δεν λειτουργεί σε κινούμενο γράφημα (φαίνεται να υπάρχει ένα σφάλμα στη βιβλιοθήκη GUI που πρέπει να διορθωθεί). Έτσι το ελάχιστο παραμένει στο μηδέν.
  • Η σειριακή λίστα φορτώνεται κατά την εκκίνηση του προγράμματος. Το Arduino πρέπει να είναι συνδεδεμένο πριν ξεκινήσει το πρόγραμμα. Η ανανέωση της σειριακής λίστας κατά την εκτέλεση προκαλεί ένα κακό συμβάν. Δεν έχει ακόμη λυθεί.
  • Αντιμετώπιση της σειριακής λίστας - μερικές φορές το πρόγραμμα καταρρέει (το ίδιο gui συμβάν με το refresh - πρέπει να βρείτε την πηγή)
  • Το φόντο εναλλαγής κουμπιών γίνεται μαύρο ανάλογα με την προετοιμασία. Πρέπει να ορίσω το φόντο χειροκίνητα.
  • Σε ορισμένες πλατφόρμες παραθύρων η θύρα com δεν εμφανίζεται. Μπορεί να είναι πρόβλημα οδήγησης ftdi.

Βήμα 4: Θήκες χρήσης

Θήκες Χρήσης
Θήκες Χρήσης

Αν θέλετε να δείτε ορισμένες περιπτώσεις χρήσης με τη διεπαφή Guino, μεταβείτε σε αυτό το Instructable.

Συνιστάται: