| 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 |
Els sensors d'ultrasons permeten mesurar la distància a la que es troben els objectes. El sensor envia un feix d'ultrasons (sons de freqüències no audibles) i mesura el temps que triga a retornar. Sabent que el so es desplaça a 340 m/s, podrem calcular la distància a la que està l'objecte a partir de la meitat del temps que ha trigat el so en arribar (ja que el so ha hagut d'anar i tornar).
Probablement, el sensor d'ultrasons més utilitzat és el HC-SR04.
El sensor té quatre potes que corresponen a:
| Nom pota | Descripció |
| VCC | Positiu de l'alimentació El connectarem a 5 V |
| Trig | Activant aquesta entrada li diem que enviï un tren de polsos d'ultrasons
Ha d'estar activada durant 10 μs o més |
| Echo | Pota on rebrem un pols de durada igual al temps que ha trigat en arribar el pols rebotat |
| GND | Comú (negatiu) de l'alimentació |
El següent programa mostra com podem emprar el sensor. Suposem que hem connectat Trig a la pota 9 i Echo a la 10. Per mesurar el temps fem servir la funció pulseIn.
#define Trig 9 #define Echo 10 long distancia; long temps;
void setup(){
Serial.begin(9600);
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
}
void loop(){
digitalWrite(Trig,LOW); // Desactivem Trig per poder passar de LOW a HIGH
delayMicroseconds(5); // Esperem una mica
digitalWrite(Trig, HIGH); // Activem Trig
delayMicroseconds(12); // Fem un pols de 12 μs
digitalWrite(Trig,LOW); // Al final del pols desactivem Trig
temps = pulseIn(Echo, HIGH); // Microsegons que dura el pols de resposta
distancia = int(340 * temps / 10000 /2); // El 10000 és per passar de m/s a cm/μs
Serial.print("Distancia = ");
Serial.print(distancia);
Serial.println(" cm");
delay(1500);
}
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.