Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dies sind die Anweisungen, um einen Gitarrentuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen.
Zuerst müssen Sie wissen, was die Materialien sind.
Materialien:
- 1 Arduino (ich habe einen Arduino 1 verwendet)
- 1 LCD-Display (16x2)
- 1 Potentiometer
- 1 Elektret-Mikrofon
- 1 250 Ohm Widerstand
- Mehrere Drähte
-Lötkolben
- 1 Piezo
Schritt 1: Lötstifte
Das erste, was Sie tun müssen, ist, die Pins an das LCD zu löten, aber Sie müssen sicherstellen, dass sie richtig gelötet sind. Im Bild oben zeigt es, welche Pins wo angeschlossen werden sollen. Der GND-Pin sollte wie im Tinkercad-Diagramm mit einem Anschluss des Potentiometers verbunden werden. (HINWEIS: Es ist sehr wichtig, dass Sie die Pins wie angegeben verbinden, sonst funktioniert der Tuner nicht.)
Schritt 2: Alles verbinden
Nachdem Sie die Drähte an das LCD gelötet haben, müssen Sie mehrere andere Drähte anschließen.
1.) Das erste, was Sie tun müssen, ist, GND und 5V auf dem Arduino mit dem Steckbrett zu verbinden, damit es mit Strom versorgt wird. Verbinden Sie dann das Elektret mit dem digitalen Pin 7 und GND.
2.) Verbinden Sie dann den Piezo mit dem Steckbrett für GND und verbinden Sie ihn mit dem digitalen Pin 6.
3.) Danach geht das Potentiometer, Sie verbinden Klemme 1 mit einer positiven Leiste auf dem Steckbrett und Klemme 2 mit einem GND-Streifen auf dem Steckbrett, dann verbinden Sie den Wischer mit dem Kontraststift auf dem LCD.
Schritt 3: Codierung
Wenn Sie alles richtig angeschlossen haben, müssen Sie den Tuner so programmieren, dass er auch wirklich seine Arbeit verrichtet. Unten ist der Code
// den Bibliothekscode einfügen:#include
// die Bibliothek mit den Nummern der Schnittstellenpins initialisieren LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
intA = 440;
intB = 494;
intC = 523;
intD = 587;
int E = 659;
intF = 699;
intG = 784;
int hochA = 880;
int Summer = 8; int Funktionsgenerator = A1;
Leere Einrichtung () {
// die Anzahl der Spalten und Zeilen des LCD einrichten:
lcd.begin(16, 2);
// Eine Nachricht auf dem LCD ausgeben.
lcd.print("Hallo Welt!");
Serial.begin (9600);
// lösche alles im LCD, dann setze den Cursor, den printt
lcd.setCursor(0, 1); }
Leere Schleife () {
Serial.println (analogRead (Funktionsgenerator));
Verzögerung (50);
// setze den Cursor auf Spalte 0, Zeile 1
//(Anmerkung: Zeile 1 ist die zweite Zeile, da das Zählen bei 0 beginnt):
if (analogRead(functionGenerator) == 450) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("A");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 494) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("B");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 523) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("C");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 587) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("D");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 659) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("E");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 699) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("F");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 784) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("G");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator) == 880) {
lcd.clear();
lcd.setCursor(8, 1);
Ton (Summer, 250);
lcd.print("A");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>400&&digitalRead(functionGenerator)<449) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("A");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>451&&digitalRead(functionGenerator)<470) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("A");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>471&&digitalRead(functionGenerator)<493) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("B");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>495&&digitalRead(functionGenerator)<509) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("B");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>509&&digitalRead(functionGenerator)<522) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("C");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>524&&digitalRead(functionGenerator)<556) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("C");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>557&&digitalRead(functionGenerator)<586) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("D");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>588&&digitalRead(functionGenerator)<620) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("D");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>621&&digitalRead(functionGenerator)<658) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("E");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>660&&digitalRead(functionGenerator)<679) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("E");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>680&&digitalRead(functionGenerator)<698) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("F");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>700&&digitalRead(functionGenerator)<742) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("F");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>743&&digitalRead(functionGenerator)<783) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("G");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>785&&digitalRead(functionGenerator)<845) {
lcd.clear();
lcd.setCursor(12, 1);
Ton (Summer, 250);
lcd.print("G");
Verzögerung (1000);
}sonst if (analogRead(functionGenerator)>846&&digitalRead(functionGenerator)<879) {
lcd.clear();
lcd.setCursor(4, 1);
Ton (Summer, 250);
lcd.print("A");
Verzögerung (1000); }
else { kein Ton (Summer); } Verzögerung(10); }
Schritt 4: Anschließen an die Stromversorgung
Für den letzten Schritt müssen Sie nur noch eine Stromquelle finden und mit dem Arduino verbinden, mit dem Sie den Tuner verwenden können.