Webcervices. Con la tecnología de Blogger.
RSS

Unete a nuestro grupo de facebook

Unete a nuestro grupo de facebook
Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a mi grupo Arduino Tec

Tutorial - Haciendo Sonidos con Ardu

Tutorial - Haciendo Sonidos con Ardu


Objetivo: Conseguir reproducir mediante un buzzer (o Zumbador) una escala de notas musicales.

Componentes que vamos a necesitar en el tutorial de hoy:
- BreadBoard o Protoboard
- 1 x Zumbador ( buzzer )
- Arduino UNO
- Cables

Como podemos comprobar, no necesitamos gran cosa para conseguir realizar este tutorial, así que vamos allá. 

Para empezar comentaremos qué es un zumbador:
Zumbador de Alta Frecuencia

Zumbadorzumbather o buzzer en inglés, es un transductor electroacústico que produce un sonido o zumbido continuo o intermitente de un mismo tono. Sirve como mecanismo de señalización o aviso, y son utilizados en múltiples sistemas como en automóviles o en electrodomésticos.

Su construcción consta de dos elementos, un electroimán y una lámina metálica de acero. El zumbador puede ser conectado a circuitos integrados especiales para así lograr distintos tonos.

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. (Fuente: Wikipedia)

Vamos entonces a montar el circuito básico:

La imagen es bastante descriptiva pero aclararemos las conexiones básicas. Haremos una conexión a la pata de la izquierda del zumbador que enlazará con el PIN GND de nuestro Arduino UNO. 

Para la pata de la derecha, haremos una conexión con el PIN 12 de nuestro controlador.

Perfecto, ya tenemos montado nuestro circuito.

Ahora vayamos a por el código:
// Introducimos la variable por donde saldrá nuestra señal digital hasta el zumbador
int speakerPin = 12;
 // Definimos una variable con el número de tonos que va a reproducir
int numTones = 10;
int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};
//                  mid C  C#   D     D#    E     F     F#    G     G#   A
// Arriba se muestran las equivalencias entre frecuencias y Notas de la escala natural, no están todas declaradas pero existen.
void setup()
{
// Generamos un bucle que recorra nuestro vector. Este será el encargado de introducir una determinada frecuencia al zumbador cada vez, conforme hayamos declarado el vector de tonos.
  for (int i = 0; i < numTones; i++)
  {
    tone(speakerPin, tones[i]);
    delay(500);
  }
  noTone(speakerPin);
}
void loop()
{
}

A continuación os dejo un video de la escala que reproducirá el buzzer:



Ahora vayamos un poco más allá. Si tienes nociones básicas de música será fácil trastear con el código consiguiendo que nos reproduzca melodías de forma digital.

Os dejo una propuesta de código que interpreta las primeras notas de la conocida carros de fuego:

// Introducimos la variable por donde saldrá nuestra señal digital hasta el zumbador

int speakerPin = 12;
 // Definimos una variable con el número de tonos que va a reproducir
int numTones = 10;
int song[] = {261, 349, 392, 440, 392, 330, -10, 261, 349, 392, 440, 392, -10, -10, 261, 349, 392, 440, 392, 330, -10, 330, 349, 330, 261, 261};
//  int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};
//                  mid C  C#   D     D#    E     F     F#    G     G#   A
// Arriba se muestran las equivalencias entre frecuencias y Notas de la escala natural, no están todas declaradas pero existen. Uso una frecuencia de -10 para generar un sonido que apenas se oiga y que sustituya al silencio que debería sonar en la melodía. Os invito a que compartáis una solución mejor para evitar que suene el buzzer en esa posición.
void setup()
{
// Generamos un bucle que recorra nuestro vector. Este será el encargado de introducir una determinada frecuencia al zumbador cada vez, conforme hayamos declarado el vector de tonos.
  for (int i = 0; i < numTones; i++)
  {
    tone(speakerPin, tones[i]);
    delay(500);
  }
  noTone(speakerPin);
}
void loop()
{
}

A continuación os dejo otro video donde suena el trozo de carros de fuego:

Espero como siempre que os haya gustado el tutorial y que cualquier duda, inquietud o sugerencia nos la dejéis en los comentarios más abajo

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentarios:

Publicar un comentario

Objetivo Y Reclamaciones

Este blog es un portal en el cual se publican contenidos de diferentes blogs.En los cuales se les anexa al pie de pagina un enlace a su pagina original aquí encontraran toda clase de proyectos de arduino y linux
Espero tengan una gran experiencia en este blog un Gran Saludo
de parte de la organización WebCervices..
objetivo
O del grupo ArduinoTec De arduino
Cualquier reclamación o petición comunicar al Administrador principal o hacer un comentario en la publicación que se sientan inconformes en los correos
electriarias@gmail.com
y para temas de suma importancia mi correo personal
pabioarias@hotmail.com

Siguenos en Twitter

Like

Unete a nuestro grupo de facebook

Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a La mi grupo Arduino Tec

Unete Al Grupo De facebook

Unete Al Grupo De facebook
Amplia tus conocimientos debatiendo temas de Arduino y Raspberry pi