Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Dit ontwerp speelt geen 'lied'. In plaats daarvan gebruikt het een bluestoonladder om zijn eigen muziek te creëren terwijl het speelt - vergelijkbaar met een echte jazzmuzikant. Elke keer dat je hem aanzet, speelt hij iets anders; maar je kunt nog steeds het tempo, de toonhoogte en het volume regelen met de draaiknoppen. Luister hieronder naar een voorbeeld van hoe het wordt afgespeeld:
Stap 1: Wat is jazz?
Als je de officiële definitie wilt, kun je deze links bekijken, maar ik denk dat de beste manier om het te beschrijven is om je te laten zien hoe het klinkt.
- https://en.wikipedia.org/wiki/Jazz
- https://en.wikipedia.org/wiki/Jazz_improvisation
Stap 2: Bouw het circuit
Ik heb een standaard voor mijn luidspreker gebouwd van rietjes en tape, maar dat is optioneel. Volg het diagram om de rest van dit ontwerp te bouwen.
Stap 3: Upload de code
Deze code volgt een pseudo-willekeurig algoritme om de noten van de Bb-bluestoonladder oneindig te spelen in een jazzy gesyncopeerd ritme.
Gebruik deze code in de Arduino IDE:
int noot = 1;
int noot2 = 1; void setup () { pinMode (3, OUTPUT); } void loop() {int tonecontrol = map(analogRead(A0), 0, 1023, 1, 4); int speedcontrol = map(analogRead(A1), 0, 1023, 1, 20); int tonecontrol2 = map(analogRead(A2), 0, 1023, 1, 4); int playnote; int switchval = willekeurig (1, 5); switch (switchval) { geval 1: noot = noot; pauze; geval 2: noot = noot + 1; pauze; geval 3: noot = noot - 1; pauze; geval 4: noot = noot + 2; pauze; geval 5: noot = noot - 2; pauze; } schakelaar (opmerking) { geval 1: playnote = 262; pauze; geval 2: playnote = 294; pauze; geval 3: playnote = 311; pauze; geval 4: playnote = 349; pauze; geval 5: playnote = 392; pauze; geval 6: playnote = 440; pauze; geval 7: playnote = 466; pauze; geval 8: playnote = 523; pauze; standaard: opmerking = 1; pauze; } playnote = playnote * toonregeling; int playnote2; int switchval2 = willekeurig (1, 5); switch (switchval2) { geval 1: note2 = note2; pauze; geval 2: noot2 = noot2 + 1; pauze; geval 3: noot2 = noot2 - 1; pauze; geval 4: noot2 = noot2 + 2; pauze; geval 5: noot2 = noot2 - 2; pauze; } schakelaar (noot2) { geval 1: playnote2 = 262; pauze; geval 2: playnote2 = 294; pauze; geval 3: playnote2 = 311; pauze; geval 4: playnote2 = 349; pauze; geval 5: playnote2 = 392; pauze; geval 6: playnote2 = 440; pauze; geval 7: playnote2 = 466; pauze; geval 8: playnote2 = 523; pauze; standaard: noot2 = 1; pauze; } playnote2 = playnote2 * toonregeling2; toon (3, playnote, 30 * snelheidsregeling); vertraging (31 * snelheidsregeling); if (willekeurig (1, 4) == 3) { vertraging (21 * snelheidsregeling); } else { tone(3, playnote2, 20 * snelheidsregeling); vertraging (21 * snelheidsregeling); } }
Stap 4: Hoe het te controleren?
Van links naar rechts doet elke wijzerplaat het volgende:
- Volume
- 1e toonhoogte
- Tempo
- toonhoogte van de 2e toon
Knoei met ze totdat je een geluid krijgt dat je leuk vindt.