Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Acestea sunt instrucțiunile pentru a face un tuner de chitară dintr-un Arduino și alte câteva componente. Cu cunoștințe de bază despre electronică și codificare, veți putea face acest tuner de chitară.
Mai întâi trebuie să știți care sunt materialele.
Materiale:
- 1 Arduino (am folosit un Arduino 1)
- 1 ecran LCD (16x2)
- 1 potențiometru
- 1 microfon Electret
- Rezistor de 1 250 Ohm
- Mai multe fire
-Ciocan de lipit
- 1 piezo
Pasul 1: Pinii de lipit
Primul lucru pe care trebuie să-l faceți este lipirea pinilor pe ecranul LCD, totuși trebuie să vă asigurați că sunt lipiți corect. În imaginea de mai sus, arată ce pini trebuie conectați unde. Pinul GND ar trebui să fie conectat la un terminal al potențiometrului ca în diagrama Tinkercad. (NOTĂ: Este foarte important să conectați pinii așa cum este instruit, altfel tunerul nu va funcționa.)
Pasul 2: Conectarea totul
După lipirea firelor pe ecranul LCD, există mai multe fire pe care trebuie să le conectați.
1.) Primul lucru pe care trebuie să-l faceți este să conectați GND și 5V de pe Arduino la panou, permițându-i să aibă putere. Apoi conectați electretul la pinul digital 7 și GND.
2.) Apoi conectați piezo-ul la panoul pentru GND și conectați-l la pinul digital 6.
3.) După ce merge potențiometrul, conectați terminalul 1 la o bandă pozitivă de pe panou și terminalul 2 la o bandă GND de pe panou, apoi conectați ștergătorul la pinul de contrast de pe LCD.
Pasul 3: Codificare
După ce ați conectat totul în mod corect, trebuie să programați tunerul astfel încât acesta să își facă treaba. Mai jos este codul
// include codul bibliotecii: #include
// inițializați biblioteca cu numerele pinilor de interfață LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
int A = 440;
int B = 494;
int C = 523;
int D = 587;
int E = 659;
int F = 699;
int G = 784;
int highA = 880;
int buzzer = 8; int functionGenerator = A1;
configurare nulă () {
// configurați numărul LCD de coloane și rânduri:
lcd.inceput (16, 2);
// Imprimați un mesaj pe ecranul LCD.
lcd.print ("salut, lume!");
Serial.begin (9600);
// ștergeți totul în ecranul LCD, apoi setați cursorul, printt
lcd.setCursor (0, 1); }
bucla nulă () {
Serial.println (analogRead (functionGenerator));
întârziere (50);
// setați cursorul la coloana 0, linia 1
// (notă: linia 1 este al doilea rând, deoarece numărarea începe cu 0):
if (analogRead (functionGenerator) == 450) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("A");
întârziere (1000);
} else if (analogRead (functionGenerator) == 494) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("B");
întârziere (1000);
} else if (analogRead (functionGenerator) == 523) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("C");
întârziere (1000);
} else if (analogRead (functionGenerator) == 587) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("D");
întârziere (1000);
} else if (analogRead (functionGenerator) == 659) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("E");
întârziere (1000);
} else if (analogRead (functionGenerator) == 699) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("F");
întârziere (1000);
} else if (analogRead (functionGenerator) == 784) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("G");
întârziere (1000);
} else if (analogRead (functionGenerator) == 880) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (buzzer, 250);
lcd.print ("A");
întârziere (1000);
} else if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("A");
întârziere (1000);
} else if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("A");
întârziere (1000);
} else if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("B");
întârziere (1000);
} else if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("B");
întârziere (1000);
} else if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("C");
întârziere (1000);
} else if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("C");
întârziere (1000);
} else if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("D");
întârziere (1000);
} else if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("D");
întârziere (1000);
} else if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("E");
întârziere (1000);
} else if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("E");
întârziere (1000);
} else if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("F");
întârziere (1000);
} else if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("F");
întârziere (1000);
} else if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("G");
întârziere (1000);
} else if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (buzzer, 250);
lcd.print ("G");
întârziere (1000);
} else if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (buzzer, 250);
lcd.print ("A");
întârziere (1000); }
else {noTone (buzzer); } întârziere (10); }
Pasul 4: conectarea la alimentare
Pentru ultimul pas tot ce trebuie să faceți este să găsiți o sursă de alimentare și să o conectați la Arduino, una pe care o aveți, pe care o puteți începe să utilizați tunerul.