Оглавление:

Как сделать тюнер для гитары на Arduino: 4 шага
Как сделать тюнер для гитары на Arduino: 4 шага

Видео: Как сделать тюнер для гитары на Arduino: 4 шага

Видео: Как сделать тюнер для гитары на Arduino: 4 шага
Видео: Как сделать камертон для настройки гитары на Arduino (схема+прошивка). 2024, Ноябрь
Anonim
Как сделать тюнер для гитары на Arduino
Как сделать тюнер для гитары на Arduino

Это инструкции по созданию гитарного тюнера из Arduino и нескольких других компонентов. Обладая базовыми знаниями в области электроники и программирования, вы сможете создать этот гитарный тюнер.

Перво-наперво вы должны знать, какие материалы.

Материалы:

- 1 Arduino (я использовал Arduino 1)

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

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

- 1 электретный микрофон

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

- Несколько проводов

-Паяльник

- 1 пьезо

Шаг 1: пайки

Паяльные штифты
Паяльные штифты

Первое, что вам нужно сделать, это припаять контакты к ЖК-дисплею, однако вы должны убедиться, что они припаяны правильно. На изображении выше показано, какие контакты и где должны быть подключены. Вывод GND должен быть подключен к выводу потенциометра, как на схеме Tinkercad. (ПРИМЕЧАНИЕ: очень важно, чтобы вы подключили контакты так, как указано в инструкции, иначе тюнер не будет работать.)

Шаг 2: все соединяем

Подключение всего
Подключение всего

После припаивания проводов к ЖК-дисплею остается еще несколько проводов, которые необходимо подключить.

1.) Первое, что вам нужно сделать, это подключить GND и 5V на Arduino к макетной плате, чтобы он получил питание. Затем подключите электрет к цифровому выводу 7 и GND.

2.) Затем подключите пьезоэлемент к макетной плате для GND и подключите его к цифровому контакту 6.

3.) После этого срабатывает потенциометр, вы подключаете клемму 1 к положительной полосе на макетной плате, а клемму 2 - к полосе GND на макетной плате, затем вы подключаете стеклоочиститель к контрастному контакту на ЖК-дисплее.

Шаг 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 buzzer = 8; int functionGenerator = A1;

void setup () {

// устанавливаем количество столбцов и строк на ЖК-дисплее:

lcd.begin (16, 2);

// Выводим сообщение на ЖК-дисплей.

lcd.print («привет, мир!»);

Serial.begin (9600);

// очищаем все на ЖК-дисплее, затем устанавливаем курсор, печать

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 («А»);

задержка (1000);

} else if (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print («Б»);

задержка (1000);

} else if (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print («C»);

задержка (1000);

} else if (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print ("D");

задержка (1000);

} else if (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print («E»);

задержка (1000);

} else if (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print ("F");

задержка (1000);

} else if (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print ("G");

задержка (1000);

} else if (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

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

lcd.print («А»);

задержка (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

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

lcd.print («А»);

задержка (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

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

lcd.print («А»);

задержка (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

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

lcd.print («Б»);

задержка (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

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

lcd.print («Б»);

задержка (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 («А»);

задержка (1000); }

else {noTone (зуммер); } задержка (10); }

Шаг 4: Подключение к источнику питания

Подключение к источнику питания
Подключение к источнику питания

На последнем этапе все, что вам нужно сделать, это найти источник питания и подключить его к Arduino, который у вас есть, и вы можете начать использовать тюнер.

Рекомендуемые: