Агуулгын хүснэгт:

Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ: 4 алхам
Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ: 4 алхам

Видео: Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ: 4 алхам

Видео: Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ: 4 алхам
Видео: Компьютерт принтер холбох, ажиллуулах 2024, Арваннэгдүгээр
Anonim
Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ
Arduino гитар тааруулагчийг хэрхэн яаж хийх вэ

Эдгээр нь Arduino болон бусад хэд хэдэн бүрэлдэхүүн хэсгээс гитар тааруулагч хийх заавар юм. Цахилгаан бараа, кодчиллын анхан шатны мэдлэгтэй бол та энэхүү гитар тааруулагчийг хийх боломжтой болно.

Юуны өмнө та ямар материал хэрэгтэй болохыг олж мэдэх хэрэгтэй.

Материал:

- 1 Arduino (би Arduino 1 ашигласан)

- 1 LCD дэлгэц (16x2)

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

- 1 цахилгаан микрофон

- 1 250 Ом эсэргүүцэл

- Хэд хэдэн утас

-Гагнуурын төмөр

- 1 пьезо

Алхам 1: Гагнуурын тээглүүр

Гагнуурын зүү
Гагнуурын зүү

Таны хийх ёстой хамгийн эхний зүйл бол тээглүүрийг LCD дэлгэц дээр гагнах боловч тэдгээрийг зөв аргаар гагнаж байгаа эсэхийг шалгах хэрэгтэй. Дээрх зураг дээр аль тээглүүр хаашаа холбогдох ёстойг харуулав. GND зүү нь Tinkercad диаграм дээрх шиг потенциометрийн терминал руу холбогдсон байх ёстой. (ТАЙЛБАР: Зүүг зааврын дагуу холбох нь маш чухал юм, эс тэгвээс тааруулагч ажиллахгүй болно.)

Алхам 2: Бүгдийг холбох

Бүх зүйлийг холбох
Бүх зүйлийг холбох

Утаснуудаа LCD -д гагнсаны дараа өөр хэд хэдэн утсыг холбох шаардлагатай болно.

1.) Таны хийх ёстой хамгийн эхний зүйл бол Arduino дээрх GND ба 5V -ийг талхтай холбож, хүч чадалтай болгох явдал юм. Дараа нь цахилгаан тэжээлийг дижитал зүү 7 ба GND руу холбоно уу.

2.) Дараа нь пьезо -г GND -ийн талбарт холбож дижитал зүү 6 -д холбоно уу.

3.) Үүний дараа потенциометрийг ашигласнаар та 1 -р терминалыг талхны самбар дээрх эерэг туузан дээр, 2 -р терминалыг талхны самбар дээрх GND туузан дээр холбож, дараа нь арчигчийг LCD дээрх тодосгогч зүү рүү холбоно.

Алхам 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 -ийн багана, мөрийн тоог тохируулна уу.

lcd.begin (16, 2);

// Зурвасыг LCD дэлгэц дээр хэвлэх.

lcd.print ("сайн уу, дэлхий!");

Цуваа эхлэх (9600);

// LCD дээрх бүх зүйлийг цэвэрлээд дараа нь курсорыг хэвлэх

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

саатал (50);

// курсорыг 0 -р баганын 1 -р мөрөнд тохируулна уу

// (тэмдэглэл: тоолох нь 0 -ээр эхэлдэг тул 1 -р мөр бол хоёр дахь мөр юм):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("A");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("B");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("C");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("D");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("E");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("F");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("G");

саатал (1000);

} өөр бол (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

ая (дуугаралт, 250);

lcd.print ("A");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("A");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("A");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("B");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("B");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("C");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("C");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("D");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("D");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("E");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("E");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("F");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("F");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("G");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

ая (дуугаралт, 250);

lcd.print ("G");

саатал (1000);

} өөр бол (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

ая (дуугаралт, 250);

lcd.print ("A");

саатал (1000); }

өөр {noTone (дуугаралт); } саатал (10); }

Алхам 4: Үүнийг хүчдэлд холбох

Үүнийг хүчдэлд холбох
Үүнийг хүчдэлд холбох

Эцсийн алхам бол та тэжээлийн эх үүсвэр олж, Arduino -тэй холбоход л хангалттай.

Зөвлөмж болгож буй: