LEZIONI E FORMAZIONE DAI DOCENTI PER I DOCENTI

Scopri WeTurtle, la community di educatori dove trovare e condividere risorse innovative

home - tutorial - TUTORIAL - CREARE MELODIE CON ARDUINO E IL BUZZER

TUTORIAL - CREARE MELODIE CON ARDUINO E IL BUZZER

In questo tutorial vedremo come costruire uno "strumento musicale" tecnologico programmabile! Questa attività è sicuramente molto divertente, e permetterà agli studenti appassionati di musica (e non solo) di dare sfogo a tutta la loro fantasia e creatività.

Weturtle Team   by Weturtle Team
Arduino

Tempo di lettura tutorialTempo di lettura/visione: 4 min

Introduzione

In questo tutorial vedremo come costruire uno "strumento musicale" tecnologico programmabile! Questa attività è sicuramente molto divertente, e permetterà agli studenti appassionati di musica (e non solo) di dare sfogo a tutta la loro fantasia e creatività.
Utilizzeremo la scheda Arduino UNO e un buzzer passivo. Non resta che iniziare!

Strumenti

Registrati a WeTurtle per accedere ai vantaggi, è gratis!

La community di docenti e educatori ti offre:

Il corso gratuito "Collaborare a scuola con il digitale"

Un'area personalizzata con i tuoi contenuti preferiti

Una lezione di prova gratuita per ogni corso online

Dirette ed eventi dedicati agli utenti iscritti

Buzzer KY-006

Un buzzer è un dispositivo elettronico in grado di generare toni acustici. Utilizza due pin, collegati rispettivamente al GROUND e ad una Porta Digitale.

Circuito

Lo schema circuitale da realizzare è molto semplice! Lo trovi qui di seguito.

Funzione tone()

Uno dei metodi più funzionali per controllare un buzzer è l’utilizzo della funzione nativa di arduino tone(). Questa funzione utilizza 2 o 3 parametri con la seguente sintassi:

tone(pin, frequency, duration);
  • Il primo parametro, pin, è il pin digitale a cui è collegato il buzzer.
  • Il secondo parametro, frequency, è la frequenza, in Hz, del tono che si vuole riprodurre.
  • Il terzo parametro, duration, è la durata in millisecondi del tono, può essere omesso.
N.B.
La funzione una volta richiamata inizia la riproduzione del suono e passa subito alla parte successiva del codice senza attendere che la riproduzione sia completata, è quindi necessario, in caso si voglia riprodurre una serie di note, inserire un opportuno delay uguale o maggiore alla durata del tono, affinché le note non si sovrappongano.

Funzionamento del programma

La frequenza è inseribile manualmente in Hz, ma è anche possibile utilizzare una serie di costanti pubbliche contenenti tutte le note e le relative frequenze, in modo da poterle richiamare più comodamente. Queste variabili saranno disponibili una volta inserita l’opportuna libreria "pitches.h" (che trovi a questo link) all’interno della cartella dello sketch (raggiungibile tramite il menu nell’IDE Arduino Sketch > Apri cartella dello sketch, o più comodamente con la combinazione di tasti Ctrl + K).

Un altro accorgimento utile per l’utilizzo di tone(), può essere l’implementazione di una funzione intermedia, che chiameremo suona(). Utilizzeremo questa funzione con due principali scopi, il primo, poter inserire automaticamente il ritardo necessario prima dell’esecuzione della successiva nota. Il secondo invece, sarà avere la possibilità di controllare la velocità di esecuzione dei suoni, senza andare a modificare i tempi delle singole note.

Variante

Nel caso si volesse riprodurre una lunga serie di note, può essere utile implementare nel codice una sorta di spartito, con relativa funzione per andarlo poi a riprodurre. Uno dei modi più intuitivi è quello creare due liste, contenenti relativamente le note, e i tempi di queste.

Per far ciò basterà dichiarare due liste (o array) nel seguente modo:

int note[] = {NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5};
int tempi[] = { 4, 4, 4, 4, 4, 4, 4, 2 };

Una volta scritto il nostro “spartito” tramite un ciclo for andremo a scorrerlo interamente, richiamando ogni volta la nostra funzione suona() con i parametri necessari.

for ( int notaAttuale = 0; notaAttuale < sizeof(note); notaAttuale ++ ) {
    suona( note[ notaAttuale ], tempi[ notaAttuale ] );
}

Con questo semplice ciclo andremo a prendere dalle due liste i due valori necessari volta per volta per suonare ogni nota. Grazie al sizeof, questo andrà automaticamente a determinare la lunghezza dello spartito, è quindi possibile andarlo a modificare senza problemi, curandosi solo della corrispondenza delle note nelle due liste.

Riferimenti e links Riferimenti e links

Se vuoi maggiori informazioni o una consulenza o se vuoi far parte della famiglia We Turtle scrivi all'indirizzo email: info@weturtle.org
Per restare sempre aggiornato iscriviti alla piattaforma e segui We Turtle e Talent su Facebook.

Scopri i servizi di Weturtle

per il PIANO SCUOLA 4.0 del PNRR


Ottieni uno spazio di apprendimento con contenuti didattici per docenti e studenti, dove facilitare lo scambio e favorire la comunità di pratica e dove tenere sotto controllo i progressi della classe e dei docenti.

Vuoi leggere il tutorial quando vuoi, anche offline?





POTREBBE INTERESSARTI ANCHE

TUTORIAL - UTILIZZARE IL DISPLAY 7 SEGMENTI CON ARDUINO

FREE

Tempo: 2 min

TUTORIAL
   Weturtle Team
TUTORIAL: ACCENDERE E SPEGNERE UN LED TRAMITE PULSANTE CON ARDUINO

FREE

Tempo: 2 min

TUTORIAL
   Weturtle Team
TUTORIAL - LA FOTORESISTENZA ED IL LED RGB CON ARDUINO

FREE

Tempo: 3 min

TUTORIAL
   Weturtle Team
TUTORIAL: LA FOTORESISTENZA E IL LED CON ARDUINO

FREE

Tempo: 4 min

TUTORIAL
   Weturtle Team
Tutorial: Accendere e spegnere led con Arduino

FREE

Tempo: 3 min

TUTORIAL
   Weturtle Team

Vuoi fare una domanda all'autore?

oppure


GLI ALTRI UTENTI HANNO CHIESTO

Chat Icon

Wetruvio

Ciao! Sono Wetruvio, il tuo assistente virtuale!