Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Erstellt von: Haotian Ye
Überblick
Dies ist ein Klavierbrett mit acht Druckknopfschaltern, mit dem Sie eine Oktave spielen können (Do Re Mi Fa So La Si Do) und mit dieser Oktave können Sie versuchen, einige Songs zu spielen, die Ihnen gefallen. Für dieses Projekt gibt es einige wichtige Kenntnisse, die Sie wissen müssen, bevor Sie beginnen.
Zuerst müssen wir die Frequenzen der Grundtöne eines Klaviers kennen.
Nachfolgend sind die Frequenzen aufgeführt:
Do – 261Hz
Re – 294Hz
Mi – 329Hz
Fa – 349Hz
Also – 392Hz
La – 440Hz
Si – 493Hz
Tun – 523Hz
Zweitens zeige ich Ihnen, wie Sie die Schaltung mit den Teilen bauen, die in Lees Electronic Store gekauft werden können. Schließlich werde ich den Code präsentieren und erklären, der auf das Arduino-Board hochgeladen werden muss.
Teile, die Sie benötigen:
Arduino Uno R3 (Produkt-ID: 10997)
USB-A-auf-B-Kabel M/M (Produkt-ID: 29861)
10K Widerstand * 8 (Produkt-ID: 91516)
Tack Switch in verschiedenen Farben * 8 (Produkt-ID: 3124, 31242, 31243, 31245, 31246)
Mini-Lautsprecher (Produkt-ID: 41680)
Steckbrett (Produkt-ID: 106861)
Überbrückungsdrähte (Produkt-ID: 21801)
Schritt 1: Schritt 1: Aufbau der Schaltung
Legen Sie zuerst alle Drucktastenschalter und den Mini-Lautsprecher nacheinander auf das Steckbrett und passen Sie sie in einer Reihe an. Verbinden Sie dann die Pins jedes Druckknopfschalters mit Masse. Zweitens verbinden Sie 10k-Widerstände zwischen der positiven Stromversorgung und den anderen Pins jedes Druckknopfschalters. Und verbinden Sie diese Spalte mit den Pins 2-9 auf dem Arduino Board. Verbinden Sie auch die Masse mit dem Massestift und die positive Stromversorgung mit dem 3,3-V-Pin auf Arduino. Schließlich verbinden Sie den Mini-Lautsprecher mit dem Pin 10 auf Arduino.
Schritt 2: Schritt 2: Code und Erklärung
Der folgende Code ist das, was ich geschrieben habe
const int schwarz = 2;
const int weiß = 3;
const int rot = 4;
const int grün = 5;
const int blau = 6;
const int schwarz2 = 7;
const int grün2 = 8;
const int red2 = 9;
const int speaker = 10; // Verknüpfen Sie alle Drucktastenschalter und den Lautsprecher mit den Signalstiften von Arduino
int frequency = {262, 294, 330, 349, 392, 440, 493, 523}; // Array enthält alle Frequenzen einer Oktave
Leere Einrichtung () {
// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:
pinMode (schwarz, INPUT);
pinMode (weiß, INPUT);
pinMode (rot, INPUT);
pinMode (grün, INPUT);
pinMode (blau, INPUT);
pinMode (schwarz2, INPUT);
pinMode (grün2, INPUT);
pinMode (rot2, INPUT);
pinMode (Lautsprecher, AUSGANG);
Ton (Sprecher, 2000);
Serieller Anfang (9600);
}
Leere Schleife () {
// Geben Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:
if (digitalRead (schwarz) == LOW) // wenn Sie den "DO" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[0], 50);
Verzögerung (50);
noTone (Lautsprecher);}
sonst wenn (digitalRead (weiß) == LOW) // wenn Sie den "RE" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[1], 50);
Verzögerung (50);
noTone (Lautsprecher);}
sonst wenn (digitalRead (rot) == LOW) // wenn Sie den "MI" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz [2], 50);
Verzögerung (50);
noTone (Lautsprecher);}
Sonst wenn (digitalRead (grün) == LOW) // wenn Sie den "FA" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[3], 50);
Verzögerung (50);
noTone (Lautsprecher);}
sonst wenn (digitalRead (blau) == LOW) // wenn Sie den "SO" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[4], 50);
Verzögerung (50);
noTone (Lautsprecher);}
sonst wenn (digitalRead (schwarz2) == LOW) // wenn Sie den "LA" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[5], 50);
Verzögerung (50);
noTone (Lautsprecher);}
Sonst wenn (digitalRead (grün2) == LOW) // wenn Sie den "SI" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[6], 50);
Verzögerung (50);
noTone (Lautsprecher);}
Sonst wenn (digitalRead (rot2) == LOW) // wenn Sie den "DO" -Druckknopfschalter drücken
{Ton (Lautsprecher, Frequenz[7], 50);
Verzögerung (50);
noTone (Lautsprecher);}
sonst // wenn du nichts drückst
noTone (Lautsprecher);
}
Zuerst müssen wir alle Drucktastenschalter und Lautsprecher als Pin von 2 bis 10 auf Arduino deklarieren. Jeder Schalter steht für eine Note. Verwenden Sie dann ein Array, um alle Frequenzen darin zu platzieren. Als nächstes verwende ich die If- und else-Anweisung, um Arduino mitzuteilen, welchen Druckknopfschalter ich drücke.
Schließen Sie schließlich Ihr Arduino-Board mit einem USB-A-zu-B-Kabel an Ihren Computer oder Laptop an. Bevor Sie Ihren Code hochladen, müssen Sie noch die Arduino-Software herunterladen und einige Standardeinstellungen vornehmen. Wählen Sie Tools -> Board -> Arduino/Genuino Uno; Dann müssen wir den Kommunikationsport auswählen, der mit dem Arduino-Board verbunden ist. Wählen Sie Tools -> Port, dann den Portnamen mit der Bezeichnung "(Arduino/Genuino Uno)." Dann können Sie den Code auf das Arduino-Board hochladen.