فهرست مطالب:

پیانو آردوینو: 3 مرحله
پیانو آردوینو: 3 مرحله

تصویری: پیانو آردوینو: 3 مرحله

تصویری: پیانو آردوینو: 3 مرحله
تصویری: [Synthesia][MIDI] Secret - Dou Qin op.3 (Solo) / (두금삼) 2024, جولای
Anonim
پیانو آردوینو
پیانو آردوینو

این "پیانو" قادر است یک اکتاو از یک پیانو واقعی را بنوازد. فشار دادن دکمه ها نشان دهنده فشار یک کلید بر روی پیانو است. صدا از طریق بلندگوی Piezo پخش می شود.

مرحله 1: مواد

1. آردوینو اونو

2. سیم USB

3. 3 تخته نان

4. 8 دکمه فشاری

5. 8 مقاومت 100 اهم

6. بلندگوی "پیزو"

7. تعداد زیادی سیم نر (حدود 20)

8. آهن لحیم کاری

مرحله 2: Setup را ایجاد کنید

Setup را بسازید
Setup را بسازید

8 دکمه ایجاد کنید که هرکدام به 8 پین مختلف در آردوینو برسد ، به هر کدام یک مقاومت اضافه کنید و آنها را به زمین وصل کنید (با استفاده از سیم های مردانه).

بلندگو را به پین تعیین شده آردوینو و طرف دیگر را به زمین وصل کنید. شما باید سیم ها را به بلندگو لحیم کنید تا از بین نرود. اطمینان حاصل کنید که دو سیم که به بلندگو لحیم شده اند به یکدیگر دست نزنند.

مرحله 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 #تعریف_51 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 # تعریف NOTE_A2 110 # تعریف NOTE_AS2 117 # تعریف NOTE_B2 123 #تعریف NOTE_C3 131 #تعریف NOTE_CS3 139 #تعریف NOTE_D3 147 #تعریف NOTE_DS3 156 #تعریف NOTE_E3 165 #تعریف NOTE_F3 175 #Define NOTE_C4 262 #تعریف NOTE_CS4 277 #تعریف NOTE_D4 294 #تعریف NOTE_DS4 311 #تعریف NOTE_E4 330 #تعریف NOTE_F4 349 #تعریف NOTE_FS4 370 #تعریف NOTE_G4 392 #تعریف_444444444444_44 #روز 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 #Define_55 #Define_55 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_FE6_76_77 NOTE_D7 2349 #تعریف NOTE_DS7 2489 #تعریف NOTE_E7 2637 #تعریف NOTE_F7 2794 #تعریف NOTE_FS7 2960 #تعریف NOTE_G7 3136 #تعریف NOTE_GS7 3322 #تعریف NOTE_A7 3520_Def_FEE_87 4699 #تعریف 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؛

پین های آردوینو را به دکمه ها اختصاص دهید. "cState ، dState ، eState و غیره ؛" متغیرهایی هستند که آیا دکمه فشار داده می شود ذخیره می شوند. 0 به این معنی است که فشار داده نشده است ، 1 به این معنی است که فشار داده شده است.

void setup () {// کد راه اندازی خود را در اینجا قرار دهید تا یکبار اجرا شود: pinMode (10 ، OUTPUT) ؛ Serial.begin (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) {tone (piezoPin، 131)؛ } else {noTone (piezoPin) ؛} if (dState == 1) {tone (piezoPin، 147)؛ } else {noTone (piezoPin) ؛} if (eState == 1) {tone (piezoPin، 165)؛ } else {noTone (piezoPin)؛} if (fState == 1) {tone (piezoPin، 175)؛ } else {noTone (piezoPin) ؛} if (gState == 1) {tone (piezoPin، 196)؛ } else {noTone (piezoPin) ؛} if (aState == 1) {tone (piezoPin، 220)؛ } else {noTone (piezoPin)؛} if (bState == 1) {tone (piezoPin، 247)؛ } else {noTone (piezoPin)؛} if (c2State == 1) {tone (piezoPin، 262)؛ } else {noTone (piezoPin)؛}}

اگر دکمه ای فشار داده شود ، به سروو می گوید که فرکانس گواهینامه را پخش کند (توجه داشته باشید). کارکرد

{noTone (piezoPin) ؛} به آنها می گوید که اگر دکمه را فشار ندهید هیچ چیز پخش نمی شود. بنابراین هر زمان که دکمه فشار داده شود ، نت مشخص شده خود را پخش می کند.

توصیه شده: