Spisu treści:

Jak zrobić tuner gitarowy Arduino: 4 kroki
Jak zrobić tuner gitarowy Arduino: 4 kroki

Wideo: Jak zrobić tuner gitarowy Arduino: 4 kroki

Wideo: Jak zrobić tuner gitarowy Arduino: 4 kroki
Wideo: Jak nastroić gitarę? 💚💚💚TUNER GITAROWY ONLINE 2024, Listopad
Anonim
Jak zrobić tuner gitarowy Arduino
Jak zrobić tuner gitarowy Arduino

Oto instrukcje, jak zrobić tuner gitarowy z Arduino i kilku innych komponentów. Dzięki podstawowej wiedzy z zakresu elektroniki i kodowania będziesz w stanie wykonać ten tuner gitarowy.

Najpierw musisz wiedzieć, jakie są materiały.

Materiały:

- 1 Arduino (użyłem Arduino 1)

- 1 wyświetlacz LCD (16x2)

-1 potencjometr

-1 mikrofon elektretowy

- Rezystor 1 250 Ohm

- Kilka przewodów

-Lutownica

- 1 piezo

Krok 1: Kołki lutownicze

Kołki lutownicze
Kołki lutownicze

Pierwszą rzeczą, którą musisz zrobić, to przylutować piny do LCD, jednak musisz się upewnić, że są wlutowane we właściwy sposób. Na powyższym obrazku pokazuje, które piny powinny być połączone gdzie. Pin GND powinien być podłączony do zacisku potencjometru jak na schemacie Tinkercad. (UWAGA: Bardzo ważne jest, aby podłączyć piny zgodnie z instrukcją, w przeciwnym razie tuner nie będzie działał.)

Krok 2: Łączenie wszystkiego

Łącząc wszystko
Łącząc wszystko

Po przylutowaniu przewodów do LCD jest jeszcze kilka innych przewodów, które trzeba podłączyć.

1.) Pierwszą rzeczą, którą musisz zrobić, to podłączyć GND i 5 V na Arduino do płytki stykowej, aby mieć zasilanie. Następnie podłącz elektret do cyfrowego pinu 7 i GND.

2.) Następnie podłącz piezo do płytki stykowej dla GND i podłącz do cyfrowego pinu 6.

3.) Po tym idzie potencjometr, podłączasz zacisk 1 do dodatniego paska na płytce stykowej, a zacisk 2 do paska GND na płytce stykowej, a następnie podłączasz wycieraczkę do styku kontrastowego na LCD.

Krok 3: Kodowanie

Kodowanie
Kodowanie

Po prawidłowym podłączeniu wszystkiego należy zaprogramować tuner tak, aby faktycznie wykonywał swoje zadanie. Poniżej znajduje się kod

// dołącz kod biblioteki:#include

// zainicjuj bibliotekę numerami pinów interfejsu 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;

wewn. G = 784;

int wysokiA = 880;

wew brzęczyk = 8; int generator funkcji = A1;

pusta konfiguracja () {

// ustaw liczbę kolumn i wierszy LCD:

lcd.początek(16, 2);

// Wydrukuj wiadomość na wyświetlaczu LCD.

lcd.print("Witaj świecie!");

Serial.początek(9600);

//wyczyść wszystko na LCD, następnie ustaw kursor, printt

lcd.setCursor(0, 1); }

pusta pętla () {

Serial.println(analogRead(generator funkcji));

opóźnienie (50);

//ustaw kursor na kolumnę 0, wiersz 1

//(uwaga: wiersz 1 to drugi wiersz, ponieważ liczenie zaczyna się od 0):

if (analogRead(functionGenerator) == 450) {

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("A");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("B");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator) == 523) {

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("C");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("D");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("E");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator) == 699) {

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("F");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("G");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(8, 1);

ton (brzęczyk, 250);

lcd.print("A");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("A");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("A");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("B");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>495&&digitalRead(functionGenerator)<509) {

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("B");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("C");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("C");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>557&&digitalRead(functionGenerator)<586) {

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("D");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>588&&digitalRead(functionGenerator)<620) {

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("D");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>621&&digitalRead(functionGenerator)<658) {

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("E");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>660&&digitalRead(functionGenerator)<679) {

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("E");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>680&&digitalRead(functionGenerator)<698) {

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("F");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>700&&digitalRead(functionGenerator)<742) {

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("F");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)>743&&digitalRead(functionGenerator)<783) {

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("G");

opóźnienie (1000);

} w przeciwnym razie (analogRead(functionGenerator)> 785&&digitalRead(functionGenerator)<845) {

lcd.clear();

lcd.setCursor(12, 1);

ton (brzęczyk, 250);

lcd.print("G");

opóźnienie (1000);

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

lcd.clear();

lcd.setCursor(4, 1);

ton (brzęczyk, 250);

lcd.print("A");

opóźnienie (1000); }

jeszcze { brak dźwięku (brzęczyk); } opóźnienie(10); }

Krok 4: Podłączanie go do zasilania

Podłączanie go do zasilania
Podłączanie go do zasilania

W ostatnim kroku wystarczy znaleźć źródło zasilania i podłączyć je do Arduino, takie, które masz, aby zacząć korzystać z tunera.

Zalecana: