SENSOR DE DISTANCIA PARA NO OLVIDAR LAS LLAVES
Hecho por Elio Romero Pinto.
Con este dispositivo conseguimos que un piezo emita un sonido si detecta que las llaves están lejos. Como es un ejercicio simplificado, no habrá llaves que detecte el sensor, pero es una forma de ver cómo podría funcionar un circuito electrónico más complejo.
El trabajo se alinea con las ODS en que ayuda a las personas con problemas de memoria a no dejarse las llaves en la casa cuando salga. Además, el proyecto se relaciona especialmente con el ODS 12 (Consumo Responsable) y el ODS 9 (Innovación e Industria), ya que utiliza la tecnología para evitar pérdidas innecesarias de objetos y fomentar un uso más eficiente de los recursos, aportando además comodidad y bienestar a los usuarios.

Lo primero que hay que saber para llevar a cabo esta práctica es qué es un Arduino y qué se puede hacer con él. El Arduino es una placa programable que la conectas con sensores para realizar una acción específica. En nuestro caso, necesitamos un sensor de distancia y un piezo o zumbador.
El sensor de distancia tiene cuatro entradas/salidas: V (voltaje) se conecta con 5V en la placa, G o GND (ground o tierra) se conecta a tierra (G o GND en la placa también), TRIG lo hemos conectado al pin 9, y Echo al pin 8.
El piezo tiene 3 entradas/salidas: G (tierra) conectado a tierra, V (tensión) conectado a 5V, y S (salida) conectado en nuestro caso al pin 10.
Siempre es necesario conectar el circuito a tensión y a tierra.
El código empleado es:
int valorsensor=0; int piezopin=10; int pintrig=9; int pineco=8;
void setup(){
Serial.begin(9600);
pinMode(piezopin,OUTPUT);
pinMode(pintrig, OUTPUT);
pinMode(pineco, INPUT);
}
void loop(){
valorsensor=analogRead(pintrig);
Serial.println(valorsensor);
if(valorsensor>700){
tone(piezopin, 1000);
} else {
noTone(piezopin);
}
delay(500);
}
Ahora vamos analizándolo poco a poco.
int valorsensor=0; int piezopin=10; int pintrig=9; int pineco=8;
Para declarar una variable tienes que poner int si el número es entero. Aquí hemos dicho que el valor que reciba sensor de distancia se llama valor sensor, que el piezo lo conectamos al pin 10, el trig lo hemos conectado al pin 9 y el echo al pin 8.
void setup(){
Serial.begin(9600);
pinMode(piezopin,OUTPUT);
pinMode(pintrig, OUTPUT);
pinMode(pineco, INPUT);
}
Luego hay dos funciones principales: void setup y void loop: void setup es para que se ejecute una vez, void loop hace que se ejecute sin parar (siempre van con llaves y cuando abres llave, tienes que cerrarla al final). Luego, siempre hay que poner Serial.begin(9600);. Después, con pinMode, decimos cuales de los pines que conectamos anteriormente son de salida (OUTPUT) o de entrada (INPUT).
void loop(){
valorsensor=analogRead(pintrig);
Serial.println(valorsensor);
if(valorsensor>700){
tone(piezopin, 1000);
} else {
noTone(piezopin);
}
delay(500);
}
En void loop estamos diciendo que el valor del sensor es lo que el mismo sensor lea con su entrada TRIG. Luego imprimimos en el puerto seria el valor (se ve en la pantalla). Además, tenemos una condición if que dice que si el valor del sensor es mayor que 700 (es decir, si la distancia es mayor de lo necesario), el piezo debe sonar. Si no, no suena. Todo esto lo hace cada medio segundo o 500 ms.

