Logo ODE

Facciamo suonare la Maker Uno – r01 (parte 1)

Nella versione precedente, la nostra Maker Uno o il nostro Arduino si limitavano a suonare e per rendere udibili le frequenze (suoni) prodotte dal microcontrollore abbiamo usato un buzzer piezoelettrico. Ora dobbiamo gestire 8 LED collegati ai piedini digitali da 13 a 9 e da 7 a 5.
La prima cosa che dobbiamo fare è aggiungere al nostro codice l’inizializzazione di questi piedini come USCITE digitali. Per farlo dobbiamo scrivere del codice all’interno della setup().

Al fine di rendere l’azione facilmente comprensibile e riconoscibile, vi suggerisco di scrivere 8 righe di codice dove, in ogni riga inizializzate un piedino. Non è il modo più efficente di fare questa operazione ma, al momento, quello che ci interessa è modificare del codice prodotto da altri e farlo in maniera comprensibile per cui, dopo essere andati sul sito “Dragao sem chama” e aver individuato e provato il file con il brano che più ci interessa (Facciamo suonare la Maker Uno), apriamo con l’IDE di Arduino il codice scaricato e andiamo nella sezione setup() che sarà più o meno così:

void setup()
{
// iterate over the notes of the melody.
// Remember, the array is twice the number of notes (notes + durations)

for (int thisNote = 0; thisNote < notes * 2; thisNote = thisNote + 2)
{
// calculates the duration of each note
divider = melody[thisNote + 1];
if (divider > 0)
{
// regular note, just proceed
noteDuration = (wholenote) / divider;
} else if (divider < 0)
{
…………..

e introduciamo le linee di inizializzazione in questa maniera

void setup()
{
pinMode(13, OUTPUT); //Pin 13 diventa OUTPUT
pinMode(12, OUTPUT); //Pin 12 diventa OUTPUT
pinMode(11, OUTPUT); //Pin 11 diventa OUTPUT
pinMode(10, OUTPUT); //Pin 10 diventa OUTPUT
pinMode(9, OUTPUT); //Pin 9 diventa OUTPUT
pinMode(7, OUTPUT); //Pin 7 diventa OUTPUT
pinMode(6, OUTPUT); //Pin 6 diventa OUTPUT
pinMode(5, OUTPUT); //Pin 5 diventa OUTPUT

// iterate over the notes of the melody.
// Remember, the array is twice the number of notes (notes + durations)

for (int thisNote = 0; thisNote < notes * 2; thisNote = thisNote + 2)
{
// calculates the duration of each note
divider = melody[thisNote + 1];
……

a questo punto il nostro programma provvederà a dichiarare gli 8 piedini associati ai LED come uscita e noi possiamo stabilirne lo stato nel corso del programma con il comando digitalWrite().


Pubblicato

in

, , , , ,

da

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.