Practica3 Lab Microbasic
Practica3 Lab Microbasic
Practica3 Lab Microbasic
PRACTICA 3
LABORATORIO DE MICROCONTROLADORES
INTEGRANTES:
DOCENTE:
ING. SENDEY VERA
CURSO
OCTAVO SEMESTRE
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
1 OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
A través de librerías de MikroBasic Pro For PIC: SOUND LIBRARY, realizar la interface
para generar las melodías entre el PIC16F886 y el BUZZER.
Programar melodías o tonos con la ayuda del software MikroBasic Pro For Pic para una
respetiva apreciación por medio de pulsadores.
Aprender a utilizar las notas musicales con sus respectivas frecuencias y tiempos de
retardo y cumplir con los parámetros indicados.
Aprender a utilizar el Buzzer como dispositivo I/O Digitales.
Desarrollará las habilidades para implementar el circuito del prototipo y grabar el programa
diseñado para integrar el software y hardware, logrando un sistema funcional.
2 INTRODUCCION
Esta práctica consiste en el desarrollo de un sistema que, a partir de los parámetros de entradas,
genera una melodía o tono musical.
La principal función es la creación de una composición de una melodía musical, entendiendo por
esta una sucesión de notas musicales con un determinado carácter y sentido.
El sistema de notación musical nos permite especificar dos de las características principales de
la música: la nota que debemos tocar y su duración.
a) ALTURA: El sonido es producido por vibraciones, estas vibraciones generan unas ondas que
atraviesan el aire y llegan hasta el oído. La frecuencia, es decir, el número de vibraciones que se
realicen por segundo determinan la altura de sonido: graves o agudos.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
b) INTENSIDAD: Así como la altura del sonido depende de la frecuencia, la intensidad depende
de la amplitud de la onda sonora. Mientras más intensa sea la vibración, la amplitud de la onda
sonora será mayor, por lo tanto, el sonido será más fuerte. Si la vibración es menos intensa, la
amplitud de la onda sonora será mayor y, por lo tanto, el sonido será más suave.
d) TIMBRE: el timbre está determinado por la cantidad y calidad de armónicas que se ejecuten
con cada sonido fundamental o principal.
3 FUNDAMENTOS TEORICO
MICROCONTROLADOR
2 Timer de 8bits
1 Timer de 16 Bits
32 instrucciones
Módulo de PWM
Módulo de CCP
Módulo ADC de 10 bits
MIKROBASIC
MikroBasic PRO para PIC: es un compilador BASIC con todas las características para
microcontroladores PIC de Microchip. Está diseñado para desarrollar, construir y depurar
aplicaciones embebidas basadas en PIC. Este entorno de desarrollo cuenta con una amplia
variedad de características tales como: una sintaxis BASIC fácil de aprender, IDE fácil de usar,
un código muy compacto y eficiente, muchos equipos y bibliotecas de software, la documentación
completa, el simulador de software, un depurador de hardware, la generación de archivos COFF,
etc. Además, incluye muchos ejemplos prácticos que permiten un rápido inicio en la programación
de microcontroladores PIC.
PROTEUS
El PICKIT 2
Es reconocido como un dispositivo HID, por lo que no es necesario drivers extras, los sistemas
operativos modernos cuentan ya con los drivers necesarios. Se puede usar tanto en Linux, Mac
como Windows. En la página de Microchip se encuentran programas específicos como ser la
interfaz de programación, analizador lógico, además con los IDE MPLAB X y MPLAB se lo pude
utilizar como debugger.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
3 SOFTWARE Y MATERIALES
SOFTWARES MATERIALES
SOFTWARE MIKROBASIC PIC16F886
PRO FOR PIC GRABADOR PICKT2
SOFTWARE DE SIMULACION PROTOBOARD
PROTEUS CABLE HEMBRA-HEMBRA
SOFTWARE DE PICkit 2 v2.61 CABLE USB
BUZZER
RESISTENCIAS DE 1KΩ
PULSADORES
4 PROCEDIMIENTO
Practica a realizar:
1) Revisar las características, propiedades y hojas técnicas del dispositivo que produce
sonido. (Buzzer).
BUZZER
Este es un periférico de salida que le permite generar tonos de distintas frecuencias con un
microcontrolador.
FUNCIONAMIENTO
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.
APLICACIONES
Los generadores de sonidos piezoeléctricos son dispositivos aptos para el diseño de alarmas y
controles acústicos de estrecho rango de frecuencia, por ejemplo, en aparatos domésticos y de
medicina.
CONEXIÓN
Primero vamos a fijarnos en el Buzzer, como veraz tiene 3 pines los cuales son para:
GND: señal de referencia para el pin GND de la placa del microcontrolador.
VCC: señal de referencia para el pin VCC de la placa del microcontrolador.
SGN: señal de datos para el pin de salida del sonido del PIC.
Es importante recordar que las piezas tienen polaridad, y que los cables indican precisamente
como conectar nuestro dispositivo a la placa
2) Revisar en la opción HELP (SOUND_LIBRARY) del software MikroBasic Pro For PIC las
diferentes librerías que se utilizara para llevar a cabo la práctica.
Las señales de audio se utilizan con frecuencia cuando se necesita llamar la atención de usuario,
confirmar que alguno de los botones se ha pulsado, avisar que se ha llegado hasta los valores
mínimos o máximos etc. Pueden ser una simple señal de pitido, así como melodías de una
duración más larga o más corta. En este ejemplo se muestra la generación de sonido por medio
de funciones que pertenecen a la librería Sound.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
SOUND_INIT
PROTOTIPO: sub procedure Sound_Init (dim snd_port byref como byte, dim snd_pin como byte)
PARÁMETROS:
SOUND_PLAY
PROTOTIPO:
sub procedure Sound_Play (dim freq_in_Hz as word, dim duration_ms as word)
PARÁMETROS:
3) Revisar la tabla de frecuencias de las notas musicales, las cuales nos ayudaran para
generar nuestra melodía.
Si tienes que realizar una aplicación que trate con sonido y música, seguro que tarde o temprano
tienes que trabajar con las notas musicales.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
Un sonido no es más que una vibración del aire que nuestros oídos pueden captar. Un sonido
que tiene un determinado tono, depende de la frecuencia a la cual vibra el aire.
Las notas musicales son vibraciones de frecuencias determinadas. Por supuesto, en la creación
de música intervienen muchos otros factores complejos, como, por ejemplo, el timbre.
No obstante, una vibración sinusoidal a una frecuencia concreta, produce un sonido puro que
nosotros percibimos como un pitido de un determinado tono.
En el sistema musical occidental, se ha acordado utilizar sólo unas frecuencias concretas, a las
cuales llamamos notas.
Dividimos las posibles frecuencias en porciones que llamamos "octavas", y cada octava en 12
porciones que llamamos notas. Cada nota de una octava tiene exactamente la mitad de
frecuencia que la misma nota en la octava superior.
El oído humano capta solamente frecuencias que estén por encima de los 20Hz y por debajo de
los 20.000 (muy aproximadamente). Así pues, y con mucha suerte, sólo podemos oír unas 10
octavas como mucho, con doce notas cada una.
La nota La sirve como referencia para todas las demás. A menudo se denomina "nota de afinar".
Se produce un La de afinar cuando el aire vibra 440 veces por segundo, es decir a 440 hertzios.
Por convención, a la octava que contiene esta nota La se le suele considerar la cuarta.
Hay otra nota La, de una "octava" superior (la quinta octava) cuando el aire vibra a 880 hertzios,
y otra más cuando vibra a 880*2 (sexta octava), y otra a 880*2*2 (séptima octava), etc., del mismo
modo que hay un La que se produce cuando el aire vibra a 440/2 (tercera octava) y otra a 440/2/2
(segunda octava).
Para hallar la frecuencia de una nota cualquiera mediante una expresión matemática, se suele
coger una frecuencia de referencia, por ejemplo, el La de afinar (La4, 440 Hertzios) y se multiplica
por la raíz duodécima de 2 elevado al número de semitonos que separa el la de afinar de la nota
que estamos buscando.
Por ejemplo, si buscamos el Do de la quinta octava (Do5, está separado 3 semitonos por encima
del La4. Su frecuencia la podemos calcular multiplicando 440 por la raíz duodécima de 2 elevado
a 3. Si buscásemos el Fa4, está cuatro semitonos por debajo del La4. Los semitonos hacia abajo
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
los consideraremos negativos. Así pues, su frecuencia se obtiene multiplicando 440 por la raíz
duodécima de 2 elevado a -4.
Con carácter general, una nota n (n=1 para Do, n=2 para Do#... n=12 para Si) de la octava o (o
desde 0 hasta 10) tiene una frecuencia f(n, o) que podemos calcular de ésta manera:
En la siguiente imagen se muestra la tabla de frecuencia de las notas musicales la cual nos
ayudara para programar nuestro generador de melodías.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
La siguiente imagen muestra el diagrama de conexión, el cual nos ayudara para realizar nuestro
diagrama.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
Este es el código de la melodía de Mario Bros, el cual nos ayudara para crear nuestra melodía.
program mariobrosfinal
'*******************************************************************************
'Nombre proyecto: MELODIA MARIOBROS
'Descripción:
'El presente proyecto se basa en la generación de tonos por medio de pulsadores,
'utilizaremos las librerías que existen en MikroBasic Pro for Pic.
'Configuraciones:
‘Microcontrolador: PIC16F886
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
'*******************************************************************************
while 1
IF (PORTA.0 > PORTA.1) THEN
aux = 0
else
IF (PORTA.0 < PORTA.1) THEN
aux = 1
ELSE
IF (PORTE.3 = 0) THEN
aux = 2
end if
end if
end if
select case aux
case 0
PORTB.1 = 1
'MELODIA MARIO BROS
Sound_Play (659, 125)
Sound_Play (659, 250)
Sound_Play (659, 250)
Sound_Play (0, 125)
Sound_Play (523, 125)
Sound_Play (659, 250)
Sound_Play (783, 500)
Sound_Play (0,500)
Sound_Play (523, 250)
Sound_Play (0, 125)
Sound_Play (391, 125)
Sound_Play (0, 250)
Sound_Play (329, 250)
Sound_Play (440, 250)
Sound_Play (493, 500)
Sound_Play (493, 125)
Sound_Play (466, 250)
Sound_Play (440, 250)
Sound_Play (391, 250)
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
Sound_Play (698,125)
Sound_Play (622,125)
Sound_Play (659,250)
Sound_Play (0,125)
Sound_Play (830,125)
Sound_Play (440,125)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (440,125)
Sound_Play (523,125)
Sound_Play (587,125)
Sound_Play (0,250)
Sound_Play (783,125)
Sound_Play (739,125)
Sound_Play (698,125)
Sound_Play (0,500)
cont=cont+1
wend
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (587,250)
Sound_Play (659,125)
Sound_Play (523,250)
Sound_Play (440,125)
Sound_Play (391,250)
Sound_Play (0,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (0,125)
Sound_Play (523,125)
Sound_Play (587,125)
Sound_Play (659,125)
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
Sound_Play (0,1000)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (587,250)
Sound_Play (659,125)
Sound_Play (523,125)
Sound_Play (0,125)
Sound_Play (440,125)
Sound_Play (391,250)
Sound_Play (0,250)
Sound_Play (659,125)
Sound_Play (659,125)
Sound_Play (659,250)
Sound_Play (659,125)
Sound_Play (523,125)
Sound_Play (659,250)
Sound_Play (783,250)
Sound_Play (0,250)
Sound_Play (0,500)
PORTA = 0X00
case 1
PORTB.1 = 1
'MELODIA DE MONEDA
Sound_Play (987,250)
Sound_Play (1318,500)
Sound_Play (1318,1000)
PORTA = 0X00
case 2
PORTB = 0x00
PORTA = 0X00
end select
wend
end
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
C. Practica a realizar.
RETO
El código presentado en el ítem anterior es un ejemplo el cual se modificará para crear nuestra
melodía (STAR WARS), la cual consiste en buscar la frecuencia y el tiempo necesario para
producir nuestra melodía.
El programa PICKIT2 nos ayuda a grabar en el PIC el archivo hexadecimal generado por el código
creado en MikroBasic.
c) Tras realizar esto el programador nos otorgara información sobre el tipo de PIC y se
habilitara el botón Read que nos servirá para leer la memoria del PIC, el botón Write el
cual una vez cargado el programa deseado en el buffer del software nos servirá para
proceder a programar nuestro PIC, el botón Verify sirve para verificar el PIC conectado, el
botón Erase nos sirve para borrar la memoria del PIC y dejarlo en blanco.
e) Una vez realizado esto podremos observar que el código se cargó correctamente y
procedemos a pulsar el botón Write para grabar el PIC.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
5 DESARROLLO
SIMULACION EN PROTEUS 8
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
PARTE B
RETO
Realizar el código de la melodía STAR WARS EN MICRO BASIC PRO FOR PIC
El código presentado en el ítem anterior es un ejemplo el cual se modificará para crear nuestra
melodía (STAR WARS), la cual consiste en buscar la frecuencia y el tiempo necesario para producir
nuestra melodía.
PARTE B:
Código del programa MikroBasic Pro For PIC:
SIMULACION EN PROTEUS 8
1) ¿CUALES SON LAS LIBRERIAS QUE SE UTILIZAN EN MIKROBASIC PRO FOR PIC
PARA GENERAR UNA MELODIA? DESCRIBA.
MikroBasic PRO for PIC proporciona una biblioteca de sonidos para proporcionar a los usuarios
las rutinas necesarias para la señalización de sonido en sus aplicaciones. Esta librería son las
siguientes:
Sound_Init (PORTC, 3)
Configura el pin MCU apropiado donde se emitirá el sonido. en este caso en el puerto b del
microcontrolador.
PARAMETROS:
snd_port: dirección del puerto de salida de sonido
snd_pin: pin de salida de sonido
EJEMPLO: Sound_Init (PORTC, 3) 'Inicializar sonido a RC3
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
Rango de frecuencia que se utilizó en la melodía de Mario Bros fue de 0 hasta 1046.
Rango de frecuencia para el reto que fue la melodía de star wars utilizamos un rango de frecuencia
de 349 al 880. En la tabla de frecuencia antes vista se puede observar que se está trabajando con
la cuarta y quinta octava.
Nota
Al utilizar la melodía de star wars pudimos notar que la frecuencia de cero presenta también un
tono es por esto que para darle un tiempo de retardo se debe utilizar el delay.
Esta practica tuvo como fin realizar la melodía de star wars en las cuales se utilizó la librería
Sound_Init y Sound_Play de MikroBasic y las diferentes frecuencias y tiempo de duración que
componen cada nota de la melodía antes mencionada, además se utilizó para su implementación
un Buzzer, resistencias, el pic 16f887, protoboard el quemador y pulsadores, mediante los
pulsadores se pudo escuchar la melodía de star wars y comprobar el correcto funcionamiento de
la practica realizada.
.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
6 CONCLUSIONES
CONCLUSIONES
Esta práctica tenía como objetivo programar melodías o tonos con la ayuda del software
MikroBasic Pro For Pic para ello utilizamos pulsadores para apreciar la melodia propuesta
por el docente en este caso la de mariobross y star wars, y para la realización del código
utilizamos la librería sound.
La librería SOUND_PLAY nos ayuda a generar la nota que queremos escuchar. Tenemos
este ejemplo, Sound_Play (587, 250) es la nota musical RE, el valor de la izquierda es el
valor de la frecuencia que genera la melodía, el valor de la derecha es el tiempo de duración
de dicha nota musical. Es importante saber que si quieren una pausa en el audio no
coloquen Sound_Play (0, 250) porque se escuchará un ruido interno, lo mejor es escribir la
línea de código Delay_ms (250) y listo.
Realizar la simulación en MikroBasic como en proteus para comprobar que los resultados
sean los correcto y de esta manera al momento de realizar la implementación no tengamos
problemas es por ello que debemos conocer las características y debida conexión de cada
dispositivo a utilizar.
Para la generación de las notas musicales trabajamos con los valores de frecuencia de la
cuarta y quinta octava, los cuales utilizamos para la generación de las notas musicales y la
codificación de las instrucciones en MikroBasic Pro For Pic.
En la práctica se pudo observar y concluir que depende del pic a utilizar y la memoria del
mismo, ya que, con ambas canciones, como la de Mario bros y de star wars se ocupaba la
mayoría de memoria por ende el programa no se ejecutaba y producto de eso salía error,
como solución pudimos agregar un pequeño sonido al primer botón y al segundo botón
añadirle la música de estar wars como se pedía en el reto.
Al utilizar un circuito con varios elementos, se procede a poner como fuente un Arduino uno
para la suficiente corriente y alimentación de la práctica.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES
7 BIBLIOGRAFIA
http://www.academia.edu/4481639/GUIA_DE_PRACTICA_9_USO_DE_BUZZER_Y_TECLADO_
CON_MICROCONTROLADORES_-_IDETEC
http://opironelectronics.blogspot.com/2013/02/primeros-pasos-con-un-buzzer.html
http://es.wikipedia.org/wiki/Zumbador
8 ANEXOS
PARTE A y reto
Figura 2 utilizamos el quemador PICKIT 2 para pasar el código de la melodía de star wars realizada
en el programa MikroBasic al pic.