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

Arduino төгөлдөр хуур: 3 алхам
Arduino төгөлдөр хуур: 3 алхам

Видео: Arduino төгөлдөр хуур: 3 алхам

Видео: Arduino төгөлдөр хуур: 3 алхам
Видео: КАК ДЕЛАТЬ МУЗЫКУ БЕЗ РУК 2024, Арваннэгдүгээр
Anonim
Arduino төгөлдөр хуур
Arduino төгөлдөр хуур

Энэхүү "төгөлдөр хуур" нь жинхэнэ төгөлдөр хуурын октав тоглох чадвартай. Товчлуур дарах нь төгөлдөр хуур дээр товчлуур дарахыг илэрхийлнэ. Дууг Piezo чанга яригчаар дамжуулах болно.

Алхам 1: Материал

1. Ардуино Уно

2. USB утас

3. 3 талхны самбар

4. 8 товчлуур

5. 8 100 Ом эсэргүүцэл

6. "Пьезо" спикер

7. Олон эрэгтэй утас (20 орчим)

8. Гагнуурын төмөр

Алхам 2: Тохиргоог бүтээх

Тохиргоог бүтээх
Тохиргоог бүтээх

8 товчлуурыг Arduino -д тус бүр 8 өөр тээглүүрээр холбож, тус бүрт нь эсэргүүцэл нэмж, газардуулаад холбоно уу (эрэгтэй утас ашиглан).

Чанга яригчийг зориулагдсан Arduino зүү рүү, нөгөө талыг нь газардуул. Утас унахгүйн тулд чанга яригч руу гагнах шаардлагатай болно. Чанга яригч руу гагнаж байгаа хоёр утас бие биедээ хүрэхгүй байгаа эсэхийг шалгаарай.

Алхам 3: Код бүтээх

#тодорхойлох NOTE_B0 31 #тодорхойлох NOTE_C1 33 #тодорхойлох NOTE_CS1 35 #тодорхойлох NOTE_D1 37 #тодорхойлох NOTE_DS1 39 #тодорхойлох NOTE_E1 41 #тодорхойлох NOTE_F1 44 #тодорхойлох NOTE_FS1 46 #тодорхойлох NOTE_G1 49 #Тодорхойлох NOTE_GS1 52 #тодорхойлох NOTE_B1 62 #тодорхойлох NOTE_C2 65 #тодорхойлох NOTE_CS2 69 #тодорхойлох NOTE_D2 73 #тодорхойлох NOTE_DS2 78 #тодорхойлох NOTE_E2 82 #тодорхойлох NOTE_F2 87 #тодорхойлох NOTE_FS2 93 #тодорхойлох NOTE_G2 98 #тодорхойлох NOTE_GS2 104 #Тодорхойлох22 #тодорхойлох NOTE_C3 131 #тодорхойлох NOTE_CS3 139 #тодорхойлох NOTE_D3 147 #тодорхойлох NOTE_DS3 156 #тодорхойлох NOTE_E3 165 #тодорхойлох NOTE_F3 175 #тодорхойлох NOTE_FS3 185 #тодорхойлох NOTE_G3 196 #тодорхойлох NOTE_GS3 208 #33 NOTE_C4 262 #тодорхойлох NOTE_CS4 277 #тодорхойлох NOTE_D4 294 #тодорхойлох NOTE_DS4 311 #тодорхойлох NOTE_E4 330 #тодорхойлох NOTE_F4 349 #тодорхойлох NOTE_FS4 370 #тодорхойлох NOTE_G4 392 #тодорхойлох NOTE_GS4 415 Not4ine444 #д efine NOTE_CS5 554 #тодорхойлох NOTE_D5 587 #тодорхойлох NOTE_DS5 622 #тодорхойлох NOTE_E5 659 #тодорхойлох NOTE_F5 698 #тодорхойлох NOTE_FS5 740 #тодорхойлох NOTE_G5 784 #тодорхойлох NOTE_GS5 831 #Тодорхойлох NOTE_A5 880 #Тодорхойлох, 1109 #тодорхойлох NOTE_D6 1175 #тодорхойлох NOTE_DS6 1245 #тодорхойлох NOTE_E6 1319 #тодорхойлох NOTE_F6 1397 #тодорхойлох NOTE_FS6 1480 #тодорхойлох NOTE_G6 1568 #тодорхойлох NOTE_GS6 1661 #тодорхойлох NOTE_A6 1760 #Тодорхойлох 20 NOTE_D7 2349 #тодорхойлох NOTE_DS7 2489 #тодорхойлох NOTE_E7 2637 #тодорхойлох NOTE_F7 2794 #тодорхойлох NOTE_FS7 2960 #тодорхойлох NOTE_G7 3136 #Тодорхойлох NOTE_GS7 3322 #тодорхойлох NOTE_A7 3520 #Тодорхойлох NOTE_AS7 NOT8Define488 4699 #deine NOTE_DS8 4978

Эдгээр "#тодорхойлолтууд" нь аль давтамж нь аль тэмдэглэлийг хийдгийг чанга яригчид хэлэх ёстой

const int C = 2; const int D = 3; const int E = 4; const int F = 5; const int G = 6; const int A = 7; const int B = 8; const int C2 = 9; const int piezoPin = 10; int cState = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aState = 0; int bState = 0; int c2State = 0;

Arduino тээглүүрүүдийг товчлууруудад зааж өгнө үү. "cState, dState, eState, гэх мэт." нь товчлуур дарагдсан эсэхийг хадгалдаг хувьсагч юм. 0 гэдэг нь дарагдаагүй, 1 бол дарагдсан гэсэн үг юм.

void setup () {// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу: pinMode (10, OUTPUT); Цуваа эхлэх (9600); }

void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2State = digitalRead (C2);

Товчлуурын төлөв (хэрэв дарагдсан эсвэл дарагдаагүй бол) "cState, dState, eState, гэх мэт."

0 гэдэг нь дарагдаагүй, 1 бол дарагдсан гэсэн үг юм.

if (cState == 1) {ая (piezoPin, 131); } өөр {noTone (piezoPin);} if (dState == 1) {ая (piezoPin, 147); } өөр {noTone (piezoPin);} if (eState == 1) {ая (piezoPin, 165); } өөр {noTone (piezoPin);} if (fState == 1) {ая (piezoPin, 175); } өөр {noTone (piezoPin);} if (gState == 1) {ая (piezoPin, 196); } өөр {noTone (piezoPin);} if (aState == 1) {ая (piezoPin, 220); } өөр {noTone (piezoPin);} if (bState == 1) {ая (piezoPin, 247); } өөр {noTone (piezoPin);} if (c2State == 1) {ая (piezoPin, 262); } өөр {noTone (piezoPin);}}

Хэрэв товчлуур дарагдсан бол энэ нь servo -д сертификатын давтамжийг тоглуулахыг хэлнэ (тэмдэглэл). Функц

{noTone (piezoPin);} нь юу ч тоглуулахын тулд товчлуурыг дарахгүй бол тэдэнд хэлдэг. Тиймээс товчлуурыг дарах бүртээ тэмдэглэлээ тоглуулах болно.

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