Vamos usar o módulo de joystick para controlar um buzzer e emitir sons.
Primeiramente, conecte o módulo de joystick na placa do Arduino e ligue o Buzzer (no meu exemplo foi ligado na porta 12):

OU, se você não tiver um buzzer, pode ser um pequeno alto falante e um resistor (no exemplo, de 100 ohms, marrom, preto, marrom):

Depois, digite o código:
#define buzzer 12
#define JoystickX 0
#define JoystickY 1
#define K 8
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(K, INPUT_PULLUP);
}
void loop() {
if (digitalRead(K) == LOW){
int x = analogRead(JoystickX);
int y = analogRead(JoystickY);
tone (buzzer, x, y);
}
digitalWrite(K, HIGH);
noTone(buzzer);
}
Conforme o código, quando você pressionar a tecla K poderá ler os valores de posição X e Y do joystick, e será enviado ao buzzer/ altofalante um som correspondente. Você pode alterar os valores lidos e aumentá-los ou diminuÃ-los (por exemplo multiplicando ou dividindo por um inteiro) para alterar o som.
Depois, altere seu código para fazer com que, a cada tecla pressionada, seja emitido um som diferente.
Por exemplo:
#define botao_A 2
#define botao_C 4
#define buzzer 12
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(botao_A, INPUT_PULLUP);
pinMode(botao_C, INPUT_PULLUP);
}
void loop() {
if (digitalRead(botao_A) == LOW){
tone (buzzer, 200);
delay(50);
}
if (digitalRead(botao_C) == LOW){
tone (buzzer, 800);
delay(50);
}
noTone(buzzer);
}
Faça um pequeno piano, usando as outras teclas.
(A = 2, B = 3, Â C = 4, D = 5, E = 6, F = 7, K = 8).