top of page
s-l300.jpg

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).

arduino-buzzer-funcionamiento.png

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

Pols1.png

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.

mbot-notas-piano.png

T (període): durada d'un pols (ms)

F (freqüència): núm de polsos en 1 segon (T = 1/F)

Frecs.png

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:

bottom of page