Tutorial de Planeta Electrónico de SENSORES y arduino….. Parte 1

07 agosto, 2017 / 316 vistas / 0 Comentarios

En este tutorial, pretendemos haceros llegar varios conceptos. Sobre todo, nuestros alumnos verán que estos sensores son fáciles de integrar en nuestro sistema arduino, y sobre todo económicos para nuestros proyectos. Por otro lado, el Zumbador nos permitirá emitir sonidos para nuestros proyectos, dotándolos de mejor operatividad y mejor terminación a nivel acústico.

Hoy vamos a poner como ejemplos 2 sensores diferentes y el Zumbador:

  • LM35: Sensor de temperatura que nos da la temperatura que le llega a su encapsulado.
  • Un LDR: “Sensor de luz” o iluminación. Este sensor permite decirnos que cantidad de luz nos llega según estemos en una estancia más ténue o más iluminada.
  • Un Zumbador: No es más que un “altavoz” pequeñito (se le denomina también piezo eléctrico) que emite sonidos en frecuencias de Kh.

Veamos primero algunos aspectos de la conectividad de nuestros elementos que hemos realizado en nuestra protoboard “virtual” para saber como conectarlos.

Como vemos en la imagen, hemos realizado las siguientes conexiones:

Alimentación: Hemos alimentado nuestra protoboard a 5V y a GND, de tal forma que cuando necesitemos usar la alimentación la podamos coger directamente desde la placa.

Por otro lado, de izquierda a derecha:

  • LDR, lo hemos conectado a 5V y a GND con una resistencia de 1K para que no cortocircuite. Y luego hemos usado nuestro cable amarillo de datos para recoger la información que pasa por el. En este caso lo hemos conectado al puerto 8 digital.
  • Zumbador, directamente lo hemos alimentado a GND y al puerto 4 digital.
  • LM35, lo hemos conectado según su fabricante, con las “letras” (parte plana del encapsulado) hacia nosotros) la izquiera a 5V, la derecha a GND y la central al puerto A1 (Analógico) de nuestro arduino.

Para no confundirnos con el código, vamos a tratar a cada uno por separado, de tal forma que el código quede LIMPIO y no nos confundamos, así cada uno tendrá su propio esquema de los elementos por separado y podrá usarlos juntos mezclando el código e intercalando las líneas que estimen oportunas.

 

Empecemos por el ZUMBADOR.

¿Que es un Zumbador? ¿De que está compuesto? ¿Como funciona?

Zumbador, (buzzer en inglés), es un transductor electroacústico que produce un sonido o zumbido contínuo. Su construcción consta de dos elementos, un electroimán o disco piezoeléctrico y una lámina metálica de acero. Cuando se acciona, la corriente pasa por la bobina del electroimán y produce un campo magnético variable que hace vibrar la lámina de acero sobre la armadura, o bien, la corriente pasa por el disco piezoeléctrico haciendolo entrar en resonancia eléctrica y produciendo ultrasonidos que son amplificados por la lámina de acero. Es decir, hace vibrar la lámina que produce los sonidos correspondientes y que son captados por nuestro oído.

A la pregunta, ¿un zumbador es igual que un altavoz?, la respuesta es Sí, sólo que el altavoz necesita de más potencia para trabajar y por eso suena con más fuerza. El zumbador es capaz de realizar el mismo efecto pero con menos potencia. Es por ello que los altavoces se usan para la música y el Zumbador para emitir frecuencias fijas de sonido y notas que en cierta escala son oídas por nosotros. Por ejemplo un ordenador al arrancar, emite un pequeño pitido, de su Zumbador, que nos indica que se va a encender o bien cuando tiene problemas. Otro ejemplo de zumbador está en las alarmás, las cuales emiten sonidos al presionar sus teclas, al activarse, etc….

¿Cómo pasamos esos sonidos al Zumbador desde el Arduino?

En realidad es muy sencillo, si tenemos en cuenta lo siguiente. Los sonidos en realidad son frecuencias, las cuales son recibidas por nuestro oído de diferentes formas. Nuestros “elementos internos” del oído lo que hacen es vibrar y golpear el Yunque con el martillo (partes de nuestro oído) para interpretar por el nervio auditivo tal sonido que interpretamos como una nota musical o un ruido diferente.

Así es como nosotros captamos el sonido, mediante la vibración y la frecuencia. Pues eso vamos a hacer con nuestro zumbador, vamos a emitir frecuencias para que nuestro oído las interprete.

Existe una tabla de frecuencias que nos dice que frecuencias corresponden con las notas musicales, así pues esta tabla es la siguiente:

Aquí en esta tabla, podemos ver las frecuencias que nuestro oído puede capturar, por debajo de las mismas no oiríamos nada, ni por encima tampoco.

Vamos a quedarnos con una frecuencia media, la de la nota LA de 3 octava que se corresponde con 220,00 H (Hercios)

Ahora veamos que existe un comando para arduino que nos permite reproducir esas notas.

tone (puerto, frecuencia);

el comando tone, nos pregunta en que puerto tenemos conectado el zumbador y lo “abre” para emitir esa frecuencia que le vamos a dar. Como nuestro zumbador está en el puerto 4, pues el comando sería

tone (4, 220);

Esto haría que nuestro zumbador tocara la nota LA de la 3ª octava contínuamente. Pero claro, no la para, es decir, se mantiene sonando contínuamente.

para parar esa ejecución usaremos el comando noTone (puerto), el cual parará la ejecución de ese puerto, sea cual sea la frecuencia que le enviáramos antes.

Pero claro, si lo dejamos uno debajo de otro, casi no lo oiríamos, ya que trabajamos con electricidad y a la velocidad de la luz, así que tendremos que poner en medio un “retraso” del tiempo que queramos que esa nota esté sonando, por ejemplo 1 seg.

Dicho esto, el código quedaría así:

tone (4, 220);

delay(1000);

noTone(4);

De esta forma el código quedaría sonando la nota LA duranate 1 segundo.

Pero si vemos, son tres líneas de código, así que lo que vamos a hacer es simplificar mediante una función NOTA, a la cual le pasamos los parámetros y así la tenemos siempre disponible para “hacer sonar” distintos tipos de sonido.

Como el movimiento se demuestra andando, vamos a por el código.

// Definimos el puerto del zumbador, esto nos permitirá poner el nombre de la variable en lugar del número del puerto

#define PuertoZumbador 4

// En nuestra función Setup pondremos el puerto como SALIDA

void setup() {

pinMode (PuertoZumbador, OUTPUT);

}

// En nuestra función contínua haremos la llamada a la función de Nota para que reproduzca un sonido

void loop() {

Nota (220, 1000);

}

// Nuestra propia función se encargará de reproducir la nota según los parámetros enviados

void Nota (int freq, int tiempo){

tone(PuertoZumbador, freq); // Reproduce la nota que le viene desde la llamada de loop
delay(tiempo); // Espera el tiempo determinado por loop
noTone(PuertoZumbador); // Para la ejecución de la nota

}

De esta forma podremos llamar a Nota tantas veces como queramos para crear música……

¿Te atreves a hacer tu propia melodía?

 

En la siguiente lección veremos más…….

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *