INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hierdie ontwerp speel nie 'n 'liedjie' nie. In plaas daarvan gebruik dit 'n blues -skaal om sy eie musiek te skep terwyl dit speel - soortgelyk aan 'n regte jazz -musikant. Elke keer as u dit aanskakel, speel dit iets anders; maar u kan steeds die tempo, toonhoogte en volume beheer met die draaiknoppies. Luister hieronder na 'n voorbeeld daarvan:
Stap 1: Wat is jazz?
As u die amptelike definisie wil hê, kan u na hierdie skakels kyk, maar ek dink die beste manier om dit te beskryf, is net om u te wys hoe dit klink.
- https://en.wikipedia.org/wiki/Jazz
- https://en.wikipedia.org/wiki/Jazz_improvisation
Stap 2: Bou die stroombaan
Ek het 'n staander vir my luidspreker gebou uit strooitjies en kleefband, maar dit is opsioneel. Volg die diagram om die res van hierdie ontwerp te bou.
Stap 3: Laai die kode op
Hierdie kode volg 'n pseudo-ewekansige algoritme om die note van die Bb blues-skaal oneindig in 'n jazzy syncopated ritme te speel.
Gebruik hierdie kode in die Arduino IDE:
int noot = 1;
int noot2 = 1; ongeldige opstelling () {pinMode (3, OUTPUT); } leemte lus () {int tonecontrol = map (analogRead (A0), 0, 1023, 1, 4); int speedcontrol = kaart (analogRead (A1), 0, 1023, 1, 20); int tonecontrol2 = map (analogRead (A2), 0, 1023, 1, 4); int speelnota; int switchval = random (1, 5); switch (switchval) {case 1: note = note; breek; geval 2: noot = noot + 1; breek; saak 3: noot = noot - 1; breek; saak 4: noot = noot + 2; breek; saak 5: noot = noot - 2; breek; } skakel (let wel) {case 1: playnote = 262; breek; geval 2: speelnota = 294; breek; geval 3: speelnota = 311; breek; geval 4: speelnota = 349; breek; saak 5: speelnota = 392; breek; geval 6: speelnota = 440; breek; saak 7: speelnota = 466; breek; saak 8: speelnota = 523; breek; verstek: nota = 1; breek; } speelnota = speelnoot * tonbeheer; int speelnoot2; int switchval2 = random (1, 5); switch (switchval2) {case 1: note2 = note2; breek; saak 2: noot2 = noot2 + 1; breek; saak 3: noot2 = noot2 - 1; breek; saak 4: noot2 = noot2 + 2; breek; saak 5: noot2 = noot2 - 2; breek; } skakel (noot2) {saak 1: speelnoot2 = 262; breek; geval 2: playnote2 = 294; breek; geval 3: playnote2 = 311; breek; geval 4: playnote2 = 349; breek; saak 5: playnote2 = 392; breek; geval 6: playnote2 = 440; breek; saak 7: playnote2 = 466; breek; geval 8: playnote2 = 523; breek; verstek: noot2 = 1; breek; } playnote2 = playnote2 * tonecontrol2; toon (3, speelnota, 30 * spoedbeheer); vertraging (31 * spoedbeheer); as (ewekansig (1, 4) == 3) {vertraging (21 * spoedbeheer); } anders {toon (3, speelnota2, 20 * spoedbeheer); vertraging (21 * spoedbeheer); }}
Stap 4: Hoe om dit te beheer
Van links na regs doen elke draaiknop soos volg:
- Volume
- Toonhoogte van die eerste toon
- Tempo
- 2de toon se toonhoogte
Rommel met hulle totdat jy 'n geluid kry wat jy wil.