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

Anuncio publicitario

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