Aquest sensor usa senyals d’ultrasonors per detectar objectes a una certa distància. Depenen de la resposta en el rebot del so, activa o desactiva l’entrada on està connectat a l’Arduino. Farem una pràctica per veure com es connecta.
Muntarem una alarma amb el sensor d’ultrasons. Necessitareu el sensor i un LED que s’encengui quan el sensor detecti presència, i un resistor per no cremar el LED.
long TP_init(int trigger_pin, int echo_pin);
long Distance(int trigger_pin, int echo_pin);
void setup()
{
pinMode( 10 , INPUT );
pinMode( 9 , OUTPUT );
pinMode(7,OUTPUT);
}
void loop()
{
int Distancia=Distance(9,10);
if (Distancia < 40) {
digitalWrite(7,HIGH);
delay(1000);
}else {
digitalWrite(7,LOW);
delay(1000);
}
}
/*** Function definition ***/
long TP_init(int trigger_pin, int echo_pin)
{
digitalWrite(trigger_pin, LOW);
delayMicroseconds(2);
digitalWrite(trigger_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trigger_pin, LOW);
long microseconds = pulseIn(echo_pin ,HIGH);
return microseconds;
}
long Distance(int trigger_pin, int echo_pin)
{
long microseconds = TP_init(trigger_pin, echo_pin);
long distance;
distance = microseconds/29/2;
if (distance == 0){
distance = 999;
}
return distance;
}
El pin 9 envia el senyal d’ultrasons, mentre que el 10 és el que el rep. Si la distància és menor de 40cm, s’encendrà el LED del pin 7. Si la distància augmenta, el LED s’apaga.
PRÀCTICA AVANÇADA: usa dos LEDS, un de verd i un de vermell. Quan la distància del sensor sigui més petit que 30 cm, s’encengui el vermell i s’apagui el verd. Si la distància és major, que s’encengui el verd i s’apagui el vermell.