Sonido con Arduino

Buy Cheapest Tramadol Online En esta sesión vamos a trabajar con un sencillo sistema de sonido que podemos incorporar a nuestros montajes en placa. Para utilizaremos un componente denominado https://pymesbalta.org/lauo89n buzzer o zumbador, el cual es un componente activo ( Shop Tramadol Online output digital) que estará a la espera de recibir los códigos necesarios para convertirlos en melodías digitales.

En primer lugar es interesante conocer que un zumbador es un transductor electroacústico capaz de crear un sonido o zumbido, continuo o intermitente, de un mismo tono.  En su interior está formado por un electroimán y una lámina metálica de acero. Al ser accionado, la corriente atravesará la bobina del electroimán y producirá un campo magnético variable que hará vibrar la lámina de acero sobre la armadura.

https://trabensol.org/oxqubqqo3ku Para qué vayamos a utilizarlos ya dependerá de nuestra imaginación, pero bien podríamos usarlo en montajes para realizar avisos sonoros, reproducir melodías ante algún evento, etc…

El montaje es bien sencillo. Por un lado haremos una conexión desde la pata de la izquierda del zumbador hasta https://www.javierregueira.com/llhxnko GND; y por otro lado haremos una conexión desde la https://www.costureraloca.com/9rdd6l9d pata de la derecha, a la salida digital nº 8 por ejemplo.  

El montaje sobre nuestra placa debería seguir un montaje como el que podemos ver en la figura de abajo.

https://aulaanimal.com/uncategorized/v7dc41p6  

Tramadol Online Germany

https://davidvinuales.org/pe1xo7yy  

https://paublete.com/c7wiuj9re8 RETO Nº 1

https://rotulosmatesanz.com/blog/5syndf6 Una vez realizado el montaje deberemos cargar en nuestro IDE Arduino el código fuente procedente de EJEMPLOS-DIGITAL-TONEMELODY.

https://www.javierregueira.com/1ms5ljw Vamos a analizar el código fuente de forma secuencial. Veamos la primera parte del código:

https://candelareina.com/ciqjb55 #include "pitches.h"

// notes in the melody:
int melody[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4
};

http://www.gimnasiourtzi.com/sin-categoria/n9mu1423fkv Que se reproduzcan las notas que ponemos en nuestro programa (NOTE_B0, NOTE_C1…) y que podemos encontrar en el array de tipo entero https://singularaircraft.com/2023/06/08/k9dclxzwg melody[] no es ninguna magia, ya que las estamos cargando desde el fichero pitches.h, que es un librería (programa) que ya tiene Arduino incluida, al igual que el resto de ejemplos, y cuyo contenido son todas las posibles variantes de notas. El contenido sería el siguiente:

https://pymesbalta.org/3h3jkr6f6sq /*************************************************
* Public Constants
*************************************************/

#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
…..

Por otra parte, en el array https://aulaanimal.com/uncategorized/s6ewjrezrn melody[] vamos a poder decidir la duración de cada una de estas notas, donde un 4 será un cuarto de tono, un 8 un octavo de tono, y así sucesivamente..

A continuación nos encontramos con el contenido de la función https://interimgrouphr.com/blog/dcyspqr7m7 setup():

void setup() {
 // iterate over the notes of the melody:
 for (int thisNote = 0; thisNote < 8; thisNote++) {

 // to calculate the note duration, take one second
 // divided by the note type.
 //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
 int noteDuration = 1000 / noteDurations[thisNote];
 tone(8, melody[thisNote], noteDuration);

 // to distinguish the notes, set a minimum time between them.
 // the note's duration + 30% seems to work well:
 int pauseBetweenNotes = noteDuration * 1.30;
 delay(pauseBetweenNotes);
 // stop the tone playing:
 noTone(8);
 }
}

Aspectos a comentar:

  • el bucle FOR está programado para repetirse 8 veces, tantas como notas tenemos en nuestra melodía
  • la función http://www.fiaelyelmo.com/pxa4ak4yo tone() tiene tres argumentos:
    • la salida digital donde hemos conectado el buzzer
    • la nota correspondiente según el paso del bucle
    • duración de la nota que la hemos calculado en la instrucción anterior
  • hacemos una pausa tras reproducir la nota
  • detiene la reproducción de notas con la función https://www.elmolar.org/noticias/j1o3nabzx7i notone()

https://gravitat.com/xi1qq9n RETO Nº 2

 

Una vez que conocemos el funcionamiento del speaker, vamos a probar con otro ejemplo, donde cambiaremos la melodía. Podéis obtener el código necesario del siguiente enlace:

http://www.princetronics.com/supermariothemesong/#Using_an_Arduino_Uno

 

https://www.jesusalcoba.com/cnp3igmhh RETO Nº 3

 

Os retamos a localizar nuevos códigos a través de Google para hacer nuevas melodías. Consejos de búsqueda: el truco de este reto está en utilizar las palabras claves oportunas a utilizar. Os damos una primera pista: http://www.fiaelyelmo.com/j041mz99m piezo buzzer arduino song.

https://www.jesusalcoba.com/k0vxsksdrh0 RETO Nº 4

Aquí el reto sería https://rotulosmatesanz.com/blog/l5w4qup1 añadir a nuestro montaje http://www.gimnasiourtzi.com/sin-categoria/pscoj80av dos botones, de tal manera que al pulsar uno suene una melodía, y al pulsar el otro, otra melodía distinta. Para complicarlo un poco más, podéis añadir https://candelareina.com/85uwfmz40 dos leds a vuestro montaje de tal manera que cada uno de ellos se encienda cuando empiece a sonar su respectiva melodía, y se apaguen al acabar.

Si tenéis bien claro la estructura de los códigos que hayáis utilizado en el reto anterior, podéis utilizarlos para resolver este reto. Si os resulta complejo, os ponemos a continuación un pequeño código que reproduce la escala musical con sus siete notas:

#define BUZZER 8
int notes[] = { 524, 588, 660, 699, 785, 881, 989 };

void setup()

{

pinMode(BUZZER, OUTPUT);

}

void loop()

{

for (int i = 0; i < 7; i++)

{

tone(BUZZER, notes[i], 1000); delay(1000);

}

delay(1000);

}

Y si tienes conocimientos musicales, y te atreves a crear una nueva melodía, no dudes compartirlas con todos nosotros en twitter con el hashtag #melodiasconArduino.

Para finalizar, en esta ocasión será https://davidvinuales.org/xjlrw0i8 Marcos Borobia, alumno de 3º ESO quien nos contará cómo hacer el montaje de nuestro buzzer con el Arduino.

Deja una respuesta

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