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

Μουσική ψηφιακή διεπαφή: 6 βήματα (με εικόνες)
Μουσική ψηφιακή διεπαφή: 6 βήματα (με εικόνες)

Βίντεο: Μουσική ψηφιακή διεπαφή: 6 βήματα (με εικόνες)

Βίντεο: Μουσική ψηφιακή διεπαφή: 6 βήματα (με εικόνες)
Βίντεο: 6 Εφαρμογές Που Σε ΠΛΗΡΩΝΟΥΝ! | 2023 2024, Ιούλιος
Anonim
Μουσική ψηφιακή διεπαφή
Μουσική ψηφιακή διεπαφή

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

Σε αυτό το διδακτικό, θα σας διδάξω πώς να χρησιμοποιείτε σειριακή επικοινωνία για να στέλνετε/λαμβάνετε πληροφορίες αισθητήρων (αναλογικών και ψηφιακών) από το Arduino στο Raspberry pi προς puredata λογισμικού για ενεργοποίηση ήχου.

Τα υλικά που απαιτούνται είναι:

x1 Βατόμουρο PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Breadbord

x1 Μετρητής πλάκας (0,2)

x28 Αντίσταση 10MΩ

x2 Αντίσταση 1,8kΩ

x1 Αντίσταση 10kΩ

x20 Τερματικές προεξοχές Αρσενικό/Θηλυκό

x1 Μεταφορέας συγκολλήσεων

x1 πηνίο κασσίτερου (1 μέτρο)

x1 Συγκολλητικό σίδερο

x25 Flexibles Straps Ανδρικό/Αρσενικό

Βήμα 1: Αισθητήρες

Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες

Χρησιμοποίησα 4 πιεζοηλεκτρικά που προέρχονται από το "Guitar Hero" Harmonix XBOX 360 τηλεχειριστήριο. Χρησιμοποίησα ένα κουμπί ενεργοποίησης/απενεργοποίησης, επειδή ο μαγνητικός διακόπτης μαγνητικού τηλεχειριστηρίου κιθάρας πεντάλ μαρμελάδας ήταν έξω.

Χρησιμοποίησα έναν αισθητήρα IR Sharp GP2Y0E02B. Για όλους αυτούς τους αισθητήρες, έκανα συναρμολόγηση για αποτελεσματική λειτουργία…

Έτσι, εμπειρικά βρήκα τιμή αντίστασης στον αισθητήρα κουμπιού και στον αισθητήρα IR. Ωστόσο, δοκίμασα πιεζοηλεκτρικό για να γνωρίζω την πλήρη κλίμακα αυτού, και η τιμή της σταθερής αντίστασης απαιτείται και εφαρμόζεται για τους 4 αναλογικούς αισθητήρες.

Βήμα 2: Μοντάζ Pull-up

Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage

Μετά τη δοκιμή πιεζοηλεκτρικού με γεννήτρια τάσης, καθορίζω την τιμή της αντίστασης στα 7MΩ.

Το συγκρότημα αντίστασης κουμπιού ήταν 10 kΩ.

Για αισθητήρα IR, χρησιμοποίησα δύο αντίσταση 1, 8kΩ μεταξύ αντίστοιχα τάσης τροφοδοσίας και SDA (δεδομένα) και SCL (ρολόι).

Να είστε προσεκτικοί γιατί οι αξίες αυτών των αντιστάσεων είναι για το RTX Arduino UNO. κάτι που πρέπει να γνωρίζετε για την είσοδο σύνθετης αντίστασης Arduino: 10MΩ.

Μπορείτε να δείτε το μοντάζ pull-up στην τελευταία εικόνα αυτού του βήματος. Στερέωσα πιεζοηλεκτρικούς ιμάντες σε 0 1 2 3 ακίδες στο UNO, ιμάντα κουμπιού σε 2 ψηφιακές καρφίτσες αλλά επικοινωνώ την τιμή σε 6 ακίδες στο UNO και ιμάντα αισθητήρα IR σε 4 5 ακίδες στο UNO, όλες οι αναλογικές εισόδους του Arduino Uno.

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

Για να διασφαλίσω ότι η λειτουργία ήταν αποτελεσματική, δοκίμασα την αποστολή/λήψη πληροφοριών αισθητήρων στο Arduino.

Βάζω αρχεία στην περιγραφή, αλλά μπορείτε να τα βρείτε σε παραδείγματα του προγραμματισμού Arduino Genuino, εκτός από τον αισθητήρα IR επειδή δεν είναι πλήρης, άλλαξα μερικές πληροφορίες στην ενότητα "ορισμός" όπως "shift" και άλλαξα τον υπολογισμό της μέτρησης σε κανονικό σε παραλλαγές απόστασης. Πιθανότατα έχετε δει το "Wire" στον κωδικό αισθητήρα IR. Πράγματι, χρησιμοποίησα το πρωτόκολλο I2C για επικοινωνία. Σας προσκαλώ να δείτε το πρωτόκολλο I2C, πολύ ενδιαφέρον, μπορείτε να το χρησιμοποιήσετε για τη μετάδοση σε πραγματικό χρόνο όλων των ψηφιακών αισθητήρων που θέλετε.

Βήμα 4: Και οι δύο σειριακές επικοινωνίες Arduino Raspberry

Και οι δύο σειριακές επικοινωνίες Arduino Raspberry
Και οι δύο σειριακές επικοινωνίες Arduino Raspberry
Και οι δύο σειριακές επικοινωνίες Arduino Raspberry
Και οι δύο σειριακές επικοινωνίες Arduino Raspberry

Ναι: D

Όπως μπορείτε να δείτε στην πρώτη εικόνα, ο σύνδεσμος Arduino-Raspberry είναι βύσμα USB.

Βρήκα έναν τρόπο να λαμβάνω πληροφορίες αισθητήρων απευθείας από το PureData Extented που είναι εγκατεστημένο στο Raspberry PI. Γιατί το PureData Extended; Επειδή η έκδοση Vanilla δεν χρησιμοποιεί την ίδια βιβλιοθήκη από μια εφαρμογή στο Raspbian περιβάλλον.

Εκκινήστε λοιπόν το StandardFirmata στο Arduino Genuino για να διορθώσετε τις εισόδους/εξόδους και τις παραλλαγές τιμής με τον σωστό τρόπο!

Για να λάβετε πίσω τις πληροφορίες της αξίας στο Raspberry PI, υπάρχουν 2 πρωτόκολλα: Firmata και Msg.

Επιλέγω τη Firmata για έναν λόγο, ήταν πιο απλό να λαμβάνω πληροφορίες στο PureData μέσω του patch Pduino, ενός περιβάλλοντος.

Σας προσκαλώ να ανακαλύψετε το Msg εάν χρησιμοποιείτε πρωτόκολλο OSC.

Βήμα 5: Λήφθηκε το PureData Patch

Λήφθηκε το PureData Patch
Λήφθηκε το PureData Patch

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

Από αυτό το βήμα, δεν αγγίζουμε άλλο τον κώδικα Arduino. Οι πληροφορίες της Value είναι ευανάγνωστες.

Όπως παρατήρησα στο βήμα 3, έλαβα πληροφορίες από ψηφιακό κουμπί σε αναλογικό 6 ακίδων, ήταν απλό να δούμε αποτελεσματική λειτουργία της επικοινωνίας. Όλα σε μια γραμμή.

Βήμα 6: Ανάπτυξη PureData

Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData
Ανάπτυξη PureData

Το PureData είναι μια συγκεκριμένη γλώσσα και πρέπει να περάσετε τον ελεύθερο χρόνο σας για να πετύχετε κάνοντας ωραίο συνονθύλευμα.

Ορισμένα από τα έμπλαστρα PureData θα είναι διαθέσιμα στο GitHub.

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

Συνιστάται: