Мазмуну:
- 1 -кадам: Soldering Pins
- 2 -кадам: Баарын туташтыруу
- 3 -кадам: Коддоо
- 4 -кадам: аны бийликке туташтыруу
Video: Ардуино гитарасын кантип жасоо керек: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бул гитара тюнерин Arduino жана башка бир нече компоненттерден жасоо боюнча көрсөтмөлөр. Электроника жана коддоо боюнча негизги билим менен сиз бул гитара тюнерин жасай аласыз.
Биринчиден, сиз эмне материалдар экенин билишиңиз керек.
Материалдар:
- 1 Arduino (мен Arduino 1 колдондум)
- 1 ЖК дисплей (16x2)
- 1 потенциометр
- 1 Электрдик микрофон
- 1 250 Ом резистор
- Бир нече зымдар
-Кандооч
- 1 Пьезо
1 -кадам: Soldering Pins
Эң биринчи кылышыңыз керек болгон нерселер ЖКга туташтырылат, бирок сиз алардын туура жол менен ширетилгенин текшеришиңиз керек. Жогорудагы сүрөттө кайсы казыктар кайда туташуусу керек экени көрсөтүлгөн. GND пини Tinkercad диаграммасындагыдай потенциометрдин терминалына туташуусу керек. (ЭСКЕРТҮҮ: Пиндерди көрсөтмө бергендей туташтыруу өтө маанилүү, антпесе тюнер иштебейт.)
2 -кадам: Баарын туташтыруу
Зымдарды ЖКга кошкондон кийин, сиз туташтырышыңыз керек болгон дагы бир нече зымдар бар.
1.) Сизге керек болгон биринчи нерсе - бул Arduinoдогу GND жана 5Vны нанга тактага туташтырып, анын күчкө ээ болушуна мүмкүнчүлүк берүү. Андан кийин электрди 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;
жараксыз орнотуу () {
// ЖКнын мамычаларынын жана катарларынын санын орнотуңуз:
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 менен туташтыруу.
Сунушталууда:
КАНТИП АРДУИНО МЕНЕН ӨТКӨН БУЗЗЕРДИ КАНТИП АРАЛАШУУ КЕРЕК: 4 кадам
КАНТИП АРДУИНО МЕНЕН Пассивдүү Бузерди Өз ара Интерфейске Колдонуу: Ардуинодо үн чыгаруу - кызыктуу долбоор, бул долбоорго жана тандоолорго жараша ар кандай модулдарды жана түзмөктөрдү колдонуу менен ишке ашат. Бул проектте, зумзер менен үн чыгаруунун жолдорун карайбыз. Коңгуроо колдонгон
DIY кантип кооз саатты жасоо керек - StickC - Оңой жасоо: 8 кадам
DIY кантип кооз саатты жасоо керек - StickC - Оңой жасалат: Бул окуу куралында биз ESP32 M5Stack StickCти Arduino IDE жана Visuino менен ЖКда убакытты көрсөтүү үчүн кантип программалоону, ошондой эле StickC баскычтарын колдонуу менен убакытты кантип коюуну үйрөнөбүз
Ардуино Нано, HX-711 Load Cell жана OLED 128X64 менен Баланын Машинасын Кантип Жасоо керек -- HX-711 калибрлөө: 5 кадам
Ардуино Нано, HX-711 Load Cell жана OLED 128X64 менен Баланын Машинасын Кантип Жасоо керек || Калибрлөө HX-711: Hello Instructables, Бир нече күн мурун мен татынакай баланын атасы болдумбу?. Ооруканада жатканымда, баланын салмагы баланын өсүшүн көзөмөлдөө үчүн абдан маанилүү экенин байкадым. Демек менде бир ой барбы? Балдардын салмагын эсептөөчү машинаны өзүм жасоо үчүн
Ардуино менен адам ээрчиген роботту кантип жасоо керек: 3 кадам
Кантип адам артынан роботту Arduino менен жасаса болот: Адам роботту ээрчип, адамды ээрчийт
КАНТИП АРДУИНО НАНО/МИНИ - Жүктөгүчтү кантип күйгүзүү керек: 5 кадам
КАНТИП АРДУИНО НАНО/МИНИ | Bootloaderди кантип күйгүзүү керек: Бул көрсөтмөлөрдө мен сизге кантип Scratchтан Arduino MINI жасоону көрсөтөм. Бул инструкцияда жазылган процедураны ар кандай долбоорлорго ылайыкташтыруу үчүн колдонсоңуз болот