venerdì, maggio 25Menu veloce

Come iniziare a fare musica con Arduino a scuola

Per chi vuole inziare ad usare Arduino smanettando anche con dei rudimenti di programmazione, questa facile realizzazione è un buon punto d’inizio.

Si tratta di far suonare un cicalino una serie di note scritte in alcune righe di semplice codice.  E’ una realizzazione molto semplice perché pensata per essere utilizzata in classe con gli alunni anche della primaria.

Questa applicazione produce delle semplici note mediante un cicalino che viene programmato con una sequenza di note definite da intensità e durata.

  • Obiettivo didattico: sviluppare la capacità di progetto, di analisi e di risoluzione dei semplici problemi.
  • Obiettivo operativo: produrre una sequenza musicale con Arduino usando un linguaggio di programmazione

File di supporto

Componenti

  • n.1 scheda Arduino (Nano, Uno, Mega o qualunque altra scheda compatibile)
  • n.1 buzzer cioè un cicalino che emette un semplice suono
  • n.1 breadboard cioè una base forata per inserire i componenti.

 

 

Commento al codice

#include “pitches.h”

Questa riga si collega alla libreria pitches.h che fornisce la corrispondenza delle frequenze delle note al nome.

Contenuti del file piches.h

#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262

Ad esempio la nota NOTE_C4 ha una frequenza di 262 Hz e nella rifa di codie viene inserita nella sezione int melody[]

Codice / sketch

int melody[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};

Durata delle note

Per definire la durata di ogni singola nota la riga di codice è questo:

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4

La durata di ogni nota  è espressa in quarti e ottavi di secondo e un secondo è espresso in millesimi con la formula 1000/durata. Pertanto 4 significa 1000/4 cioè un quarto di secondo cioè 25 centesimi.

Numero di note

E’ necessario indicare il numero di note persenti nella sequenza:

 for (int thisNote = 0; thisNote < 8; thisNote++)

Essendo un ciclo di FOR in questo caso il numero di note è 8. Si devono indicare il numero di note totali perché il codice ripete il suono per ogni nota.
Per ultimo l’istruzione tone(8, melody[thisNote], noteDuration) definisce il numero di PIN sulla scheda, con la frequenza definita per la durata indicata.

Approfondimento

1. Al link seguente è possibile trovare un commento dettagliato delle singole righe di codice: http://www.mauroalfieri.it/elettronica/tutorial-arduino-tone-musica-per-le-tue-orecchie.html

 

 

NOTA: Un Buzzer (o cicalino) è un dispositivo audio di segnalazione, che può essere meccanico, elettromeccanico o piezoelettrico. Tale dispositivo trova impiego in applicazioni che non richiedono una elevata qualità e complessità sonora. Infatti le loro applicazioni più diffuse sono limitate a segnali acustici di conferma o di allarme.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.