Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este design não reproduz uma "música". Em vez disso, ele usa uma escala de blues para criar sua própria música enquanto toca - semelhante a um músico de jazz real. Cada vez que você o liga, ele toca algo diferente; mas você ainda pode controlar o tempo, tom e volume com os dials. Ouça um exemplo dele tocando abaixo:
Etapa 1: O que é Jazz?
Se você quiser a definição oficial, pode olhar esses links, mas acho que a melhor maneira de descrevê-la é apenas mostrar como ela soa.
- https://en.wikipedia.org/wiki/Jazz
- https://en.wikipedia.org/wiki/Jazz_improvisation
Etapa 2: construir o circuito
Construí um suporte para meu alto-falante com canudinhos e fita adesiva, mas isso é opcional. Siga o diagrama para construir o resto deste design.
Etapa 3: faça upload do código
Este código segue um algoritmo pseudo-aleatório para tocar infinitamente as notas da escala de blues Bb em um ritmo sincopado jazzístico.
Use este código no IDE do Arduino:
nota int = 1;
nota int 2 = 1; void setup () {pinMode (3, OUTPUT); } void loop () {int tonecontrol = map (analogRead (A0), 0, 1023, 1, 4); controle de velocidade int = map (analogRead (A1), 0, 1023, 1, 20); int tonecontrol2 = map (analogRead (A2), 0, 1023, 1, 4); nota de jogo int; switchval int = aleatório (1, 5); switch (switchval) {case 1: note = note; pausa; caso 2: nota = nota + 1; pausa; caso 3: nota = nota - 1; pausa; caso 4: nota = nota + 2; pausa; caso 5: nota = nota - 2; pausa; } switch (note) {case 1: playnote = 262; pausa; caso 2: nota de jogo = 294; pausa; caso 3: nota de jogo = 311; pausa; caso 4: nota de jogo = 349; pausa; caso 5: nota de jogo = 392; pausa; caso 6: nota de jogo = 440; pausa; caso 7: nota de jogo = 466; pausa; caso 8: nota de jogo = 523; pausa; padrão: nota = 1; pausa; } playnote = playnote * tonecontrol; int playnote2; int switchval2 = aleatório (1, 5); switch (switchval2) {case 1: note2 = note2; pausa; caso 2: nota2 = nota2 + 1; pausa; caso 3: nota2 = nota2 - 1; pausa; caso 4: nota2 = nota2 + 2; pausa; caso 5: nota2 = nota2 - 2; pausa; } switch (note2) {case 1: playnote2 = 262; pausa; caso 2: playnote2 = 294; pausa; caso 3: playnote2 = 311; pausa; caso 4: playnote2 = 349; pausa; caso 5: playnote2 = 392; pausa; caso 6: playnote2 = 440; pausa; caso 7: playnote2 = 466; pausa; caso 8: playnote2 = 523; pausa; padrão: note2 = 1; pausa; } playnote2 = playnote2 * tonecontrol2; tom (3, nota de jogo, 30 * controle de velocidade); atraso (31 * controle de velocidade); if (random (1, 4) == 3) {delay (21 * speedcontrol); } else {tone (3, playnote2, 20 * speedcontrol); atraso (21 * controle de velocidade); }}
Etapa 4: como controlá-lo
Da esquerda para a direita, cada dial faz o seguinte:
- Volume
- Tom do primeiro tom
- Tempo
- Tom do 2º tom
Mexa com eles até conseguir um som de que goste.