En este tutorial enseñarnos como encender un LED con un sensor de sonido.

Componentes necesarios:

  • 1×  Luz Digital Piranha LED
LED
  • 1×  Sensor análogo de sonido
Sonido
  • 1×  IO Expansion Shield
IO expander
  • 1× Kit Intel® Edison con tarjeta Arduino Breakout.
Edison

Pin Out de conexión:

  • Sensor Análogo de Sonido –> Pin análogo 0
  • Luz Digital Piranha LED    –> Pin digital 13
pinout

Código de programación Arduino:

int soundPin = 0;       //El número de Pin del sensor de sonido

int ledPin =  13;       //El número de Pin del LED

void setup() {

pinMode(ledPin, OUTPUT);

// Serial.begin(9600);    //Solo como debuging

}

void loop(){

int soundState = analogRead(soundPin);  //Lee el valor análogo del sensor de sonido

// Serial.println(soundState);      //Muestra el valor del sensor de sonido

//Si el valor del sensor de sonido es mayor a 10, se enciende el LED,

De lo contrario, se apaga.

if (soundState > 10) {

digitalWrite(ledPin, HIGH);

delay(10000);

}else{

digitalWrite(ledPin, LOW);

}

}

Luego de cargar este sketch, prueba aplaudiendo o diciendo algo cerca del sensor de sonido, trata hasta que se encienda el LED.

Fundamentos del ejemplo (Entrada análoga – Salida digital)

Existen algunas diferencias entre los sensores análogos y digital, la señal análoga utiliza valores dentro del rango 0~1093. Las señales digitales utilizan valores discretos para representar la información (en este caso 0 y 1). Por lo que esta es una demostración de una entrada análoga y salida digital.

fundamento

Revisión del código de programación Arduino:

El sensor de sonido es el dispositivo de entrada, por lo que necesitamos leer un valor análogo desde un pin especifico. La sintaxis es la siguiente:

analogRead(pin)

Esta función lee el valor de un pin análogo especifico, el Kit Intel® Edison posee un conversor análogo digital de 6 canales y 10-bits, esto quiere decir que mapeara valores de entrada entre 0 a 5 volts como valores interos entre 0 ~ 1093. Por ejemplo, el valor análogo 512 corresponde a 2.5V.

Si el valor entregado por el sensor de sonido es mayor a nuestro rango definido (en este ejemplo 10), el LED se encenderá, de lo contrario el LED se apagará.

if (soundState > 10) {

}else{

}

Quita el comentario y podrás ver el valor que arroja el sensor de sonido. Puedes modificar el rango de detección para que el LED se encienda utilizando diferentes sonidos.