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

Arduino Piano With Push Button Switches: 3 Βήματα
Arduino Piano With Push Button Switches: 3 Βήματα

Βίντεο: Arduino Piano With Push Button Switches: 3 Βήματα

Βίντεο: Arduino Piano With Push Button Switches: 3 Βήματα
Βίντεο: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Νοέμβριος
Anonim
Arduino πιάνο με διακόπτες κουμπιού
Arduino πιάνο με διακόπτες κουμπιού
Arduino πιάνο με διακόπτες κουμπιού
Arduino πιάνο με διακόπτες κουμπιού

Δημιουργήθηκε από: Haotian Ye

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Αυτός είναι ένας πίνακας πιάνου με οκτώ διακόπτες με κουμπιά που σας επιτρέπει να παίξετε μία οκτάβα (Do Re Mi Fa So La Si Do) και με αυτήν την οκτάβα μπορείτε να δοκιμάσετε να παίξετε μερικά τραγούδια που σας αρέσουν. Για αυτό το έργο υπάρχουν κάποιες σημαντικές γνώσεις που πρέπει να γνωρίζετε πριν ξεκινήσετε.

Πρώτον, πρέπει να γνωρίζουμε τις συχνότητες των βασικών νότες ενός πιάνου.

Οι συχνότητες αναφέρονται παρακάτω:

Do - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Έτσι - 392Hz

La - 440Hz

Si - 493Hz

Do - 523Hz

Δεύτερον, θα σας δείξω πώς να φτιάξετε το κύκλωμα χρησιμοποιώντας τα μέρη που μπορείτε να αγοράσετε από το Lee’s Electronic Store. Τέλος will Θα παρουσιάσω και θα εξηγήσω τον κώδικα που πρέπει να φορτωθεί στον πίνακα Arduino.

Μέρη που θα χρειαστείτε:

Arduino Uno R3 (Αναγνωριστικό προϊόντος: 10997)

Καλώδιο USB A έως B M/M (Αναγνωριστικό προϊόντος: 29861)

10K Resistor * 8 (Αναγνωριστικό προϊόντος: 91516)

Διαφορετικά χρώματα Tack Switch * 8 (Αναγνωριστικό προϊόντος: 3124, 31242, 31243, 31245, 31246)

Μίνι ηχείο (Αναγνωριστικό προϊόντος: 41680)

Breadboard (Αναγνωριστικό προϊόντος: 106861)

Jumper Wires (Αναγνωριστικό προϊόντος: 21801)

Βήμα 1: Βήμα 1: Δημιουργία κυκλώματος

Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος
Βήμα 1: Δημιουργία κυκλώματος

Αρχικά, τοποθετήστε όλους τους διακόπτες και το μίνι ηχείο στο breadboard έναν έναν και ταιριάξτε τους σε μια σειρά. Στη συνέχεια, συνδέστε τις ακίδες κάθε διακόπτη κουμπιού στη γείωση. Δεύτερον συνδέστε αντιστάσεις 10k μεταξύ θετικής ισχύος και των άλλων ακίδων κάθε διακόπτη κουμπιού. Και, συνδέστε αυτήν τη στήλη στις ακίδες 2-9 στον πίνακα Arduino. Επίσης, συνδέστε τη γείωση με τον πείρο γείωσης και τη θετική ισχύ με τον ακροδέκτη 3,3v στο Arduino. Τέλος, συνδέστε το μίνι ηχείο στην ακίδα 10 στο Arduino.

Βήμα 2: Βήμα 2: Κωδικός και επεξήγηση

Ο παρακάτω κώδικας είναι αυτός που έγραψα

const int μαύρο = 2;

const int λευκό = 3;

const int κόκκινο = 4;

const int green = 5;

const int μπλε = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int ηχείο = 10; // Συνδέστε όλους τους διακόπτες και το ηχείο με τις ακίδες σήματος του arduino

int συχνότητα = {262, 294, 330, 349, 392, 440, 493, 523}; // ο πίνακας περιέχει όλες τις συχνότητες μιας οκτάβας

void setup () {

// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά:

pinMode (μαύρο, ΕΙΣΟΔΟΣ);

pinMode (λευκό, ΕΙΣΟΔΟΣ);

pinMode (κόκκινο, ΕΙΣΟΔΟΣ);

pinMode (πράσινο, ΕΙΣΟΔΟΣ);

pinMode (μπλε, ΕΙΣΟΔΟΣ);

pinMode (μαύρο2, ΕΙΣΟΔΟΣ);

pinMode (green2, INPUT);

pinMode (κόκκινο2, ΕΙΣΟΔΟΣ);

pinMode (ηχείο, OUTPUT);

τόνος (ηχείο, 2000).

Serial.begin (9600);

}

void loop () {

// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα:

εάν (digitalRead (μαύρο) == ΧΑΜΗΛΟ) // όταν πατάτε το διακόπτη κουμπιού "DO"

{τόνος (ηχείο, συχνότητα [0], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (λευκό) == LOW) // όταν πατάτε το διακόπτη "RE"

{τόνος (ηχείο, συχνότητα [1], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (κόκκινο) == LOW) // όταν πατάτε το διακόπτη "MI"

{τόνος (ηχείο, συχνότητα [2], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (πράσινο) == LOW) // όταν πατάτε το διακόπτη "FA"

{τόνος (ηχείο, συχνότητα [3], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (μπλε) == LOW) // όταν πατάτε το διακόπτη "SO"

{τόνος (ηχείο, συχνότητα [4], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (black2) == LOW) // όταν πατάτε το διακόπτη "LA"

{τόνος (ηχείο, συχνότητα [5], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (green2) == LOW) // όταν πατάτε το διακόπτη "SI"

{τόνος (ηχείο, συχνότητα [6], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else if (digitalRead (red2) == LOW) // όταν πατάτε το διακόπτη κουμπιού "DO"

{τόνος (ηχείο, συχνότητα [7], 50);

καθυστέρηση (50)?

noTone (ηχείο);}

else // όταν δεν πατάτε τίποτα

noTone (ηχείο);

}

Αρχικά, πρέπει να δηλώσουμε όλους τους διακόπτες και το ηχείο του κουμπιού ως τον ακροδέκτη από 2 έως 10 στο Arduino. Κάθε διακόπτης αντιπροσωπεύει για μια νότα. Στη συνέχεια, χρησιμοποιήστε έναν πίνακα για να βάλετε όλες τις συχνότητες μέσα. Στη συνέχεια, η δήλωση If and else είναι αυτό που χρησιμοποιώ για να ενημερώσω το Arduino ποιον διακόπτη κουμπιού πατάω.

Τέλος, συνδέστε την πλακέτα Arduino στον υπολογιστή ή το φορητό υπολογιστή σας με καλώδιο usb A έως B. Πριν ανεβάσετε τον κωδικό σας, πρέπει ακόμα να κατεβάσετε το λογισμικό Arduino και να κάνετε κάποια προεπιλεγμένη ρύθμιση. Επιλέξτε Εργαλεία -> Πίνακας -> Arduino/Genuino Uno. Στη συνέχεια, πρέπει να επιλέξουμε τη θύρα επικοινωνίας που είναι συνδεδεμένη στον πίνακα Arduino. Επιλέξτε Εργαλεία -> Θύρα, και όποιο όνομα θύρας φέρει την ένδειξη "(Arduino/Genuino Uno)." Στη συνέχεια, μπορείτε να ανεβάσετε τον κωδικό στον πίνακα Arduino.

Συνιστάται: