Мазмуну:

Ардуино гитарасын кантип жасоо керек: 4 кадам
Ардуино гитарасын кантип жасоо керек: 4 кадам

Video: Ардуино гитарасын кантип жасоо керек: 4 кадам

Video: Ардуино гитарасын кантип жасоо керек: 4 кадам
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Ноябрь
Anonim
Ардуино гитарасынын тюнерин кантип жасаса болот
Ардуино гитарасынын тюнерин кантип жасаса болот

Бул гитара тюнерин Arduino жана башка бир нече компоненттерден жасоо боюнча көрсөтмөлөр. Электроника жана коддоо боюнча негизги билим менен сиз бул гитара тюнерин жасай аласыз.

Биринчиден, сиз эмне материалдар экенин билишиңиз керек.

Материалдар:

- 1 Arduino (мен Arduino 1 колдондум)

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

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

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

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

- Бир нече зымдар

-Кандооч

- 1 Пьезо

1 -кадам: Soldering Pins

Soldering Pins
Soldering Pins

Эң биринчи кылышыңыз керек болгон нерселер ЖКга туташтырылат, бирок сиз алардын туура жол менен ширетилгенин текшеришиңиз керек. Жогорудагы сүрөттө кайсы казыктар кайда туташуусу керек экени көрсөтүлгөн. GND пини Tinkercad диаграммасындагыдай потенциометрдин терминалына туташуусу керек. (ЭСКЕРТҮҮ: Пиндерди көрсөтмө бергендей туташтыруу өтө маанилүү, антпесе тюнер иштебейт.)

2 -кадам: Баарын туташтыруу

Баарын туташтыруу
Баарын туташтыруу

Зымдарды ЖКга кошкондон кийин, сиз туташтырышыңыз керек болгон дагы бир нече зымдар бар.

1.) Сизге керек болгон биринчи нерсе - бул Arduinoдогу GND жана 5Vны нанга тактага туташтырып, анын күчкө ээ болушуна мүмкүнчүлүк берүү. Андан кийин электрди 7 жана GND санариптик пинге туташтырыңыз.

2.) Андан кийин пьезону GND үчүн нан тактасына туташтырып, аны санарип пин 6га туташтырыңыз.

3.) Андан кийин потенциометр өтөт, сиз 1 -терминалды нандагы оң тилкеге жана 2 -терминалды нандагы GND тилкесине туташтырасыз, андан кийин тазалагычты ЖКдагы контрасттык пинге туташтырасыз.

3 -кадам: Коддоо

Coding
Coding

Баарын туура жолго туташтыргандан кийин, тюнерди программалаш керек, ал иш жүзүндө өз ишин аткарат. Төмөндө код

// китепкана кодун камтыйт: #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;

жараксыз орнотуу () {

// ЖКнын мамычаларынын жана катарларынын санын орнотуңуз:

lcd.begin (16, 2);

// ЖКга билдирүү басып чыгаруу.

lcd.print ("салам, дүйнө!");

Serial.begin (9600);

// LCDдеги бардыгын тазалап, андан кийин курсорду, printtти коюңуз

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

кечиктирүү (50);

// курсорду 0 графасына, 1 сапка коюңуз

// (эскертүү: 1 -сап - экинчи катар, анткени саноо 0 менен башталат):

эгер (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("A");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("B");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("C");

кечигүү (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("D");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("E");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("F");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("G");

кечигүү (1000);

} башка if (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

обон (коңгуроо, 250);

lcd.print ("A");

кечигүү (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

обон (коңгуроо, 250);

lcd.print ("A");

кечигүү (1000);

} башка 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);

} if 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);

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

lcd.clear ();

lcd.setCursor (4, 1);

обон (коңгуроо, 250);

lcd.print ("D");

кечигүү (1000);

} башка 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 менен туташтыруу.

Сунушталууда: