Sensor de sonido para netduino


 

Aquí  se explica como usar un simple piezo eléctrico para detectar el sonido, lo que nos permitirá usarlo como un sensor para golpes o “toques” (puedes pegar el piezo eléctrico a una superficie por ejemplo). Para esto podemos aprovechar la capacidad de leer señales análogas del CAD – convertidor análogo a digital. Estos conversores leen el valor de un voltaje y lo transforman en un valor entre 0 y 1024. 0 representa 0 V y 1024 representa 5 V en la entrada de uno de los 6 pines análogos.

Como sabreis , un piezo eléctrico no es otra cosa que un dispositivo electrónico que suele  usarse  para reproducir o detectar tonos. En este ejemplo hemos conectado el piezo eléctrico en el pin de entrada análoga número3, que puede leer un valor entre 0 V y 5 V, y no solamente HIGH o LOW (pines digitales).

Un punto importante es que los piezo eléctricos tienen polaridad, la cual, en los dispositivos comerciales, se indica normalmente con un cable rojo y uno negro para saber cómo conectarlo a la placa. Debemos conectar el negro en la tierra y el rojo en el pin de entrada. Además debemos conectar una resistencia en el rango de los Megaomhnios en paralelo al piezo; en el ejemplo lo hemos hecho directamente en los conectores hembra.

El siguiente código capturará el tono y si sobrepasa cierto límite, pintara por la consola  el mensaje “Se ha sobrepasado el umbral de sonido”

Sensor de golpes.

//Sensor de sonidos

//By CRN

//@2012

public static void Main()
{

var voltagePortSonido = new SecretLabs.NETMF.Hardware.AnalogInput(Pins.GPIO_PIN_A2); //configura entrada temperatura

…..

sonido(voltagePortSonido, apiKey, feedId, out sonidoC); //captura medidad de temperatura

if (sonidoC> umbral)

{

Debug.Print(“Se ha sobrepasado el umbral de sonido”);

}

……
static void sonido(SecretLabs.NETMF.Hardware.AnalogInput vport, string apikey, string feedId, out double tt)
{

tt = 0;
for (int aa = 0; aa < 100; aa++) //100lecturas
{
int rawValue = vport.Read();
float voltage = rawValue ;// 3300; ///lectura en mv si usamos referecnica de 3.3v

if (tt < voltage)
{
tt = voltage;//toma el maximo
}
}

fuente original :http://arduino.cc/es_old/Tutoriales/SensorKnock

Anuncios

Sensor de sonido para netduino


Aquí  se explica como usar un simple piezo eléctrico para detectar el sonido, lo que nos permitirá usarlo como un sensor para golpes o “toques” (puedes pegar el piezo eléctrico a una superficie por ejemplo). Para esto podemos aprovechar la capacidad de leer señales análogas del CAD – convertidor análogo a digital. Estos conversores leen el valor de un voltaje y lo transforman en un valor entre 0 y 1024. 0 representa 0 V y 1024 representa 5 V en la entrada de uno de los 6 pines análogos.

Como sabreis , un piezo eléctrico no es otra cosa que un dispositivo electrónico que suele  usarse  para reproducir o detectar tonos. En este ejemplo hemos conectado el piezo eléctrico en el pin de entrada análoga número3, que puede leer un valor entre 0 V y 5 V, y no solamente HIGH o LOW (pines digitales).

Un punto importante es que los piezo eléctricos tienen polaridad, la cual, en los dispositivos comerciales, se indica normalmente con un cable rojo y uno negro para saber cómo conectarlo a la placa. Debemos conectar el negro en la tierra y el rojo en el pin de entrada. Además debemos conectar una resistencia en el rango de los Megaomhnios en paralelo al piezo; en el ejemplo lo hemos hecho directamente en los conectores hembra.

El siguiente código capturará el tono y si sobrepasa cierto límite, pintara por la consola  el mensaje “Se ha sobrepasado el umbral de sonido”

Sensor de golpes.

//Sensor de sonidos

//By CRN

//@2012

public static void Main()
{

var voltagePortSonido = new SecretLabs.NETMF.Hardware.AnalogInput(Pins.GPIO_PIN_A2); //configura entrada temperatura

…..

sonido(voltagePortSonido, apiKey, feedId, out sonidoC); //captura medidad de temperatura

if (sonidoC> umbral)

{

Debug.Print(“Se ha sobrepasado el umbral de sonido”);

}

……
static void sonido(SecretLabs.NETMF.Hardware.AnalogInput vport, string apikey, string feedId, out double tt)
{

tt = 0;
for (int aa = 0; aa < 100; aa++) //100lecturas
{
int rawValue = vport.Read();
float voltage = rawValue ;// 3300; ///lectura en mv si usamos referecnica de 3.3v

if (tt < voltage)
{
tt = voltage;//toma el maximo
}
}

fuente original :http://arduino.cc/es_old/Tutoriales/SensorKnock