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.
El sensor llença un pols i rep una resposta a través de l'Eco que aquest fa en rebotar contra una superfície sòlida. En aquest cas, per exemple una paret. Aquest principi és el que utilitzarem per a poder mesurar la distància; mesurant el temps entre l'anada i la tornada i sabent la velocitat de propagació del so en l'aire. Munteu amb la placa el següent circuit.
Obre bitbloq i copia el següent esquema:
EL codi és el següent:
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.
Cap comentari:
Publica un comentari a l'entrada