| Per començar | Elements d'entrada | Programació CircuitPython | Recursos CITCEA | |
| Elements no electrònics | Elements de sortida | Programació Arduino | ||
| Projectes | Elements de control | Dades pràctiques | Inici |
El brunzidor piezoelèctric ens permet detectar cops i vibracions. És com un altaveu molt petit i de baix cost que també pot funcionar com a micròfon rudimentari.
La lectura dels brunzidors es fa des d'una entrada analògica del microcontrolador posant-li una resistència d'un milió d'ohm (1 MΩ) com a la figura.

Per fer servir el brunzidor, llegirem l'entrada analògica on està connectat i compararem el valor amb un llindar. Si es supera el llindar vol dir que la vibració del sensor ha estat prou intensa. El següent programa (per a l'entron Arduino) llegeix un brunzidor connectat a l'entrada A11 (pota D12) i canvia l'estat del LED de la placa quan detecta un cop. Podem canviar el valor 50 per un de més gros o més petit per variar la sensibilitat.
int lectura = 0; int estatLED = LOW;
void setup() {
pinMode(7, OUTPUT); // LED de la placa
}
void loop() {
lectura = analogRead(A11);
if (lectura >= 50) { // El 50 es pot variar per ajustar la sensibilitat
estatLED = !estatLED; // Invertim l'estat del LED
digitalWrite(7, estatLED);
}
delay(100); // Espera 0,1 s
}
Aquest altre programa fa una cosa similar en CircuitPython comptant que el sensor està a A0.
import board import digitalio import analogio import time
sensor = analogio.AnalogIn(board.A0) led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT
while True:
lect = sensor.value
if lect > 3200: # El valor es pot variar per ajustar la sensibilitat
led.value = not led.value # Invertim l'estat del LED
time.sleep(0.5)
Els brunzidors també els podem fer servir com a sortides del microcontrolador.
Atenció: Tingueu present que en molts casos les entrades binàries i analògiques corresponents a la mateixa pota no tenen el mateix número.
En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.