Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Šis dizainas neatkuria „dainos“. Vietoj to ji naudoja bliuzo skalę, kad sukurtų savo muziką, kai ji groja - panaši į tikrą džiazo muzikantą. Kiekvieną kartą, kai jį įjungsite, jis gros kažką kito; bet vis tiek galite valdyti tempą, žingsnį ir garsumą naudodami ratukus. Išgirskite žaidimo pavyzdį žemiau:
1 žingsnis: kas yra džiazas?
Jei norite oficialaus apibrėžimo, galite pažvelgti į šias nuorodas, tačiau manau, kad geriausias būdas jį apibūdinti yra tiesiog parodyti jums, kaip tai skamba.
- https://en.wikipedia.org/wiki/Jazz
- https://en.wikipedia.org/wiki/Jazz_improvisation
2 žingsnis: sukurkite grandinę
Aš pastatiau garsiakalbio stovą iš gėrimo šiaudelių ir juostos, tačiau tai neprivaloma. Sekite schemą, kad sukurtumėte likusią šio dizaino dalį.
3 veiksmas: įkelkite kodą
Šis kodas vadovaujamasi pseudo atsitiktiniu algoritmu, kad būtų galima be galo groti Bb bliuzo skalės natas džiazo sinchroniniu ritmu.
Naudokite šį kodą „Arduino IDE“:
int pastaba = 1;
int pastaba2 = 1; void setup () {pinMode (3, OUTPUT); } void loop () {int tonecontrol = žemėlapis (analogRead (A0), 0, 1023, 1, 4); int speedcontrol = žemėlapis (analogRead (A1), 0, 1023, 1, 20); int tonecontrol2 = žemėlapis (analogRead (A2), 0, 1023, 1, 4); int playnote; int switchval = atsitiktinis (1, 5); jungiklis (switchval) {atvejis 1: pastaba = pastaba; pertrauka; 2 atvejis: pastaba = pastaba + 1; pertrauka; 3 atvejis: pastaba = pastaba - 1; pertrauka; 4 atvejis: pastaba = pastaba + 2; pertrauka; 5 atvejis: pastaba = pastaba - 2; pertrauka; } jungiklis (pastaba) {atvejis 1: playnote = 262; pertrauka; 2 atvejis: playnote = 294; pertrauka; 3 atvejis: playnote = 311; pertrauka; 4 atvejis: playnote = 349; pertrauka; 5 atvejis: playnote = 392; pertrauka; 6 atvejis: playnote = 440; pertrauka; 7 atvejis: playnote = 466; pertrauka; 8 atvejis: playnote = 523; pertrauka; numatytasis: pastaba = 1; pertrauka; } playnote = playnote * tonecontrol; int playnote2; int switchval2 = atsitiktinis (1, 5); jungiklis (switchval2) {atvejis 1: note2 = note2; pertrauka; 2 atvejis: pastaba2 = pastaba2 + 1; pertrauka; 3 atvejis: pastaba2 = pastaba2 - 1; pertrauka; 4 atvejis: pastaba2 = pastaba2 + 2; pertrauka; 5 atvejis: pastaba2 = pastaba2 - 2; pertrauka; } jungiklis (2 pastaba) {1 atvejis: playnote2 = 262; pertrauka; 2 atvejis: playnote2 = 294; pertrauka; 3 atvejis: playnote2 = 311; pertrauka; 4 atvejis: playnote2 = 349; pertrauka; 5 atvejis: playnote2 = 392; pertrauka; 6 atvejis: playnote2 = 440; pertrauka; 7 atvejis: playnote2 = 466; pertrauka; 8 atvejis: playnote2 = 523; pertrauka; numatytasis: pastaba2 = 1; pertrauka; } playnote2 = playnote2 * tonecontrol2; tonas (3, playnote, 30 * greičio valdymas); uždelsimas (31 * greičio valdymas); if (atsitiktinis (1, 4) == 3) {uždelsimas (21 * greičio valdymas); } else {tone (3, playnote2, 20 * speedcontrol); uždelsimas (21 * greičio valdymas); }}
4 žingsnis: kaip jį kontroliuoti
Iš kairės į dešinę kiekvienas ratukas veikia taip:
- Garsumas
- 1 tono aukštis
- Tempo
- 2 tono aukštis
Kalbėkitės su jais, kol išgirsite jums patinkantį garsą.