Muy bueno, lo voy a probar. Y para reproducir el sonido que me conviene usar?
el siguiente circuito
claro que al PIC le colocas su respectivo oscilador y la salida dependera de a donde la dirijas en los pines
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Muy bueno, lo voy a probar. Y para reproducir el sonido que me conviene usar?
Gracias, no lo habia visto
mm no encuentro mayor diferencia que el microcontrolador..
sera por mi computadora?.. la simulacion en proteus va lenta "due exesive CPU load"
sera esto el micro controlador?
Código:define xtal 4 device 16f84A 'tempo = 150 '60/150 = duracion de una nota negra 'redonda = 1600 'blanca = 800 'negra = 400 'corchea = 200 'semi corchea = 100 'Ejemplo del comando 'FREQOUT portb.0, 2000, 7200 sacar una frecuencia 'de 7,2 Khz durante 2 segundos por el Puerto B.0 start: 'primer compas Freqout portb.0, 400, 659 Freqout portb.0, 200, 493 Freqout portb.0, 200, 523 Freqout portb.0, 400, 587 Freqout portb.0, 200, 523 Freqout portb.0, 200, 493 'segundo compas Freqout portb.0, 400, 440 Freqout portb.0, 200, 440 Freqout portb.0, 200, 523 Freqout portb.0, 400, 659 Freqout portb.0, 200, 587 Freqout portb.0, 200, 523 'tercer compas Freqout portb.0, 400, 493 Freqout portb.0, 200, 493 Freqout portb.0, 200, 523 Freqout portb.0, 400, 587 Freqout portb.0, 400, 659 'cuarto compas Freqout portb.0, 200, 523 Freqout portb.0, 400, 440 Freqout portb.0, 800, 440 'quito compas pause 200 Freqout portb.0, 400, 587 Freqout portb.0, 200, 698 Freqout portb.0, 400, 880 Freqout portb.0, 200, 783 Freqout portb.0, 200, 698 'sexto compas Freqout portb.0, 400, 659 pause 500 Freqout portb.0, 200, 523 Freqout portb.0, 400, 659 Freqout portb.0, 200, 587 Freqout portb.0, 200, 523 'tercer compas Freqout portb.0, 400, 493 Freqout portb.0, 200, 493 Freqout portb.0, 200, 523 Freqout portb.0, 400, 587 Freqout portb.0, 400, 659 'cuarto compas Freqout portb.0, 200, 523 Freqout portb.0, 400, 440 Freqout portb.0, 800, 440 END
las pausas son los silencios, lo divido en compases para mejor lectura, no quise mandarme a escribir todas las octavas con el var y
ya probe tu codigo y funciona bien pero aun no entiendo como es que sacas esto
Freqout portb.0, 800, 440
si alguien me podria dar alguna ayuda se lo agradeceria mucho
es que quiero aprender para poder ponerle mas melodias a mi pic grax de antemano
ya corri el programa en mplab y si me lo compila lo que tengo duda es: que es lo que conectas una bocina o un buzzer y la otra duda es en donde lo conectas, yo etoy usando un pic16f877a que es basicamente de la misma famila pero no se donde esta la salida y como controlas los sonidos gracias
ola tengo un problema al momento de compilar el archibo
no se q pasa me sale un error en el basic ..si pudieran ayudarme
porq lo encuentro muy interesante este tema
'****************************************************************
'* Name : Programa de Producción de musica 2010: Tema 1 *
'* Author : [mecatrodatos *
'* Notice : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 28/07/2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
'-----------Inicializacion ---------
define OSC 20 ' Establece la frecuencia de operación del microcontrolador
'A 20 MHz.
TRISB = %11111000 ' Configura RB0 - 3 de PORTB como salida
PORTB = %00000000 ' Establece todos los pines en PORTB en Bajo (0 V).
' La variable "x" representa la octava nota. La longitud de tiempo que la
' corchea (x) es detereminada por el valor fijado en 200.
' Un cuarto de nota es dos veces una corchea o 2x.
x var Word
' Estas son las constantes que se utiliza para declarar las frecuencias Como señala.
'Por ejemplo los grupos de autoayuda representa Super G de alta que tiene una frecuencia de 1568 Hz.
shg con 1568
shef con 1244
shc con 1046
shbf con 932
shaf con 830
hg con 784
hf con 698
hef con 622
hd con 587
hc con 523
hbf con 466
haf con 415
g con 392
f con 349
ef con 311
d con 293
c con 261
bf con 233
af con 208
lg con 196
lf con 174
lef con 155
ld con 146
lc con 130
lbf con 116
laf con 103
slg con 98
slf con 87
slef con 78
sld con 73
slc con 65
'-------------programa principal------------
x = 200 ' Una nota de sesiones (x) será de 200 ms largo.
Pause 1000 ' Pausa 1000 ms antes de iniciar la generación de tonos.
' linea 1
FreqOut 1, x, g ' Usamos FreqOut Para generar un tono. 1 representa
'pin de salida RB1 en el PIC16F88. "X" simboliza la
'corchea. "G" se define como la frequecy 392 Hz.
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 4*x, ef
FreqOut 1, 4*x, d
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 4*x, ef
FreqOut 1, 4*x, d
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
'linea 2
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 3*x, d
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, x, af
FreqOut 1, 8*x, ef
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 2*x, hef
'linea 3
FreqOut 1, 2*x, hef
FreqOut 1, 4*x, hd
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 4*x, hef
FreqOut 1, 4*x, hd
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 2*x, hd
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
'linea 4
FreqOut 1, x, hbf
FreqOut 1, x, haf
FreqOut 1, 9*x, hef
FreqOut 1, 4*x, 0
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, x, c
FreqOut 1, x, d
FreqOut 1, 2*x, lg
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, 2*x, c
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, x, c
FreqOut 1, x, d
FreqOut 1, 2*x, lg
FreqOut 1, x, ef
FreqOut 1, x, d
'linea 5
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, 2*x, c
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, x, c
FreqOut 1, x, d
FreqOut 1, 2*x, lg
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, d
FreqOut 1, 2*x, c
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, x, hc
FreqOut 1, x, hd
FreqOut 1, 2*x, g
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, 2*x, hc
'linea 6
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, x, hc
FreqOut 1, x, hd
FreqOut 1, 2*x, g
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, 2*x, hc
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, x, hc
FreqOut 1, x, hd
FreqOut 1, 2*x, g
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hd
FreqOut 1, 2*x, hc
FreqOut 1, 2*x, hg
FreqOut 1, 2*x, shC
'linea 7
FreqOut 1, 2*x, shef
FreqOut 1, 4*x, shg
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 4*x, ef
FreqOut 1, 4*x, d
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 4*x, ef
FreqOut 1, 4*x, d
'linea 8
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, g
FreqOut 1, x, f
FreqOut 1, x, ef
FreqOut 1, x, c
FreqOut 1, 3*x, d
FreqOut 1, x, ef
FreqOut 1, x, d
FreqOut 1, x, c
FreqOut 1, x, bf
FreqOut 1, x, af
FreqOut 1, 8*x, ef
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 2*x, hef
'linea 9
FreqOut 1, 2*x, hef
FreqOut 1, 4*x, hd
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 4*x, hef
FreqOut 1, 4*x, hd
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hg
FreqOut 1, x, hf
FreqOut 1, x, hef
FreqOut 1, x, hc
FreqOut 1, 2*x, hd
FreqOut 1, x, hef
FreqOut 1, x, hd
FreqOut 1, x, hc
FreqOut 1, x, hbf
FreqOut 1, x, haf
FreqOut 1, 6*x, hef
End