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().
Lascia un commento