Мазмуну:
Video: Arduino Piano: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Бул "Фортепиано" чыныгы пианинонун октавасын ойной алат. Баскычтарды басуу фортепианодогу баскычты басууну билдирет. Үн Piezo колонкасы аркылуу өткөрүлөт.
1 -кадам: материалдар
1. Arduino Uno
2. USB зымы
3. 3 нан
4. 8 баскычтар
5. 8 100 Ом каршылыгы
6. "Пьезо" спикери
7. Көптөгөн Эркек Сымдар (Болжол менен 20)
8. Лайнер
2 -кадам: Орнотууну түзүңүз
Ардуинодо 8 түрдүү казыкка кирип, ар бирине резистор кошуп, аларды жерге туташтыруучу 8 баскычты куруңуз (Эркек зымдарын колдонуп).
Динамикти белгиленген Arduino төөнөгүчүнө, экинчи жагын жерге туташтырыңыз. Жыгылып калбашы үчүн зымдарды динамикке кошууга туура келет. Динамикке кошулган эки зым бири -бирине тийбей турганын текшериңиз.
3 -кадам: Кодексти куруу
#аныктоо NOTE_B0 31 #аныктоо NOTE_C1 33 #аныктоо NOTE_CS1 35 #аныктоо NOTE_D1 37 #аныктоо NOTE_DS1 39 #аныктоо NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #аныктоо NOTE_GS1 52 #define NOTE_B1 62 #аныктоо NOTE_C2 65 #аныктоо NOTE_CS2 69 #аныктоо NOTE_D2 73 #аныктоо NOTE_DS2 78 #аныктоо NOTE_E2 82 #define NOTE_F2 87 #аныктоо NOTE_FS2 93 #define NOTE_G2 98 #аныктоо NOTE_GS2 104 #Notfine _2 #аныктоо NOTE_C3 131 #аныктоо NOTE_CS3 139 #аныктоо NOTE_D3 147 #аныктоо NOTE_DS3 156 #аныктоо NOTE_E3 165 #define NOTE_F3 175 #аныктоо NOTE_FS3 185 #define NOTE_G3 196 #аныктоо NOTE_GS3 208 #3fine NOTE_C4 262 #аныктоо NOTE_CS4 277 #аныктоо NOTE_D4 294 #аныктоо NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 Not4ine444 #д efine NOTE_CS5 554 #аныктоо NOTE_D5 587 #аныктоо NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A588888 1109 #аныктоо NOTE_D6 1175 #аныктоо NOTE_DS6 1245 #аныктоо NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #NOTeine аныктоо 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 NOT8Define 378 4699
Бул "#аныктамалар" спикерге кайсы жыштык кайсы нотаны жасаарын айтууга тийиш
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); 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) {тон (piezoPin, 131); } else {noTone (piezoPin);} if (dState == 1) {тон (piezoPin, 147); } else {noTone (piezoPin);} if (eState == 1) {тон (piezoPin, 165); } else {noTone (piezoPin);} if (fState == 1) {тон (piezoPin, 175); } else {noTone (piezoPin);} if (gState == 1) {tone (piezoPin, 196); } else {noTone (piezoPin);} if (aState == 1) {тон (piezoPin, 220); } else {noTone (piezoPin);} if (bState == 1) {тон (piezoPin, 247); } else {noTone (piezoPin);} if (c2State == 1) {тон (piezoPin, 262); } башка {noTone (piezoPin);}}
Эгерде баскыч басылса, ал сервого тастыкталган жыштыкты ойнотууну айтат (эскертүү). Функция
{noTone (piezoPin);} аларга эч нерсе ойнотуу үчүн баскыч басылбаганын айтат. Ошондуктан, качан баскыч басылганда, ал өзүнүн жазуусун ойнотот.
Сунушталууда:
Arduino Piezo Buzzer Piano: 5 кадам
Arduino Piezo Buzzer Piano: Бул жерде биз спикер катары пьезо сигналын колдонгон Arduino пианиносун жасайбыз. Бул долбоор оңой масштабдуу жана сизге жараша аздыр -көптүр ноталар менен иштей алат! Биз аны жөнөкөйлүк үчүн төрт гана баскыч менен курабыз. Бул кызыктуу жана жеңил проект
Жөнөкөй Arduino Piano: 8 кадам
Жөнөкөй Arduino пианино: Бүгүн биз башка проектилер үчүн эң сонун башталыш боло турган жөнөкөй бир октавалуу Arduino пианиносун түзөбүз. Бул долбоор орто мектептин деңгээлинде негизги Arduino компоненттерин жана программалоону киргизет. Код алдын ала даярдалган адамдар болсо да
Mini Piano Arduino колдонуу: 4 кадам
Мини пианино Arduino колдонууда: Arduino үйрөткүчү: Arduino менен мини пианино Бул видеодо мен сизге Arduino менен мини пианино жасоону көрсөтөм
Air Piano IR жакындык сенсорун жана Arduino Uno Atmega 328ди колдонот: 6 кадам (сүрөттөр менен)
Air Piano IR жакындык сенсорун жана Arduino Uno Atmega 328ди колдонот: Адатта пианино баскычты басуунун жөнөкөй механизми боюнча электрдик же механикалык иш болот. Бирок бул жерде бир бурулуш, биз кээ бир сенсорлорду колдонуу менен фортепианодогу баскычтардын муктаждыгын жок кыла алмакпыз. Ал эми инфра-кызыл жакындык сенсорлору себепке эң ылайыктуу, анткени
Ultimate Arduino Paper Piano: 5 кадам
Ultimate Arduino Paper Piano: Эй анын Soumojit Артка дагы бир сонун долбоор менен. Бул ардуино менен эң сонун кагаз пианино. Жакшы дем алыш күндөрү долбоор болушу мүмкүн же илим көргөзмөсүндө сонун нерсе болушу мүмкүн. Ошентип, бардыгы сыйымдуу тийүү түшүнүгүнүн үстүндө иштейт, сиз m окуй аласыз