Πίνακας περιεχομένων:
- Βήμα 1: Χρήση του Processing.serial
- Βήμα 2: Κατανοήστε την σειριακή τάξη
- Βήμα 3: Σειριακή τάξη Arduino
- Βήμα 4: Δημιουργήστε έναν ελεγκτή τμήματος GUI 7
Βίντεο: Σύνδεση επεξεργασίας και Arduino και Make 7 Segment και Servo GUI Controller: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Για ορισμένα έργα που κάνατε πρέπει να χρησιμοποιήσετε το Arduino καθώς παρέχει μια εύκολη πλατφόρμα πρωτοτύπων, αλλά η εμφάνιση γραφικών στη σειριακή οθόνη του Arduino μπορεί να διαρκέσει πολύ και είναι ακόμη δύσκολο να γίνει. Μπορείτε να εμφανίσετε γραφήματα στο Arduino Serial Monitor αλλά τα γραφήματα δεν είναι το μόνο πράγμα που μπορεί να χρειαστεί να εμφανίσετε. Όλα τα διαδραστικά αντικείμενα όπως ρυθμιστικά, κουμπιά, προγράμματα με έξοδο 2D, 3D, PDF ή SVG και μπορείτε επίσης να δημιουργήσετε κινούμενα σχέδια εύκολα. Η προεπιλεγμένη λειτουργία προγραμματισμού για επεξεργασία είναι Java, αλλά μπορείτε να την αλλάξετε σε Android, p5.js, REPL, CoffeeScript και JavaScript. Σε αυτό το Instructable θα χρησιμοποιήσουμε ωστόσο τη λειτουργία προγραμματισμού Java.
Όλο το περιεχόμενο και ο κώδικας είναι επίσης διαθέσιμοι στο github μου εδώ.
Βήμα 1: Χρήση του Processing.serial
Κώδικας επεξεργασίας
Οι δύο πρώτες γραμμές κώδικα θα είναι
επεξεργασία εισαγωγής.σειρά.*; Σειριακό myPort;
Εδώ στην πρώτη γραμμή εισάγουμε τη βιβλιοθήκη - επεξεργασία και στη δεύτερη γραμμή δημιουργούμε ένα αντικείμενο της κλάσης Serial με όνομα myPort, μπορείτε να το ονομάσετε όπως θέλετε, ακολουθώντας τους κανόνες ονομασίας ενός αναγνωριστικού.
Κατά την επεξεργασία έχουμε void setup () και void draw () όπου void είναι ο τύπος επιστροφής της συνάρτησης που μπορείτε επίσης να την αλλάξετε σε int setup () και int draw () ή σε άλλο τύπο δεδομένων που σας αρέσει αλλά θα χρειαστεί να επιστρέψετε ένα τιμή που έχει τον ίδιο τύπο δεδομένων με τον τύπο δεδομένων που χρησιμοποιείτε πριν από τις συναρτήσεις.
στο setup () γράφουμε τις δηλώσεις που πρέπει να εκτελέσουμε μία φορά ενώ στην κλήρωση () γράφουμε τις δηλώσεις που πρέπει να εκτελέσουμε πολλές φορές. Οι δύο γραμμές κώδικα που αναφέρονται παραπάνω θα πρέπει να γραφτούν πάνω από το void setup () επειδή πρέπει να έχουν καθολική πρόσβαση.
Στο void setup () θα αρχικοποιήσουμε το αντικείμενο myPort.
void setup () {
μέγεθος (800, 800).
myPort = νέο Σειριακό (αυτό, "COM18", 9600);
}
Το μέγεθος της γραμμής (800, 800). ορίζει το μέγεθος της οθόνης που είναι 800 εικονοστοιχεία επί 800 εικονοστοιχεία.
Η λέξη κλειδί νέα στη δεύτερη γραμμή χρησιμοποιείται για να κρατήσει χώρο για το αντικείμενο στη μνήμη, το επιχείρημα αυτό είναι μια μεταβλητή αναφοράς που αναφέρεται στο τρέχον αντικείμενο. Το επιχείρημα COM18 είναι η θύρα του Arduino συνδεδεμένου, το χρειαζόμαστε καθώς θα μεταφέρουμε τα δεδομένα μέσω σειριακής διεπαφής. Ο αριθμός 18 μπορεί να είναι διαφορετικός στην περίπτωσή σας, μπορείτε να τον βρείτε στην ενότητα Εργαλεία> Θύρα στο Arduino IDE και 9600 είναι ο ρυθμός baud που μπορείτε να αλλάξετε τόσο στο Arduino όσο και στην Επεξεργασία.
Βήμα 2: Κατανοήστε την σειριακή τάξη
Ο κατασκευαστής για το Serial
Σειριακό (γονικό, όνομα port, baudRate, ισοτιμία, dataBits, stopBits)
Επιχειρήματα:
γονέας: χρησιμοποιήστε συνήθως "αυτό"
baudRate (int): Το 9600 είναι το προεπιλεγμένο
portName (String): όνομα της θύρας (το COM1 είναι το προεπιλεγμένο)
ισοτιμία (char): 'N' για κανένα, 'E' για ζυγό, 'O' για περιττό, 'M' για σήμα, 'S' για χώρο (το 'N' είναι το προεπιλεγμένο)
dataBits (int): 8 είναι η προεπιλογή
stopBits (float): 1.0, 1.5 ή 2.0 (το 1.0 είναι το προεπιλεγμένο)
Σημαντικές μέθοδοι:
- myPort.available () - επιστρέφει τον αριθμό των διαθέσιμων byte.
- myPort.clear () - αδειάζει το buffer και αφαιρεί όλα τα δεδομένα που είναι αποθηκευμένα εκεί.
- myPort.read () - Επιστρέφει έναν αριθμό μεταξύ 0 και 255 για το επόμενο byte που περιμένει στο buffer.
- myPort.readString () - Επιστρέφει όλα τα δεδομένα από το buffer ως String ή null αν δεν υπάρχει τίποτα διαθέσιμο.
- myPort.write ("test") - Γράφει bytes, chars, ints, bytes , Strings στη σειριακή θύρα.
- myPort.stop () - Σταματά την επικοινωνία δεδομένων στη θύρα.
Βήμα 3: Σειριακή τάξη Arduino
Δεν χρειάζεται να εισαγάγετε τη σειρά σειρών στο Arduino πριν τη χρησιμοποιήσετε.
Στο Arduino υπάρχουν 2 συναρτήσεις που ονομάζονται setup () και loop () η εγκατάσταση εκτελείται μόνο μία φορά αλλά ο βρόχος εκτελείται πολλές φορές. Στο setup () πρέπει να γράψουμε χρησιμοποιώντας τη μέθοδο έναρξης () για να ξεκινήσει η σειριακή επικοινωνία. Στο Arduino σε αντίθεση με την επεξεργασία, δεν χρειάζεται να αναφέρουμε τη θύρα ως ορίσματα της μεθόδου begin () καθώς ήδη καθορίζουμε τη θύρα κατά τη μεταφόρτωση του σκίτσου στο Arduino.
Έτσι, το setup () θα μοιάζει με αυτό:
void setup () {
Serial.begin (9600); // ξεκινήστε τη σειριακή επικοινωνία
}
9600 εδώ καθορίζει το ρυθμό baud που είχαμε αναφέρει και αυτό στο αρχείο επεξεργασίας. Για σωστή επικοινωνία και οι δύο ρυθμοί baud πρέπει να είναι ίσοι ή μπορείτε να δείτε την σειριακή έξοδο ως κάτι ανόητο.
Τώρα ας δούμε το μέρος του βρόχου (). Αυτό το μέρος του κώδικα εκτελείται πολλές φορές. Αν θέλουμε να διαβάσουμε κάποια δεδομένα από τη θύρα θα χρησιμοποιήσουμε τη μέθοδο Serial.read (). Αυτή η συνάρτηση επιστρέφει μηδενική εάν δεν υπάρχουν διαθέσιμα δεδομένα, οπότε θα καλέσουμε αυτήν τη μέθοδο μόνο όταν έχουμε κάποια δεδομένα στη διαθέσιμη σε σειριακή ροή.
Για να ελέγξουμε εάν υπάρχουν διαθέσιμα δεδομένα θα χρησιμοποιήσουμε τη μέθοδο Serial.available (). Εάν επιστρέψει τιμή μεγαλύτερη από 0 - είναι διαθέσιμα ορισμένα δεδομένα.
Έτσι, το τμήμα βρόχου () θα μοιάζει με αυτό:
void loop () {
εάν (Serial.available ()> 0) {// εάν υπάρχουν διαθέσιμα δεδομένα στη σειριακή θύρα
κατάσταση char = Serial.read (); // διαβάστε την τιμή
// εάν δηλώσεις ή εναλλαγή κεφαλαίων
}
}
Τώρα μπορούμε να χρησιμοποιήσουμε εάν η σκάλα ή εάν υπάρχουν πολλά πιθανά αποτελέσματα μπορούμε να χρησιμοποιήσουμε και την περίπτωση διακόπτη για μεταβλητή κατάσταση.
Βήμα 4: Δημιουργήστε έναν ελεγκτή τμήματος GUI 7
Τα αρχεία επισυνάπτονται εδώ. Σημείωση: Για επεξεργασία θα χρειαστεί επίσης να εγκαταστήσετε τη βιβλιοθήκη ελέγχου p5 που έχω χρησιμοποιήσει για τη δημιουργία διαδραστικών κουμπιών GUI.
Καρφίτσωμα αριθμών
7 τμήμα (με αλφαβητική σειρά) παραπέμπουν στην εικόνα
a - ψηφιακή ακίδα 2
β - ψηφιακή ακίδα 3
c - ψηφιακή ακίδα 4
d - ψηφιακή ακίδα 5
e - ψηφιακή ακίδα 6
f - ψηφιακή ακίδα 7
g - ψηφιακή ακίδα 8
dp - ψηφιακή ακίδα 9
Όλο το περιεχόμενο και ο κώδικας είναι επίσης διαθέσιμοι στο github μου εδώ
Συνιστάται:
Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-Έλεγχος χρωμάτων: 10 βήματα
Ενδιαφέρουσες οδηγίες προγραμματισμού για σχεδιαστές-Έλεγχος χρωμάτων: Σε προηγούμενα κεφάλαια, έχουμε μιλήσει περισσότερο για τον τρόπο χρήσης του κώδικα για τη διαμόρφωση αντί για σημεία γνώσης σχετικά με το χρώμα. Σε αυτό το κεφάλαιο, θα διερευνήσουμε αυτή την πτυχή της γνώσης βαθύτερα
Σύστημα αναγνώρισης και πυρόσβεσης βάσει επεξεργασίας εικόνας: 3 βήματα
Σύστημα αναγνώρισης και πυρόσβεσης με βάση την επεξεργασία εικόνας: Γεια σας φίλοι, αυτό είναι ένα σύστημα ανίχνευσης και πυρόσβεσης που βασίζεται στην επεξεργασία εικόνας χρησιμοποιώντας το Arduino
Μεταφορά γραφικών επεξεργασίας Arduino: 5 βήματα
Arduino Processing Graphic Transition: Γεια, αυτό το έργο προορίζεται για τη δημιουργία ορατών γραφικών από αόρατα σωματίδια που θα μπορούσαν να ανιχνευθούν από αισθητήρες. Σε αυτήν την περίπτωση, χρησιμοποίησα τον υπερηχητικό αισθητήρα και τη φωτοαντίσταση για τον έλεγχο του φωτός και της απόστασης. Το φαντάζομαι κάνοντας τις μεταβλητές από την se
Πώς να ελέγξετε ένα απλό παιχνίδι επεξεργασίας με το Arduino: 6 βήματα
Πώς να ελέγξετε ένα απλό παιχνίδι επεξεργασίας με το Arduino: Γεια σε όλους, Σε αυτό το Instructable, θα δούμε πώς να δημιουργήσετε έναν " σύνδεσμο " μεταξύ σκίτσου επεξεργασίας και κάρτας Arduino. Σε αυτό το παράδειγμα, μια μονάδα υπερήχων θα χρησιμοποιηθεί για τον έλεγχο ενός επιπέδου σε ένα απλό παιχνίδι. Και πάλι, αυτό το σεμινάριο είναι απλώς μια εξέταση
Ενδιαφέρουσες οδηγίες προγραμματισμού επεξεργασίας για σχεδιαστές-φόρτωση μέσων και εκδήλωση: 13 βήματα
Ενδιαφέρουσες κατευθυντήριες γραμμές προγραμματισμού για σχεδιαστές-Φόρτωση μέσων και συμβάν: Η επεξεργασία μπορεί να φορτωθεί με πολλά εξωτερικά δεδομένα, μεταξύ των οποίων υπάρχουν τρεις τύποι που χρησιμοποιούνται πολύ συχνά. Πρόκειται για εικόνα, ήχο και βίντεο ξεχωριστά. Σε αυτό το κεφάλαιο, θα μιλήσουμε για τον τρόπο φόρτωσης του ήχου και του βίντεο λεπτομερώς, σε συνδυασμό με το συμβάν