Съдържание:

Как да си направим тунер за китара Arduino: 4 стъпки
Как да си направим тунер за китара Arduino: 4 стъпки

Видео: Как да си направим тунер за китара Arduino: 4 стъпки

Видео: Как да си направим тунер за китара Arduino: 4 стъпки
Видео: CS50 Live, Episode 003 2024, Ноември
Anonim
Как да си направим тунер за китара Arduino
Как да си направим тунер за китара Arduino

Това са инструкциите за направата на китарния тунер от Arduino и няколко други компонента. С основни познания по електроника и кодиране ще можете да направите този китарен тунер.

Първо трябва да разберете какви са материалите.

Материали:

- 1 Arduino (използвах Arduino 1)

- 1 LCD дисплей (16x2)

- 1 потенциометър

- 1 Електретен микрофон

- 1 250 ома резистор

- Няколко проводника

-поялник

- 1 пиезо

Стъпка 1: Щифтове за запояване

Поялни щифтове
Поялни щифтове

Първото нещо, което трябва да направите, е да запоите щифтовете към LCD дисплея, но трябва да се уверите, че те са запоени по правилния начин. На горното изображение показва кои щифтове трябва къде да бъдат свързани. GND изводът трябва да бъде свързан към извод на потенциометъра, както е показано на диаграмата на Tinkercad. (ЗАБЕЛЕЖКА: Много е важно да свържете щифтовете по указания начин, в противен случай тунерът няма да работи.)

Стъпка 2: Свързване на всичко

Свързване на всичко
Свързване на всичко

След запояване на проводниците към LCD дисплея има няколко други проводника, които трябва да свържете.

1.) Първото нещо, което трябва да направите, е да свържете GND и 5V на Arduino към платката, което му позволява да има захранване. След това свържете електрета към цифровия щифт 7 и GND.

2.) След това свържете пиезото към платката за GND и го свържете към цифров пин 6.

3.) След това преминава потенциометъра, свързвате клема 1 към положителна лента на макета, а клема 2 към лента GND на макетната платка, след това свързвате чистачката към контрастния щифт на LCD дисплея.

Стъпка 3: Кодиране

Кодиране
Кодиране

След като свържете всичко по правилния начин, трябва да програмирате тунера така, че той да си върши работата. По -долу е кодът

// включва кода на библиотеката: #include

// инициализираме библиотеката с номерата на интерфейсните щифтове 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 зумер = 8; int functionGenerator = A1;

void setup () {

// настройваме броя на колоните и редовете на LCD дисплея:

lcd.begin (16, 2);

// Отпечатайте съобщение на LCD дисплея.

lcd.print ("здравей, свят!");

Serial.begin (9600);

// изчистваме всичко в LCD, след това задаваме курсора, отпечатъка

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

забавяне (50);

// задаваме курсора на колона 0, ред 1

// (забележка: ред 1 е вторият ред, тъй като броенето започва с 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("A");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("B");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("C");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("D");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("E");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("F");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("G");

забавяне (1000);

} иначе ако (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

тон (зумер, 250);

lcd.print ("A");

забавяне (1000);

} else if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("A");

забавяне (1000);

} else if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("A");

забавяне (1000);

} else if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("B");

забавяне (1000);

} else if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("B");

забавяне (1000);

} else if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("C");

забавяне (1000);

} else if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("C");

забавяне (1000);

} else if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("D");

забавяне (1000);

} else if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("D");

забавяне (1000);

} else if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("E");

забавяне (1000);

} else if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("E");

забавяне (1000);

} else if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("F");

забавяне (1000);

} else if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("F");

забавяне (1000);

} else if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("G");

забавяне (1000);

} else if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

тон (зумер, 250);

lcd.print ("G");

забавяне (1000);

} else if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

тон (зумер, 250);

lcd.print ("A");

забавяне (1000); }

else {noTone (зумер); } забавяне (10); }

Стъпка 4: Свържете го към захранването

Свързване към захранване
Свързване към захранване

За последната стъпка всичко, което трябва да направите, е да намерите източник на захранване и да го свържете към Arduino, който имате, който можете да започнете да използвате тунера.

Препоръчано: