Don't wanna be here? Send us removal request.
Video
tumblr
Proyecto ultrasónico objetivo: la función de este proyecto es mendiante sensores controlar de forma remota la deforestación y la extinción de especies. estos sensores cumplen con la obligación de avisar y emiten un llamado contra la tala ilegal de arboles y cuidar el medio ambiente en el que vivimos.
Si estamos lejos, el sonido se emite con una frecuencia baja y se enciende el LED verde. Si estamos en una posición intermedia, el pitido aumenta la frecuencia y se encenderá el LED amarillo. Por último, si estamos demasiado cerca el pitido será muy agudo, una frecuencia alta, y se encenderá el LED rojo.
Para medir distancias con Arduino podemos hacerlo de diferentes maneras. Existen el sensor de infrarrojos, que utilizan las propiedades de la luz para calcular la distancia, y el sensor ultrasónico Arduino utiliza las propiedades de propagación del sonido para medir distancias. Más concreto utiliza los ultrasonidos. Este tipo de ondas sonoras se encuentran por encima del espectro audible por los seres humanos.
El funcionamiento es muy sencillo. El sensor envía una onda ultrasónica a través del disparador o trigger, revota contra el objeto y el receptor o echo detecta la onda. Sabiendo cuánto ha tardado en viajar dicha onda, podemos saber la distancia.

Para simular correctamente el sensor de distancia vamos a utilizar un buzzer Arduino. Estos componentes utilizan la piezoelectricidad, un fenómeno físico que afecta en determinados cristales (el cuarzo es el más común). Al someter un cristal de este tipo, se deforman y vibran. Si conseguimos que esa vibración tenga una frecuencia dentro del espectro audible, conseguiremos un sonido.

Por último, incorporamos el sistema de alerta visual para el sensor ultrasónico Arduino. Esto nos permite visualizar si estamos cerca o lejos de un obstáculo. Con 3 LEDs (verde, amarillo y rojo) conseguimos determinar si estamos lejos, cerca o en zona de peligro.
COMPONENTES:
Arduino UNO Protoboard donde conectaremos los componentes Cables para hacer las conexiones 3 resistencias de 220 Ω 1 LED verde 1 LED amarillo 1 LED rojo 1 sensor ultrasónico Arduino (HC-SR04) 1 buzzer
El sistema de aparcamiento consiste en detectar un objeto a través del sensor ultrasónico y avisar con señales de luz y sonido. Por lo tanto, ya tenemos la primera división, detectar el obstáculo y alertas con sonido y luces.
CODIGO ARDUINO ULTRASONICO
// Pines utilizados #define LEDVERDE 2 #define LEDAMARILLO 3 #define LEDROJO 4 #define TRIGGER 5 #define ECHO 6 #define BUZZER 9 // Constantes const float sonido = 34300.0; // Velocidad del sonido en cm/s const float umbral1 = 30.0; const float umbral2 = 20.0; const float umbral3 = 10.0; void setup() { // Iniciamos el monitor serie Serial.begin(9600); // Modo entrada/salida de los pines pinMode(LEDVERDE, OUTPUT); pinMode(LEDAMARILLO, OUTPUT); pinMode(LEDROJO, OUTPUT); pinMode(ECHO, INPUT); pinMode(TRIGGER, OUTPUT); pinMode(BUZZER, OUTPUT); // Apagamos todos los LEDs apagarLEDs(); } void loop() { // Preparamos el sensor de ultrasonidos iniciarTrigger(); // Obtenemos la distancia float distancia = calcularDistancia(); // Apagamos todos los LEDs apagarLEDs(); // Lanzamos alerta si estamos dentro del rango de peligro if (distancia < umbral1) { // Lanzamos alertas alertas(distancia); } } // Apaga todos los LEDs void apagarLEDs() { // Apagamos todos los LEDs digitalWrite(LEDVERDE, LOW); digitalWrite(LEDAMARILLO, LOW); digitalWrite(LEDROJO, LOW); } // Función que comprueba si hay que lanzar alguna alerta visual o sonora void alertas(float distancia) { if (distancia < umbral1 && distancia >= umbral2) { // Encendemos el LED verde digitalWrite(LEDVERDE, HIGH); tone(BUZZER, 2000, 200); } else if (distancia < umbral2 && distancia > umbral3) { // Encendemos el LED amarillo digitalWrite(LEDAMARILLO, HIGH); tone(BUZZER, 2500, 200); } else if (distancia <= umbral3) { // Encendemos el LED rojo digitalWrite(LEDROJO, HIGH); tone(BUZZER, 3000, 200); } } // Método que calcula la distancia a la que se encuentra un objeto. // Devuelve una variable tipo float que contiene la distancia float calcularDistancia() { // La función pulseIn obtiene el tiempo que tarda en cambiar entre estados, en este caso a HIGH unsigned long tiempo = pulseIn(ECHO, HIGH); // Obtenemos la distancia en cm, hay que convertir el tiempo en segudos ya que está en microsegundos // por eso se multiplica por 0.000001 float distancia = tiempo * 0.000001 * sonido / 2.0; Serial.print(distancia); Serial.print("cm"); Serial.println(); delay(500); return distancia; } // Método que inicia la secuencia del Trigger para comenzar a medir void iniciarTrigger() { // Ponemos el Triiger en estado bajo y esperamos 2 ms digitalWrite(TRIGGER, LOW); delayMicroseconds(2); // Ponemos el pin Trigger a estado alto y esperamos 10 ms digitalWrite(TRIGGER, HIGH); delayMicroseconds(10); // Comenzamos poniendo el pin Trigger en estado bajo digitalWrite(TRIGGER, LOW); }
1 note
·
View note