
EL SO és una vibració que es transmet per un medi material.
Per generar so amb Arduino necessitem alguna cosa que generi vibracions en rebre senyals elèctrics, com per exemple un brunzidor piezoelèctric (o passiu).
El brunzidor piezoelèctric està format per dos discs de diferents materials.
Un d’ells és metàl·lic mentre que l’altre és ceràmic; tots dos tenen propietats piezoelèctriques.
Quan s’aplica un voltatge al component, els materials es deformen i es repel·leixen produint un “clic”.
Si deixem d’aplicar tensió, els materials tornaran a la seva posició inicial, produint de nou el so de “clic”.
FEM VIBRAR EL BRUNZIDOR
Per fer vibrar el piezoelèctric, necessitem fer que el pin digital canvii entre HIGH i LOW repetidament, és a dir, alternar entre 5V i 0V. Aixó se sembla bastant a fer parpellejar un LED, així que podem utilitzar el mateix programa que defineix l'encesa intermitent d'un LED:
El que hem fet: enviar un seguit de polsos elèctrics pel pin de connexió del brunzidor.
El que ha passat: escoltem 1 clic / segon
Pols elèctric:
senyal ALT/BAIX
T = 2.000 ms → F = 0,5 Hz

GENEREM TONS
Per generar un to (so continu) hem de fer que el piezoelèctric oscil·li més ràpidament (augmentar la freqüència del tren de polsos).
El valor de la freqüència del senyal determinarà el to del so generat.
Com més alta sigui la freqüència, més agut serà el to.

T (període): durada d'un pols (ms)
F (freqüència): núm de polsos en 1 segon (T = 1/F)

Fem que soni la nota DO pel pin de connexió del brunzidor
Com que la freqüència del DO (C) és 261.63 Hz, la durada del pols (període) ha de ser T = 1/F = 0,00382 s = 3,82 ms.
Per tant, la durada de cada estat del senyal ha de ser T/2 = 1,91 ms.
SIMPLIFIQUEM LA TASCA
La instrucció tone d'Arduino genera directament polsos pel pin i amb la freqüència definits: tone (pin, freqüència);
La instrucció noTone (pin); deixa d'emetre polsos pel pin definit (silenci).
Tornem a emetre la nota DO pel brunzidor:
ASSOCIEM EL SO A L'ACTIVACIÓ D'UN SENSOR DIGITAL
La instrucció digitalRead d'Arduino retorna el valor del senyal d'entrada per un pin digital.
Tornem a emetre la nota DO pel brunzidor, aquesta vegada SI el sensor està activat: