Πίνακας περιεχομένων:
- Βήμα 1: Κίνητρο και πρόβλημα
- Βήμα 2: Λήψη των πρώτων πληροφοριών bit από το USB της Basys
- Βήμα 3: Ανάλυση των πληροφοριών Usb
- Βήμα 4: Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
- Βήμα 5: Απολαύστε τη Δημιουργία σας
Βίντεο: Πρόγραμμα ζωγραφικής VGA: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Έργο: Adam Klein, Ian Strachan, Brandon Slater
Το έργο που θέλαμε να ολοκληρώσουμε ήταν να αποθηκεύσουμε, να αναλύσουμε και να εμφανίσουμε πληροφορίες από ένα ποντίκι USB με τη μορφή ενός προγράμματος ζωγραφικής. Η ιδέα πίσω από το έργο είναι να μπορείτε να συνδέσετε το ποντίκι και τα καλώδια VGA στον πίνακα Basys στις ενσωματωμένες θύρες του και να εμφανιστεί το ποντίκι ως κινούμενο τετράγωνο ζωγραφικής στην οθόνη, αλλάζοντας διαφορετικά χρώματα όταν γίνονται αριστερά και δεξιά κλικ μεταχειρισμένος. Στην ουσία, θα δημιουργούσαμε ένα πρόγραμμα οδήγησης για τη χρήση του ποντικιού με τον πίνακα βάσης και έχοντας την οθόνη ως επαλήθευση της λειτουργικότητάς μας. Αυτό που κατέληξε να συμβεί ήταν η δημιουργία ενός προγράμματος σχεδίασης με τον πίνακα basys ως σύστημα εισόδου και ένα ημι-λειτουργικό σύστημα καταγραφής δεδομένων για το ποντίκι.
Σε αυτό το διδακτικό, θα αναλύσουμε τα βήματα από την είσοδο του ποντικιού στην έξοδο vga.
Βήμα 1: Κίνητρο και πρόβλημα
Κίνητρο:
Το κύριο κίνητρο για το έργο μας ήταν να δημιουργήσουμε ένα πρόγραμμα οδήγησης ποντικιού για τον πίνακα Basys3 που οι μελλοντικοί μαθητές του CPE 133 θα μπορούν να χρησιμοποιήσουν για τα τελικά τους έργα στο μέλλον. Ωστόσο, πήραμε αυτήν την ιδέα ένα βήμα παραπέρα δημιουργώντας ένα πρόγραμμα ζωγραφικής, από το οποίο θα μπορούσαν να βασιστούν και οι μελλοντικοί μαθητές.
Πρόβλημα:
Το πρόβλημα που ανακαλύψαμε ήταν ότι δεν υπάρχει σαφής μονάδα ποντικιού έτοιμη για λήψη και χρήση για τον πίνακα Basys3. Για να λύσουμε αυτό το πρόβλημα, προσπαθήσαμε να δημιουργήσουμε ένα μόνοι μας. Με αυτόν τον τρόπο, προσπαθήσαμε να δημιουργήσουμε μια μονάδα ποντικιού που θα επέτρεπε στους μελλοντικούς μαθητές να εφαρμόσουν ευκολότερα την εισαγωγή ποντικιού στα έργα τους.
Βήμα 2: Λήψη των πρώτων πληροφοριών bit από το USB της Basys
- Πολλά από αυτά που κάναμε για το ποντίκι σε αυτό το έργο προήλθαν από την τεκμηρίωση του Basys3. Από τον μικρό οδηγό στη θύρα USB της Basys σε αυτό το pdf, διαπιστώσαμε ότι ο πίνακας Basys διαθέτει ενσωματωμένο ρολόι για ανάγνωση δυαδικών ψηφίων στη σωστή ταχύτητα από συσκευές USB.
- Ουσιαστικά, το ποντίκι στέλνει bits στο usb ξεκινώντας από μια κατάσταση αδράνειας, διαβάζει 32 bits που αντιπροσωπεύουν την κατάσταση του ποντικιού, τη θέση x και τη θέση y και τέλος τελειώνει με ένα άλλο bit αδρανείας. Για να γίνει αυτό, το στοιχείο εισόδου του ποντικιού χρησιμοποιεί έναν καταχωρητή αλλαγής και έναν μετρητή 32 bit όπου ο καταχωρητής shift χρησιμοποιείται για την αποθήκευση 32 bit εισερχόμενων δεδομένων από το ποντίκι και ο μετρητής 32 bit χρησιμοποιείται για να μετρήσει τον αριθμό των bit που αποθηκεύονται επιτρέποντας την κατάσταση εγγραφείτε για επαναφορά και αποθήκευση του επόμενου συνόλου 32 εισερχόμενων bit.
- Μπορείτε να κατεβάσετε τον κωδικό για τον καταχωρητή shift, τον μετρητή 32 bit και τον αναγνώστη δεδομένων παρακάτω, καθώς και το αρχείο περιορισμών προσαρμοσμένο στη χρήση της θύρας USB ως είσοδο
Βήμα 3: Ανάλυση των πληροφοριών Usb
- Αφού δημιουργήσατε την είσοδο του ποντικιού στο στοιχείο usb, το επόμενο βήμα ήταν να δημιουργήσετε τα στοιχεία bits usb σε διανυσματικά στοιχεία που θα κάνουν τα δεδομένα που λαμβάνονται από το ποντίκι αναγνώσιμα για το vga.
- Αυτό το στοιχείο χρησιμοποιεί μια μηχανή κατάστασης που λαμβάνει το σύνολο των δυαδικών ψηφίων που εξάγονται από την είσοδο του ποντικιού στο usb και μετακινείται μέσω των καταστάσεων με βάση το αν έχουν εισαχθεί νέα bits που αλλάζουν την κατάσταση και τη θέση του ποντικιού.
- Το μπλοκ διάγραμμα για τα δύο πρώτα βήματα του έργου εμφανίζεται εδώ και τα δύο αρχεία vhdl προορίζονται για τον έλεγχο της εφαρμογής του ποντικιού χρησιμοποιώντας τις βασικές λυχνίες LED (μια δοκιμή που δυστυχώς δεν πέρασε ποτέ) και για τη μετάδοση της ροής bit από το USB θύρα σε διανύσματα ταχύτητας και θέσης που μπορεί να χρησιμοποιήσει το VGA.
- Η εικόνα δίπλα στο μπλοκ διάγραμμα παραπάνω είναι ένα μικρό στιγμιότυπο (το Instructables δεν μας επιτρέπει να εμφανίσουμε την πλήρη ευρεία εικόνα) των πληροφοριών bit που βρήκαμε στην τεκμηρίωση basys για την ολοκλήρωση αυτού του βήματος.
Βήμα 4: Εμφάνιση της ζωγραφισμένης εικόνας μέσω VGA και επεξεργασία του σχεδίου
- Το καλώδιο VGA έχει 14 bits εξόδου, 4 bits για καθένα από τα τρία χρώματα και ένα bit για οριζόντιο συγχρονισμό και κάθετο συγχρονισμό.
-
OtherVGA είναι η παρεχόμενη μονάδα VGA και λειτουργεί ως εξής:
- Η οθόνη χωρίζεται σε 40x30 μπλοκ 16x16 pixel για οθόνη ανάλυσης 640x480 όπως φαίνεται στην παραπάνω εικόνα. Η μονάδα επιλέγει μια διεύθυνση μπλοκ για να αντιπροσωπεύει ένα από τα 1200 μπλοκ στην οθόνη. Η διεύθυνση μπλοκ επιλέγεται μέσω της ακόλουθης εξίσωσης: διεύθυνση = 40y + x
- Το χρώμα αντιπροσωπεύεται από ένα σήμα 12 bit το οποίο συσχετίζεται με μια τιμή RRRRGGGGBBBB που χρωματίζει το επιλεγμένο μπλοκ.
-
Ο κωδικός ελέγχου μας, VGAtest και VGAtestconst, λειτουργεί ως εξής:
- Ρυθμίζει πρώτα το επιλεγμένο μπλοκ στο κέντρο της οθόνης.
- Το χρώμα του μπλοκ καθορίζεται από 12 διακόπτες στην πλακέτα, ορίζοντας την τιμή RRRRGGGGBBBB.
- Τα τέσσερα κουμπιά κατεύθυνσης στον πίνακα αλλάζουν την επιλεγμένη διεύθυνση. Για παράδειγμα, πατώντας το δεξί κουμπί θα προσθέσετε 1 στη διεύθυνση, επιλέγοντας το μπλοκ ένα στα δεξιά του προηγούμενου μπλοκ. Πατώντας το κάτω κουμπί θα προσθέσετε 40 στη διεύθυνση, επιλέγοντας το μπλοκ ένα κάτω από το προηγούμενο μπλοκ.
- Το κεντρικό κουμπί χρησιμοποιείται για να ορίσετε όλες τις τιμές χρώματος στο 0 όταν το πατήσετε. Αυτό πρέπει να συμπεριφέρεται ως ένα κουμπί διαγραφής που είναι εύκολο στη χρήση του χρήστη, οπότε ο χρήστης δεν χρειάζεται να γυρίσει κάθε διακόπτη στο 0 για να διαγράψει.
- Η τελευταία εικόνα είναι το μπλοκ διάγραμμα για τον ελεγκτή. Είναι αρκετά ευρύ, καθώς περιλαμβάνει στοιχεία της ενότητας και ενδέχεται να μην εμφανίζονται πλήρως.
Βήμα 5: Απολαύστε τη Δημιουργία σας
Συνδεδεμένο εδώ είναι ένα γρήγορο timelapse της διασκέδασης που μπορείτε να απολαύσετε με το τελικό έργο, ακόμη και μόνο με τη χρήση των διακοπτών και των κουμπιών στον πίνακα basys ως είσοδο.
Ευχαριστώ για την ανάγνωση!
Συνιστάται:
Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα
Magic Hercules - Driver for Digital LEDs: Γρήγορη επισκόπηση: Η μονάδα Magic Hercules είναι ένας μετατροπέας μεταξύ του γνωστού και απλού SPI στο πρωτόκολλο NZR. Οι είσοδοι της μονάδας έχουν ανοχή +3,3 V, ώστε να μπορείτε να συνδέσετε με ασφάλεια όλους τους μικροελεγκτές που λειτουργούν σε τάση +3,3 V. Η χρήση
Ρομπότ ζωγραφικής με υποστήριξη Arduino: 11 βήματα (με εικόνες)
Ρομπότ ζωγραφικής με υποστήριξη Arduino: Έχετε αναρωτηθεί ποτέ αν ένα ρομπότ θα μπορούσε να κάνει μαγευτικούς πίνακες και τέχνη; Σε αυτό το έργο προσπαθώ να το κάνω πραγματικότητα με ένα ρομπότ ζωγραφικής με υποστήριξη Arduino. Ο στόχος είναι το ρομπότ να μπορεί να φτιάχνει μόνοι του πίνακες και να χρησιμοποιεί ένα
Έναρξη ζωγραφικής φωτός (χωρίς Photoshop): 5 βήματα (με εικόνες)
Έναρξη ζωγραφικής φωτός (χωρίς Photoshop): Αγόρασα πρόσφατα μια νέα φωτογραφική μηχανή και διερευνούσα ορισμένα από τα χαρακτηριστικά της όταν συνάντησα φωτεινή ζωγραφική ή φωτογραφία μεγάλης έκθεσης στο Διαδίκτυο. Οι περισσότεροι από εμάς θα έχουμε δει τη βασική μορφή φωτισμού με μια φωτογραφία σε μια πόλη με δρόμο
Καμβάς ζωγραφικής μουσικής με Makey Makey: 9 βήματα (με εικόνες)
Καμβάς ζωγραφικής μουσικής με Makey Makey: Γεια, σε αυτό το Instructable θα μάθουμε πώς να φτιάχνουμε έναν καμβά μουσικής ζωγραφικής, δηλαδή ακούγεται ένα διαφορετικό τραγούδι κάθε φορά που χρωματίζουμε με ένα πινέλο κάθε χρώματος. Αυτό είναι πολύ διασκεδαστικό και λειτουργεί για να ενθαρρύνει τη ζωγραφική σε μικρά παιδιά ή επίσης να δώσει μια συγκεκριμένη
Ράβδος ζωγραφικής πολλαπλών χρωμάτων με βάση το Arduino: 13 βήματα (με εικόνες)
Ράβδος ζωγραφικής πολλαπλών χρωμάτων με βάση το Arduino: Η ζωγραφική φωτός είναι μια τεχνική που χρησιμοποιούν οι Φωτογράφοι, όπου μια πηγή φωτός χρησιμοποιείται για να σχεδιάσει ενδιαφέροντα σχέδια και η Κάμερα θα τα συνδυάσει. Ως αποτέλεσμα, η φωτογραφία θα περιέχει τα ίχνη φωτός σε αυτήν, τα οποία θα δώσουν τελικά μια εμφάνιση