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

Τύμπανα στούντιο: 5 βήματα
Τύμπανα στούντιο: 5 βήματα

Βίντεο: Τύμπανα στούντιο: 5 βήματα

Βίντεο: Τύμπανα στούντιο: 5 βήματα
Βίντεο: Εικόνες ντροπής στην μαθητική παρέλαση στην Ν.Φιλαδέλφεια 2024, Ιούλιος
Anonim
Στούντιο Τύμπανα
Στούντιο Τύμπανα

Οι ντράμερ θα περνούσαν ώρες και ώρες εξάσκηση … Αλλά δεν μπορούν όλοι να έχουν τύμπανο στο σπίτι: ο χώρος και ο θόρυβος είναι ένα μεγάλο πρόβλημα!

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

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

Βήμα 1: Τι θα χρειαστείτε

ΥΛΙΚΟ

  • Arduino Uno
  • Breadboard
  • Λίγο σύρμα
  • 5 φορές πιέζο
  • 5x 1M Ohm αντιστάσεις
  • 5 καπάκια βάζων
  • Αφρός Εύας
  • Αφρώδες χαρτόνι

ΠΡΟΓΡΑΜΜΑΤΑ:

  • Arduino IDE
  • Επεξεργασία

*Για να κατεβάσετε τα παραπάνω προγράμματα στον υπολογιστή σας, ακολουθήστε τους παρακάτω συνδέσμους:

  • https://www.arduino.cc/en/main/software
  • https://www.arduino.cc/en/main/software

Βήμα 2: Συναρμολόγηση κυκλώματος

Συναρμολόγηση κυκλώματος
Συναρμολόγηση κυκλώματος
Συναρμολόγηση κυκλώματος
Συναρμολόγηση κυκλώματος

Πρώτα απ 'όλα πρέπει να κολλήσουμε στους πιέζους (GND στο κίτρινο μέρος και το αναλογικό σύρμα πείρου στο λευκό μέρος του πιεζοηλεκτρικού).

Θα χρησιμοποιήσουμε ένα breadboard για να συνδέσουμε τα πάντα.

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

Piezos που συνδέονται με αναλογικές ακίδες:

  • Caixa = A0;
  • Charles = A1;
  • Tomtom = A2;
  • Συντριβή = Α3;
  • Μπόμπο = Α4;

Βήμα 3: Προγραμματίστε το

Προγραμματίστε το
Προγραμματίστε το

Αποφασίσαμε να δημιουργήσουμε τη δική μας οθόνη για το drumkit αντί να χρησιμοποιήσουμε ένα προκαθορισμένο πρόγραμμα. Χρησιμοποιήσαμε την επεξεργασία για αυτό.

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

Θα χρειαστεί να εισαγάγετε επεξεργασία ήχου και επεξεργασία σειριακών βιβλιοθηκών.

Μην ξεχάσετε να προσθέσετε τους ήχους του τυμπάνου σε ένα φάκελο δεδομένων!

ΚΩΔΙΚΟΣ ARDUINO

// ΟΙ ΠΙΕΖΟΙ ΕΙΝΑΙ ΣΥΝΔΕΔΕΜΕΝΟΙ ΣΤΙΣ ΑΝΑΛΟΓΙΚΕΣ ΚΟΝΚΕΣ

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int κατώφλι = 100; // τιμή κατωφλίου για να αποφασίσετε πότε ο εντοπισμένος ήχος είναι χτύπημα ή όχι

// ΔΙΑΒΑΣΤΕ ΚΑΙ ΑΠΟΘΗΚΕΥΤΕ ΤΗΝ ΑΞΙΑ ΔΙΑΒΑΣΤΕ ΑΠΟ ΚΟΝΔΕΣ ΑΙΣΘΗΤΗΡΩΝ

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

void setup () {

Serial.begin (9600); // χρησιμοποιήστε τη σειριακή θύρα

}

void loop () {

// διαβάστε τον αισθητήρα και αποθηκεύστε τον στον μεταβλητό αισθητήρα

caixaReading = analogRead (caixa);

// εάν η ένδειξη του αισθητήρα είναι μεγαλύτερη από το όριο:

εάν (caixaReading> = κατώφλι) {

// ΑΝ ΧΤΥΠΗΣΕΤΕ ΤΟ CAIXA, ΣΤΕΙΛΤΕ 0 ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ

Serial.print ("0,");

Serial.println (caixaReading);

}

charlesReading = analogRead (charles);

αν (charlesReading> = κατώφλι) {

// ΑΝ ΧΤΥΠΗΣΕΤΕ ΤΟΥΣ ΚΑΡΛΕΣ, ΣΤΕΙΛΤΕ 1 ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ

Serial.print ("1,");

Serial.println (caixaReading);

}

tomtomReading = analogRead (tomtom);

εάν (tomtomReading> = κατώφλι) {

// ΑΝ ΧΤΥΠΗΣΕΤΕ ΤΟ CAIXA, ΣΤΕΙΛΤΕ 2 ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ

Serial.print ("2");

Serial.println (tomtomReading);

}

crashReading = analogRead (συντριβή);

εάν (crashReading> = κατώφλι) {

// ΑΝ ΧΤΥΠΗΣΕΤΕ ΤΟ CAIXA, ΣΤΕΙΛΤΕ 3 ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ

Serial.print ("3");

Serial.println (crashReading);

}

bomboReading = analogRead (bombo);

αν (bomboReading> = 15) {

// ΑΝ ΧΤΥΠΗΣΕΤΕ ΤΟ CAIXA, ΣΤΕΙΛΤΕ 4 ΣΤΗΝ ΕΠΕΞΕΡΓΑΣΙΑ

Serial.print ("4");

Serial.println (bomboReading);

}

καθυστέρηση (10)? // καθυστέρηση για αποφυγή υπερφόρτωσης του buffer σειριακής θύρας

}

ΚΩΔΙΚΟΣ ΕΠΕΞΕΡΓΑΣΙΑΣ

// ΕΙΣΑΓΩΓΗ ΗΧΟΙ ΚΑΙ ΣΕΙΡΕΣ ΒΙΒΛΙΟΘΗΚΕΣ

επεξεργασία εισαγωγής. ήχος.*;

επεξεργασία εισαγωγής.σειρά.*;

Σειριακό myPort; // Δημιουργία αντικειμένου από την τάξη Serial

String val? // Δεδομένα που λαμβάνονται από τη σειριακή θύρα

// ΗΧΟΙ ΤΡΑΜΟΥ

SoundFile caixa;

SoundFile charles;

SoundFile tomtom;

Συντριβή SoundFile?

SoundFile bombo?

// ΕΙΚΟΝΕΣ STUDIO DRUMS

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

// DRUMS STUDIO WAVES VARIABLES

float n = 0;

float n2 = 1;

float n3 = 2;

float n4 = 3;

float n5 = 4;

float y = 0;

float y2 = 1;

float y3 = 2;

float y4 = 3;

float y5 = 4;

void setup ()

{

// ΑΝΟΙΞΤΕ ΤΟ ΟΠΟΙΟ ΛΙΜΑΝΙ ΕΙΝΑΙ ΑΥΤΟ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ

String portName = Serial.list () [0]; // αλλάξτε το 0 σε 1 ή 2 κ.λπ. για να ταιριάζει με τη θύρα σας

myPort = νέο Σειριακό (αυτό, portName, 9600);

// DRUMS STUDIO CONSOLA

μέγεθος (720, 680).

φόντο (15, 15, 15)?

strokeWeight (2);

// ΕΙΚΟΝΕΣ ΦΟΡΤΩΣΗΣ ΤΥΠΟΥ STUDIO

img0 = loadImage ("drumsstudio.png");

img1 = loadImage ("res.png");

img2 = loadImage ("caixa.png");

img3 = loadImage ("charles.png");

img4 = loadImage ("tomtom.png");

img5 = loadImage ("crash.png");

img6 = loadImage ("bombo.png");

// ΦΟΡΤΩ ΗΧΟΙ

caixa = νέο SoundFile (αυτό, "caixa.aiff");

charles = νέο SoundFile (αυτό, "charles.aiff");

tomtom = νέο SoundFile (αυτό, "tomtom.aiff");

συντριβή = νέο SoundFile (αυτό, "crash.aiff");

bombo = νέο SoundFile (αυτό, "bombo.aiff");

}

άκυρη κλήρωση ()

{

// TITULO DRUMS STUDIO

εικόνα (img0, 125, 0);

// ΚΥΜΑΤΑ ΣΧΕΔΙΟ

εάν (y> 720) // Ξεκινήστε ξανά τα κύματα

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

γέμισμα (0, 10);

rect (0, 0, πλάτος, ύψος);

// Dejamos fill a blanco para

// dibujar la bola

γέμισμα (255);

εγκεφαλικό επεισόδιο (250, 255, 3).

σημείο (y, (ύψος -40) + sin (n) * 30)?

η = η + 0,05;

y = y + 1;

εγκεφαλικό επεισόδιο (250, 255, 3).

σημείο (y2, (ύψος -40) + cos (n2) * 30).

n2 = n2 + 0,05;

y2 = y2 + 1;

εγκεφαλικό επεισόδιο (250, 255, 3).

σημείο (y3, (ύψος -40) + αμαρτία (n3) * 30)?

n3 = n3 + 0,05;

y3 = y3 + 1;

εγκεφαλικό επεισόδιο (250, 255, 3).

σημείο (y4, (ύψος -40) + cos (n4) * 30).

n4 = n4 + 0,05;

y4 = y4 + 1;

εγκεφαλικό επεισόδιο (250, 255, 3).

σημείο (y5, (ύψος -40) + αμαρτία (n5) * 30)?

n5 = n5 + 0,05;

y5 = y5 + 1;

// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

εικόνα (img1, 0, 80);

// ΚΑΝΕΤΕ ΕΞΟΔΟΥ ΓΙΑ ΚΑΘΕ ΕΙΣΟΔΟ

εάν (myPort.available ()> 0)

{// Εάν υπάρχουν διαθέσιμα δεδομένα, val = myPort.readStringUntil ('\ n'); // διαβάστε το και αποθηκεύστε το στο val

println (val);

String list = split (val, ','); // Ανοίξτε μια λίστα για τη λήψη κάθε τιμής εισόδου

αν (λίστα! = null)

{

if (λίστα [0]. Equals ("0")) {// αν πατήσετε το caixa

caixa.play (); // Αναπαραγωγή ήχου caixa

εικόνα (img2, 0, 80); // Το caixa φωτίζεται στην οθόνη

println ("caixa"); // εκτυπώστε το στην κονσόλα

} else if (λίστα [0]. Equals ("1")) {// αν πατήσετε το τσαρλ

charles.play (); // Αναπαραγωγή ήχου charles

εικόνα (img3, 0, 80); // Το τσαρλ φωτίζεται στην οθόνη

println ("τσαρλς"); // εκτυπώστε το στην κονσόλα

} else if (λίστα [0]. Equals ("2")) {// Εάν πατήσετε το tomtom

tomtom.play (); // Αναπαραγωγή ήχου tomtom

εικόνα (img4, 0, 80); // Το Tomtom φωτίζεται στην οθόνη

println ("tomtom"); // εκτυπώστε το στην κονσόλα

} else if (λίστα [0]. Equals ("3")) {// Εάν πατήσετε το σφάλμα

crash.play (); // Αναπαραγωγή ήχου συντριβής

εικόνα (img5, 0, 80); // Το Crash φωτίζεται στην οθόνη

println ("συντριβή"); // εκτυπώστε το στην κονσόλα

} else if (λίστα [0]. Equals ("4")) {// εάν πατήσετε το bombo

bombo.play (); // Αναπαραγωγή ήχου bombo

εικόνα (img6, 0, 80); // Το Bombo φωτίζεται στην οθόνη

println ("bombo"); // εκτυπώστε το στην κονσόλα

}

}

}

}

Βήμα 4: Δημιουργήστε το

Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το
Κατασκευάστε το

Για την πραγματοποίηση του πρωτοτύπου, έχουμε

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

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

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

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

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

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

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

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

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

Τέλος, για να επιτύχουμε ένα καλύτερο φινίρισμα, φτιάξαμε μόνοι μας ένα μικρό κουτί που φιλοξενούσε το protoboard και το arduino. Αυτό είναι όπου τα 5 καλώδια εισέρχονται από τη μία πλευρά και επιτρέπουν τη σύνδεση του καλωδίου USB μέσω της άλλης. Είναι τοποθετημένο σε χαρτόνι από μαύρο φτερό, για τον εύκολο χειρισμό του και για να συνεχίσει με την ασπρόμαυρη αισθητική όλου του πρωτοτύπου.

Συνιστάται: