Mündəricat:
Video: Arduino Gitar Tunerini Necə Hazırlamaq olar: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Bunlar bir Arduinodan və bir neçə digər komponentdən gitar tuner hazırlamaq təlimatlarıdır. Əsas elektronika və kodlaşdırma bilikləri ilə bu gitara tunerini edə biləcəksiniz.
Əvvəlcə materialların nə olduğunu bilməlisiniz.
Materiallar:
- 1 Arduino (Arduino 1 istifadə etdim)
- 1 LCD Ekran (16x2)
- 1 potansiyometr
- 1 elektret mikrofonu
- 1250 Ohm müqavimət
- Bir neçə tel
-Lehimleme dəmir
- 1 ədəd Piezo
Addım 1: Lehim pinləri
Etməli olduğunuz ilk şey, pinləri LCD -yə lehimləməkdir, lakin onların düzgün şəkildə lehimləndiyinə əmin olmalısınız. Yuxarıdakı şəkildə, hansı pinlərin hara bağlanmalı olduğunu göstərir. GND pin, Tinkercad diaqramında olduğu kimi potansiyometrenin terminalına bağlanmalıdır. (DİQQƏT: Pimləri təlimat verildiyi kimi bağlamağınız çox vacibdir, əks halda tuner işləməyəcək.)
Addım 2: Hər şeyi birləşdirin
Kabelləri LCD -yə lehimlədikdən sonra bağlamalı olduğunuz bir neçə başqa tel var.
1.) Etməyiniz lazım olan ilk şey, Arduino üzərindəki GND və 5V -nin gücə sahib olmasına imkan verən çörək taxtasına qoşulmasıdır. Sonra elektreti rəqəmsal pin 7 və GND -yə bağlayın.
2.) Sonra piezonu GND üçün çörək taxtasına bağlayın və rəqəmsal pin 6 -ya bağlayın.
3.) Potansiyometr getdikdən sonra, terminal 1 -ni çörək lövhəsindəki pozitiv zolağa və terminal 2 -ni çörək lövhəsindəki GND şeridinə bağlayırsınız, sonra silecekini LCD -dəki kontrast pinə bağlayırsınız.
Addım 3: Kodlaşdırma
Hər şeyi düzgün bir şəkildə bağladıqdan sonra, tuneri proqramlaşdırmalısınız ki, əslində öz işini görsün. Kod aşağıda verilmişdir
// kitabxana kodunu daxil edin: #include
// kitabxananı LiquidCrystal lcd (12, 11, 5, 4, 3, 2) interfeys pinlərinin nömrələri ilə işə salın;
int A = 440;
int B = 494;
int C = 523;
int D = 587;
int E = 659;
int F = 699;
int G = 784;
int yüksəkA = 880;
int buzzer = 8; int functionGenerator = A1;
boş quraşdırma () {
// LCD -nin sütun və satır sayını təyin edin:
lcd.begin (16, 2);
// LCD -yə mesaj yazın.
lcd.print ("salam, dünya!");
Serial.begin (9600);
// LCD -də hər şeyi silin, sonra kursoru, çapı təyin edin
lcd.setCursor (0, 1); }
boşluq döngəsi () {
Serial.println (analogRead (functionGenerator));
gecikmə (50);
// kursoru 0 sütunun 1 -ci sətirinə qoyun
// (qeyd: say 1 0 -dan başladığı üçün ikinci sətirdir):
əgər (analogRead (functionGenerator) == 450) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("A");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 494) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("B");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 523) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("C");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 587) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("D");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 659) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("E");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 699) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("F");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 784) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("G");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator) == 880) {
lcd.clear ();
lcd.setCursor (8, 1);
ton (səs -küy, 250);
lcd.print ("A");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("A");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("A");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("B");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("B");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("C");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("C");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("D");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("D");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("E");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("E");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("F");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("F");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("G");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {
lcd.clear ();
lcd.setCursor (12, 1);
ton (səs -küy, 250);
lcd.print ("G");
gecikmə (1000);
} başqa halda (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {
lcd.clear ();
lcd.setCursor (4, 1);
ton (səs -küy, 250);
lcd.print ("A");
gecikmə (1000); }
başqa {noTone (səs siqnalı); } gecikmə (10); }
Addım 4: Gücə qoşun
Son addım üçün, bir güc mənbəyi tapmaq və onu tunerdən istifadə etməyə başlaya biləcəyiniz Arduino -ya bağlamaq kifayətdir.
Tövsiyə:
Proqramı necə hazırlamaq olar: 8 addım
Coco Diseñar Unvanın Proqramı Graficar Un Trapecio a Través De Una Función ?: Proqramın son versiyası Tecnologiyanın ən son versiyasıdır, 11. və ya digər tərəfdən, kompüter proqramları, orta hesabla. Python və kitabxanaçı kimi proqramlar da, proqramların bir hissəsini də istifadə edə bilərsiniz
4G Router üçün YAGI Antenini necə hazırlamaq olar: 8 addım
4G Router üçün YAGI Antennası Necə Hazırlanır: Əvvəlki təlimatımı oxuyanlar, biquad antenini düzəltmədən əvvəl yagi antenası hazırladığımı xatırlaya bilər, amma bu uğurlu olmadı. Çünki koaksial kabelin xarici telini buma bağlamadım. Problem bu ola bilər. Siqnalların çoxu
DC Motoru ilə Yüksək Sürətli Fanı Necə Hazırlamaq olar ?: 6 addım
DC Motoru ilə Yüksək Sürətli Fanı Necə Hazırlamaq olar ?: Əvvəlcə hər şeyi başa düşəcəyiniz tam videoya baxın. Ətraflı aşağıda verilmişdir
3055 Transistorunu Səs Gücləndiricisinə Necə Hazırlamaq olar: 8 addım
3055 Transistorunu Audio Gücləndiriciyə Necə Hazırlamaq olar: Salam dostum, Bu gün 3055 Metal Transistorundan istifadə edərək bir səs gücləndiricisi hazırlayacağam
DIY Tripod - Smartfon və Kamera Tripodunu Antenlə Necə Hazırlamaq olar: 8 addım
DIY Tripod | Antena ilə Smartfon və Kamera Üçayaqlı Necə Hazırlanır: CookQueens üçün video çəkmək üçün Tripod axtaranda gördüm ki, hər 5 ayaqlı tripod qiymətinin fərqli E-ticarət saytlarında çox yüksək qiymətdən başladığını gördüm. Mən də endirim gözləyirəm, amma əldə edə bilmədim. O vaxtdan sonra m