Ing. Julian Darío Giraldo Ocampo

Inicio » VisualBasic.NET » Prácticas » a. Termómetro del Ruido

a. Termómetro del Ruido

EL PROBLEMA

A continuación se muestra el termómetro del ruido.

Termómetro del Ruido

Modelo que describe el comportamiento de la potencia de una emisión sonora en función de los watts de salida del mismo y del umbral de audición.

 {L_W}= 10\times log \frac{W_1}{W_0}(dB)

Según el termómetro del Ruido y el modelo de potencia de ruido, construir una aplicación que permita encontrar la potencia de salida en decibeles de una fuente sonora, conociendo su potencia en vatios.

 POSIBLE SOLUCIÓN

Se diseña la siguiente interfaz, para capturar los datos ingresados por el usuario y para que muestre los resultados de Lw en la caja de texto y un picturebox para que actúe como un indicador de la potencia.  El Picturebox adicionalmente debe mostrar con una simbología tipo semáforo la criticidad de la potencia para la salud.

Formulario FrmAcustica

En el siguiente código propuesto, a equivale a W1, b equivale a W0 (que es la constante del umbral de audición) y c representa a LW.

Observe también que antes de empezar los condicionales, las líneas de código:

TxtPotencia.text= c

PicNivel.Width=c

se encargan de mostrar en la caja de texto el resultado del cálculo de Lw (o sea de c) y de hacer que el ancho del rectángulo sea del valor de Lw.

Ojo, tenga en cuenta que los valores de entrada deben ser inferiores a 1 para que código se vea funcionar, porque de lo contrario el resultado de Lw siempre será alto. Por ejemplo podrían intentar con un valor de entrada de 0.04, 0.002, 0.0007 y valores en ese mismo orden de magnitud.

El resto del código, es decir el de los condicionales se encarga de ir “descartando” de abajo haci arriba lo resultados, y dependiendo del valor de Lw se mostrará un mensaje en el Label llamado LblNivel y de hacer que el PicNivel tome un color según la criticidad así: si es crítico, es decir Lw es muy alto, el color será muy rojo, pero si no es crítico, es decir un valor bajo (aceptable), el color será verde.  En la sección en donde el color es negro es porque la potencia de sonido está por fuera del rango audible.

Otro ojo: hay un error a propósito en el código. Observe que el primer condicional pregunta que si c es mejor o igual a 20 se muestre en la etiqueta “FUERA DEL UMBRAL AUDIBLE” y la verdad es que esa condición se da cuando c es menor o igual a 0. traten de especular con la corrección.

 

 

Codigo Solución en VB.NET para Acústica

Anuncios
A %d blogueros les gusta esto: