İçindekiler:

Arduino Gitar Akort Aleti Nasıl Yapılır: 4 Adım
Arduino Gitar Akort Aleti Nasıl Yapılır: 4 Adım

Video: Arduino Gitar Akort Aleti Nasıl Yapılır: 4 Adım

Video: Arduino Gitar Akort Aleti Nasıl Yapılır: 4 Adım
Video: Gitar çalmayı bildiği halde kursa gidip hava atan kişi 2024, Kasım
Anonim
Arduino Gitar Tuner Nasıl Yapılır?
Arduino Gitar Tuner Nasıl Yapılır?

Bunlar, bir Arduino'dan ve diğer birkaç bileşenden bir gitar akort cihazı yapma talimatlarıdır. Temel elektronik ve kodlama bilgisi ile bu gitar tunerini yapabileceksiniz.

Her şeyden önce, malzemelerin ne olduğunu bilmelisiniz.

Malzemeler:

- 1 Arduino (Arduino 1 kullandım)

- 1 LCD Ekran (16x2)

- 1 Potansiyometre

- 1 Elektret Mikrofon

- 1 250 Ohm Direnç

- Birkaç Tel

-Havya

- 1 Piezo

Adım 1: Lehimleme Pimleri

Lehim Pimleri
Lehim Pimleri

Yapmanız gereken ilk şey, pinleri LCD'ye lehimlemektir, ancak doğru şekilde lehimlendiğinden emin olmalısınız. Yukarıdaki resimde hangi pinlerin nereye bağlanması gerektiğini gösteriyor. GND pini Tinkercad şemasındaki gibi potansiyometrenin bir terminaline bağlanmalıdır. (NOT: Pinleri belirtildiği şekilde bağlamanız çok önemlidir aksi halde tuner çalışmayacaktır.)

2. Adım: Her Şeyi Bağlama

Her Şeyi Bağlamak
Her Şeyi Bağlamak

Kabloları LCD'ye lehimledikten sonra bağlamanız gereken birkaç kablo daha var.

1.) Yapmanız gereken ilk şey Arduino üzerindeki GND ve 5V'yi breadboard'a bağlayarak güç almasını sağlamaktır. Ardından elektreti dijital pin 7 ve GND'ye bağlayın.

2.) Ardından piezoyu GND için devre tahtasına bağlayın ve dijital pin 6'ya bağlayın.

3.) Potansiyometre gittikten sonra, terminal 1'i devre tahtasındaki pozitif bir şeride ve terminal 2'yi devre tahtasındaki bir GND şeridine bağlarsınız, ardından sileceği LCD'deki kontrast pimine bağlarsınız.

Adım 3: Kodlama

kodlama
kodlama

Her şeyi doğru şekilde bağladıktan sonra, alıcıyı gerçekten işini yapacak şekilde programlamanız gerekir. kod aşağıdadır

// kitaplık kodunu dahil et:#include

// kütüphaneyi LiquidCrystal lcd(12, 11, 5, 4, 3, 2) arabirim pinlerinin numaralarıyla başlat;

int A = 440;

int B = 494;

int C = 523;

int D = 587;

int E = 659;

int F = 699;

int G = 784;

int yüksekA = 880;

int zil = 8; int functionGenerator = A1;

geçersiz kurulum() {

// LCD'nin sütun ve satır sayısını ayarlayın:

lcd.başla(16, 2);

// LCD'ye bir mesaj yazdırın.

lcd.print("merhaba dünya!");

Seri.başla(9600);

// LCD'deki her şeyi temizle, ardından imleci ayarla, printt

lcd.setCursor(0, 1); }

boşluk döngüsü () {

Serial.println(analogRead(functionGenerator));

gecikme (50);

// imleci sütun 0, satır 1'e ayarla

//(not: sayma 0 ile başladığı için 1. satır ikinci satırdır):

if (analogRead(functionGenerator) == 450) {

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("A");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("B");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("C");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("D");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("E");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("F");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("G");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton(zil, 250);

lcd.print("A");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("A");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("A");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("B");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("B");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("C");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("C");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("D");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("D");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("E");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("E");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("F");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("F");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("G");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton(zil, 250);

lcd.print("G");

gecikme(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton(zil, 250);

lcd.print("A");

gecikme(1000); }

else { noTone(buzzer); } gecikme(10); }

Adım 4: Güce Bağlama

Güç Bağlantısı
Güç Bağlantısı

Son adım için tek yapmanız gereken bir güç kaynağı bulmak ve onu Arduino'ya bağlamak, sahip olduğunuz ve tuneri kullanmaya başlayabileceğiniz bir tane.

Önerilen: