Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Këto janë udhëzimet për të bërë një sintonizues kitare nga një Arduino dhe disa përbërës të tjerë. Me njohuritë themelore të elektronikës dhe kodimit do të jeni në gjendje të bëni këtë akordues kitarë.
Para së gjithash, duhet të dini se cilat janë materialet.
Materiale:
- 1 Arduino (kam përdorur një Arduino 1)
- 1 ekran LCD (16x2)
- 1 Potenciometër
- 1 mikrofon elektrik
- 1 Rezistencë 250 Ohm
- Disa tela
-Makine per ngjitjen e metalit
- 1 Piezo
Hapi 1: Kunjat e saldimit
Gjëja e parë që duhet të bëni është të lidhni kunjat në LCD, megjithatë duhet të siguroheni që ato të jenë ngjitur në mënyrën e duhur. Në imazhin e mësipërm, ai tregon se cilat kunja duhet të shkojnë të lidhura ku. Kunja GND duhet të lidhet me një terminal të potenciometrit si në diagramin Tinkercad. (SHENIM: veryshtë shumë e rëndësishme që t'i lidhni kunjat ashtu siç udhëzohet, përndryshe akorduesi nuk do të funksionojë.)
Hapi 2: Lidhja e gjithçkaje
Pas bashkimit të telave në LCD ka disa tela të tjerë që ju nevojiten për t'u lidhur.
1.) Gjëja e parë që duhet të bëni është të lidhni GND dhe 5V në Arduino me tabelën e bukës duke e lejuar atë të ketë fuqi. Pastaj lidhni elektrikun me pinin dixhital 7 dhe GND.
2.) Pastaj lidhni piezo -n me tabelën e bukës për GND dhe lidheni atë me pinin dixhital 6.
3.) Pasi të kalojë potenciometri, lidhni terminalin 1 me një shirit pozitiv në dërrasën e bukës dhe terminalin 2 me një shirit GND në dërrasën e bukës, pastaj lidhni fshirësin me kunjin e kontrastit në LCD.
Hapi 3: Kodimi
Pasi të keni lidhur gjithçka në mënyrë korrekte, duhet të programoni sintonizuesin në mënyrë që ai të bëjë punën e tij. Më poshtë është kodi
// përfshini kodin e bibliotekës: #include
// inicializoni bibliotekën me numrat e kunjave të ndërfaqes 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 e lartëA = 880;
int zile = 8; int funksionGjenerator = A1;
void setup () {
// vendosni numrin e kolonave dhe rreshtave të LCD:
lcd.filloni (16, 2);
// Shtypni një mesazh në LCD.
lcd.print ("përshëndetje, botë!");
Serial.filloj (9600);
// pastroni gjithçka në LCD, pastaj vendosni kursorin, printt
lcd.setCursor (0, 1); }
lak void () {
Serial.println (analogRead (funksionGjeneratori));
vonesë (50);
// vendosni kursorin në kolonën 0, rreshti 1
// (shënim: rreshti 1 është rreshti i dytë, pasi numërimi fillon me 0):
nëse (analogRead (functionGenerator) == 450) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("A");
vonesa (1000);
} tjetër nëse (analogRead (funksionGenerator) == 494) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("B");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator) == 523) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("C");
vonesa (1000);
} tjetër nëse (analogRead (funksionGenerator) == 587) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("D");
vonesa (1000);
} tjetër nëse (analogRead (funksionGenerator) == 659) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("E");
vonesa (1000);
} tjetër nëse (analogRead (funksionGenerator) == 699) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("F");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator) == 784) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("G");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator) == 880) {
lcd.qartë ();
lcd.setCursor (8, 1);
toni (zile, 250);
lcd.print ("A");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("A");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("A");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("B");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("B");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("C");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("C");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("D");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("D");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("E");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("E");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("F");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("F");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("G");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {
lcd.qartë ();
lcd.setCursor (12, 1);
toni (zile, 250);
lcd.print ("G");
vonesa (1000);
} tjetër nëse (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {
lcd.qartë ();
lcd.setCursor (4, 1);
toni (zile, 250);
lcd.print ("A");
vonesa (1000); }
else {noTone (zile); } vonesa (10); }
Hapi 4: Lidhja e tij me energjinë
Për hapin përfundimtar gjithçka që duhet të bëni është të gjeni një burim energjie dhe ta lidhni atë me Arduino, atë që keni që mund të filloni të përdorni sintonizuesin.