Вы находитесь на странице: 1из 6

PIANO

TEMA:PIANO
OBJETIVO: Aprender a utilizar la librera de sonido de mikrobasic para poder realizar un piano.

DESARROLLO: Para poder realizar el piano debemos saber las frecuencias de las notas musicales en este caso hemos utilizado la frecuencias que estn de rojo en la siguiente tabla.

mikroBasic proporciona una biblioteca de sonido para suministrar a los usuarios con las rutinas necesarias para la sealizacin de sonido en sus aplicaciones. Generacin de sonido necesita hardware adicional, tales como piezo-altavoz. Library Routines Sound_Init Sound_Play

PIANO

Armamos el circuito en proteus, consta del PIC16F877A ,pulsadores ,resistencias y un parlante.

REALIZAMOS EL PROGRAMA EN MIKROBASIC

program piano sub procedure DOO() Sound_Play(552, 250) ' Frecuencia = 552Hz, duracin = 250ms end sub 2

PIANO

sub procedure RE() Sound_Play(588, 250) ' Frecuencia = 588Hz, duracin = 250ms end sub sub procedure MI() Sound_Play(660, 250) ' Frecuencia = 660Hz, duracin = 250ms end sub sub procedure FA() Sound_Play(698, 250) ' Frecuencia = 698Hz, duracin = 250ms end sub sub procedure SOL() Sound_Play(784, 250) ' Frecuencia = 784Hz, duracin = 250ms end sub sub procedure LA() Sound_Play(880, 250) ' Frecuencia = 880Hz, duracin = 250ms end sub sub procedure SI() Sound_Play(988, 250) ' Frecuencia = 988Hz, duracin = 250ms end sub sub procedure DOO1() Sound_Play(783, 250) ' Frecuencia = 783Hz, duracin = 250ms end sub main: ' Inicio de programa TRISB =%00000000 ' Configurar el puerto B komo salidas

PIANO

TRISC =%00000000 ' Configurar el puerto C komo salidas TRISD =%11111111 ' Configurar el puerto D komo entradas Sound_Init(PORTD, 3)

inicio: while TRUE if (Button(PORTC,5,1,1)) then ' Si se presiona PORTC.5 tocar DO DOO() Sound_Init(PORTD, 3) else if (Button(PORTC,6,1,1)) then ' Si se presiona PORTC.6 tocar RE RE() Sound_Init(PORTD, 3) else if (Button(PORTC,7,1,1)) then ' Si se presiona PORTC.7 tocar MI MI() else if (Button(PORTB,3,1,1)) then ' Si se presiona PORTB.3 tocar FA FA () else if (Button(PORTB,4,1,1)) then ' Si se presiona PORTB.4 tocar SOL SOL()

PIANO

else if (Button(PORTB,5,1,1)) then ' Si se presiona PORTB.5 tocar LA LA() else if (Button(PORTB,6,1,1)) then ' Si se presiona PORTB.6 tocar SI SI() else if (Button(PORTC,4,1,1)) then ' Si se presiona PORTC.4 DO1 DOO1() end if end if end if end if end if end if end if end if goto inicio WEND end. ' Final de programa

PIANO

CONCLUSIONES: La librera de sonido es muy importe para poder generar sonidos a diferentes frecuencias ,esto nos ayuda a tener un proyecto mas presentable con la opcin de implementar sonidos como algn tipo de alarma. Sound_Play(800,250), este comando nos sirve para escribir la frescuencia de nuestro sonido y el tiempo que deseamos que se demore. Sound_Play(Hz,t)

Cuando ponemos Sound_Init(PORTD, 3) este nos indica por que puerto nos va a salir el sonido, en este caso nos va a salir por el puerto D3. (Button(PORTB,5,1,1) esta es una funcin de la librera button que nos sirve para activar el puerto B5 si el botn se encuentra en 1logico

RECOMENDACIONES Es importante seguir estrictamente las conexiones mostradas para obtener una simulacin acertada segn el programa que se haya cargado al microcontrolador.. La instruccin WHILE(1) es recomendable utilizar cada vez que se requiera de un lazo infinito.

REFERENCIAS
http://www.mikroe.com/download/eng/documents/compilers/mikrobasic/pro/avr/help/button_li brary.htm http://www.mikroe.com/download/eng/documents/compilers/mikrobasic/pro/avr/help/sound_li brary.htm

Вам также может понравиться