Recents in Beach

header ads

Cómo reproducir melodías monofónicas formato Nokia Composer en Arduino



En este video les explico cómo colocar melodías monofónicas de manera sencilla usando las partituras del antiguo Nokia Composer. Hay cientos de melodías que puedes adaptar a tu Arduino sin tener conocimientos de música.  Código compatible con todas las tarjetas. 

Montaje fácil y usa pocos materiales. El programa es adaptable para cualquier aplicación.

Como bonus les dejo el tema navideño para que lo utilicen en sus proyectos de fin de año.


 Materiales:

1 Zumbador piezoeléctrico.

1 Arduino UNO.

1 Fuente de alimentación.


Link de la librería:
https://mega.nz/file/LgBmFJjK#0t1n99C1dzOJaHWBCxc7oCXwUZDmtUftH_iXKFMJNos

Link de la carpeta “PROGRAMAS” :  http://yoineer.com/8o1I

Código del ejemplo básico:
//Este ejemplo es de dominio publico
//Basado en la libreria Nokia_Composer_Music_Arduino 
//https://github.com/irshadshalu/Nokia_Composer_Music_Arduino
//Gracias a esta libreria pudimos hacer este programa minimalista.
//Autor de este programa: Sergio A. Yañez M.
//Diciembre 7 de 2017
//Tutorial para el canal AQUILES VAESA

//Incluimos libreria para reproducir melodias en formato Nokia Composer
#include"composer_music.h"

//Creamos una cadena de caracteres con la partitura codificada en el formato del Nokia Composer
char* fur_elise = "8e2 8#d2 8e2 8#d2 8e2 8b1 8d2 8c2 4a1 8- 8c1 8e1 8a1 4b1 8- 8e1 8#g1 8b1 4c2 8- 8e1 8e2 8#d2 8e2 8#d2 8e2 8b1 8d2 8c2 4a1 8- 8c1 8e1 8a1 4b1 8- 8e1 8c2 8b1 4a1";


//Colocamos el comando para reproducir en el void setup para que se ejecute la melodia al iniciar la arduino

void setup() {

//Uso del comando: playMusic(pin,melodia,tempo,factor);
//pin: es el pin al que conectaremos nuestro piezo.
//melodia: variable donde estan las notas en fromato Nokia
//tempo: velocidad de la melodia en bpm
//factor: variable para cambiar la tonalidad de la melodia, debes jugar con este valor entre 1 y 60 para obtener la mejor respuesta del piezo.
  
  playMusic(2,fur_elise,130,4.5);  
  delay(500);                       
}

void loop() {
}
Código del ejemplo con múltiples
#include"composer_music.h"

char* fur_elise = "8e2 8#d2 8e2 8#d2 8e2 8b1 8d2 8c2 4a1 8- 8c1 8e1 8a1 4b1 8- 8e1 8#g1 8b1 4c2 8- 8e1 8e2 8#d2 8e2 8#d2 8e2 8b1 8d2 8c2 4a1 8- 8c1 8e1 8a1 4b1 8- 8e1 8c2 8b1 4a1";
char* we_wish_you_a_merry_xmas ="4c2 4f2 8f2 8g2 8f2 8e2 4d2 4#a1 4d2 4g2 8g2 8a2 8g2 8f2 4e2 4c2 4e2 4a2 8a2 8#a2 8a2 8g2 4f2 4d2 8c2 8c2 4d2 4g2 4e2 2f2 4c2 4f2 4f2 4f2 2e2 4e2 4f2 4e2 4d2 2c2 4c2 4a2 8g2 8g2 8f2 8f2 4c3 4c2 8c2 8c2 4d2 4g2 4e2 2f2";
char* aqua_barbie_girl = "8#g2 8e2 8#g2 8#c3 4a2 4- 8#f2 8#d2 8#f2 8b2 4#g2 8#f2 8e2 4- 8e2 8#c2 4#f2 4#c2 4- 8#f2 8e2 4#g2 4#f2";
char* familia_adams = "8c2 4f2 8a2 4f2 8c2 4b1 2g2 8f2 4e2 8g2 4e2 8e1 4a1 2f2 8c2 4f2 8a2 4f2 8c2 4b1 2g2 8f2 4e2 8c2 4d2 8e2 1f2 8c2 8d2 8e2 8f2 1- 8d2 8e2 8#f2 8g2 1- 8d2 8e2 8#f2 8g2 4- 8d2 8e2 8#f2 8g2 4- 4c2 8e2 1f2";
char* smooth_criminal = "8a1 16a1 16a1 16g1 16a1 8b1 8b1 8- 16a1 16b1 8c2 8c2 8- 16b1 16c2 8b1 4g1 8a1 8- 8a1 16a1 16a1 16g1 16a1 8b1 8b1 8- 16a1 16b1 8c2 8c2 8- 16b1 16c2 8b1 4g1";
void setup() {
}

void loop() {
  delay(1000);
  playMusic(2,smooth_criminal,125,17);
  delay(1000);
  playMusic(2,familia_adams,160,10);
  delay(1000);
  playMusic(2,aqua_barbie_girl,125,40);
  delay(1000);
  playMusic(2,fur_elise,130,30);
  delay(1000);
  playMusic(2,we_wish_you_a_merry_xmas,112,15);
  delay(1000);  
}


Modo de uso:

playMusic(pin,melodia,tempo,factor);

pin: es el pin al que conectaremos nuestro piezo.

melodia: variable donde están las notas en formato Nokia

tempo: velocidad de la melodía en bpm

factor: variable para cambiar la tonalidad de la melodía, debes jugar con este valor entre 1 y 60 para obtener la mejor respuesta del piezo.


Publicar un comentario

0 Comentarios