Menu
CoddyTech

Altezza del suono con una manopola

Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 12 di 24.

Una manopola può suonare il buzzer come uno strumento. L’idea è la stessa del dimmer: leggere la manopola, convertire la lettura, usarla.

Questa volta l’intervallo di destinazione è una frequenza. 200 Hz è un ronzio basso e 2000 Hz un fischio acuto, quindi:

int reading = analogRead(A0);
int pitch = map(reading, 0, 1023, 200, 2000);
tone(8, pitch);

map() non ha bisogno che il nuovo intervallo inizi da 0: 0 diventa 200, 1023 diventa 2000 e il punto medio della manopola si avvicina a 1100.

Chiamare di nuovo tone() con una nuova frequenza cambia subito la nota, quindi l’intonazione segue la manopola mentre la giri. Un breve delay(10) impedisce allo sketch di riavviare il tono migliaia di volte al secondo.

challenge icon

Sfida

Facile

La manopola è collegata ad A0 e il buzzer al pin 8. Fai in modo che la manopola imposti l’altezza del suono:

  • leggi la manopola
  • converti la lettura in una frequenza da 200 a 2000 Hz con map()
  • riproducila con tone(), poi attendi 10 ms

Premi Run e gira la manopola, poi Check.

Provalo tu

const int knobPin = A0;
const int buzzerPin = 8;

void setup() {
}

void loop() {
  // leggi la manopola, mappa il valore su 200..2000 Hz e riproduci il suono
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Uscite

Esercitati da solo: Playground Arduino