Per mesurar distàncies existeixen diversos sensors i sistemes. El sensor HC-SR04 és un sensor d'ultrasons de baix cost, que mesura distàncies en un rang comprés aproximadament entre 2 cm i 4 m. A la web de Lluís Llamas hi ha una entrada que explica el seu funcionament. Bàsicament consisteix en enviar un ona ultrasònica (so no audible, ja que la freqüència és més elevada que la que detectem els humans) i mesurar el temps que triga en arribar a l'objecte , rebotar i tornar al sensor. Aplicant l'equació que relaciona temps, distància i velocitat (la velocitat de la ona ultrasònica), puc saber a quina distància està l'objecte. Per això, aquest sensor consta de dos parts:
Trigger: disparador de la ona ultrasònica (és una sortida digital)
Echo: rep el rebot de la ona ultrasònica (és una entrada digital)
Aquest sensor te de 2 pins per al trigger i l'echo, a més de 2 pins per la Vcc de 5V i el GND. En total són 4 pins, que es connecten com indica el següent circuit de Fritzing. Els pins digitals on connectem el trigger i l'echo podem canviar-los, però és important que siguin els mateixos que indiquem a la programació.
Aquest programa d'ArduinoBlocks ens serveix per mesurar la distància amb el sensor d'ultrasons HC-SR04, emmagatzemar el valor en la variable "distància" i mostrar el valor pel port sèrie cada segon.
Fes el muntatge del sensor d'ultrasons i programa'l. Després graba un petit vídeo en què es vegi com varia la lectura de la distància a través del port sèrie, a mesura que aproximem o allunyem la mà al sensor d'ultrasons.
En aquest muntatge simularem una barrera d'entrada a un garatge públic accionada per un motor servo quan detecta que arriba un cotxe a una certa distància de l'entrada.
Per tant, necessitarem un sensor d'ultrasons HC-SR04 per detectar la distància, un motor servo que obre la barrera, i també instal·larem un semàfor que està en vermell amb la barrera baixada i en verd amb la barrera aixecada. Recorda de deixar un temps prudencial per a que passi el cotxe. El sistema no té clau d'accés, ni contrasenya, això ja ho farem més endavant.
Per fer aquest muntatge, necessitaràs consultar l'apartat sobre el funcionament dels Servos d'aquest Sites. També hauràs d'aplicar el que has aprés a la pràctica 7 sobre els condicionals i sobre com comparar una variable amb uns valors predeterminats (en aquest cas, comparar la distància mesurada pel sensor, amb la distància que fixem nosaltres com a valor per aixecar la barrera amb el servo).