TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: raptor en 31 de Mayo de 2006, 08:49:00
-
hola. no se si me equivoque en haber escrito un correo en todo sobre microcontroladores haciendo una pregunta referente a hacer musica con un pic 16f84, pero si estoy equivocado por favor hagánmelo saber,
alguíen tiene alguna información sobre esta pregunta de hacer musica con un pic pienso en ponerle algun transistor y active alguna bocina pequeña igual puedo estar equivocado y esto no sea de lo mejor, pueden ayudarme.....creo que si y gracias por el empujón, si tienen algun ejemplo didáctivo o un esquema se los agradeceré
-
Hola:
aqui tienes un ejemplo de la misma ayuda de Proton:
' Star Trek The Next Generation...Theme and ship take-off
DEVICE 16F877
XTAL = 4
DIM LOOP AS BYTE
SYMBOL PIN = PORTB.0
THEME:
SOUND PIN, [50,60,70,20,85,120,83,40,70,20,50,20,70,20,90,120,90,20,98,160]
DELAYMS 500
FOR LOOP = 128 TO 255 ' Ascending white noises
SOUND PIN, [LOOP,2] ' For warp drive sound
NEXT
SOUND PIN, [43,80,63,20,77,20,71,80,51,20,_
90,20,85,140,77,20,80,20,85,20,_
90,20,80,20,85,60,90,60,92,60,87,_
60,96,70,0,10,96,10,0,10,96,10,0,_
10,96,30,0,10,92,30,0,10,87,30,0,_
10,96,40,0,20,63,10,0,10,63,10,0,_
10,63,10,0,10,63,20]
DELAYMS 10000
GOTO THEME
con respecto a lo del circuito esta bien.
Suerte...!!! :mrgreen:
-
PERDON LORdLAFEBRE, el pic del ejemplo es el 16f84? porque veo que tiene en las instrucciones 16f877,
para serte muy claro no se como hacer el circuito, me puedes sugerir como hacerlo, osea, la bocina de que valor me la recomiendas, en donde me sugieres conectarme en el pic, lo puedo hacer con un cristal de cuarzo?
perdón por las preguntas, pero ustedes ya estan muy encarrilados en estoy yo estoy aprendiendo a gatear
-
Hola:
Te aclora lo siguiente, porque veo que andas muy cofundido, ademas vi que posteaste algo similar en otro foro, ese codigo que te pase esta en BASIC, si entiendes ese lenguaje y en especial proton o PBP es facil cambiar el microcontrolador y la frecuencia a la que quieres que trabaje, solo cambias el pic en donde esta device, en tu caso tendrias que ponerlo DEVICE 16F84 y nada mas, el circuito para el parlante lo puedes utilizar con cualquier pin del pic y poner un buzzer o un parlante, uno de 8 ohm por ejemplo.
-
gracias por tu ayuda y tus sugerencias lo intentaré y referente al post en otro lado del foro no lo hice por mala onda, solo que en este foro vi que hacian alución a un ejemplo de musica con un pic y ya había escrito el otro en el otro foro charly29 me reclamo lo mismo pero como no ssabia que ustedes pueden ver todos los menzajes yo pense que hay alguien de los moderadores de planta en algún foro en especial, además no sabia en que apartado del foro hacer mi pregunta. te agradezco el comentario referente a ello muchos de los usuarios no sabemos que onda pero tampoco lo hacemos con el fin de crearles algún problema
-
Hola:
raptor, no son reclamos lo que hacemos, son solo sugerencias para llevar el foro de una mejor manera, no lo tomes a mal, es solo que con un poquito de orden ganamos todos, tu para que te respondan y nosotros para poder ayudar en lo que podamos...
un abrazo :mrgreen:
-
Hola.
Hey LordLafebre, ¿conoces algún lugar donde tengan canciones asi?
Es decir, que estén ya con notas para que uno las convierta al formato del Sound del PBP.
Algo asi como el código que pusiste.
Gracias de antemano.
-
Hola:
Pues lamentablemente no lo se, eso lo saque de la ayuda, pero me parece que en los archivos de ejemplo hay una o dos canciones mas, no recuerdo bien. :mrgreen:
-
Esta bien.
Gracias.
-
Hola, alguna vez hice lo que buscas pero en CCS, lo intente en Basic pero no llegue a hacerlo (no creo que sea muy dificil) tambien se que lo han hecho en Asembler, si puedes revisa este hilo... ahi puedes encontrar mucha informacion al respecto.
http://www.todopic.com.ar/foros/index.php?topic=2250.0
Nos vemos :mrgreen: :mrgreen: :mrgreen:
-
Gracias Artifox.
Voy en la página 4 y al parecer se ve muy completo (en C y ensamblador).
Trataré de leer todo el tema y provaré con la función SOUND del PBP.
Gracias.
-
Saludos a todos.
Compadres he estado leyendo este tema y quisiera que porfavor me ayudaran tambien. Estoy tratando de utilizar esta instruccion pero no me ha funcionado aqui les pongo el codigo, la intruccion button ya a prove y funciona pero cuando intento simular en MPLAB este programa, me sale un error, picbasic genera un llamado a una etiqueta (noise) que no aparece en ninguna otra parte del programa. y cuando lo monte, el pic no hace nada. Agradesco su colaboracion.
'Device=16f84
'xtal=4
define button_pause 0
trisa=255
trisb=0
B0 var byte
portb=0
Main:
B0=0
button porta.1,0,0,0,B0,1,sonido
goto main
sonido:
sound portb.3,[100,50]
GOTO Main
end
-
Hola.
Mira, yo no he usado el 16F84.
No se si tenga convertidores analógicos digitales. Si los tiene, creo que debes configuar el ADCON1 para hacer entradas digitales o analógicas.
En el código que presentas no estás haciendo eso, no he visto si la hoja de datos del 16F84 tiene A/D y no puedo verlo aquí porque esta máquina no tiene instalado el acrobat (es de la escuela y no puedo bajar nada).
Revísalo y luego respondes.
-
El 16F84 no tiene ADC. Si los necesitas, y quieres un micro con el mismo patillaje, puedes utilizar un 16F88.
-
Saludos,
Amigos no tenia ni idea que tenia que utilizar el conversor A/D del pic. Como lo han dicho el 84 no tiene, pero tambien tengo un 877 que si. La pregunta ahora es como lo configuro?, podrian poner un ejemplo?, y por que hay que hacerlo?.
Estoy aprendiendo picbasic con un manual que descargue en la red que me parecio muy bueno, pero parece que no todo es tan facil como lo muestran en el manual :( Incluso los programas ejemplo tinen sus errores, creo yo que lo hacen a proposito para no dar todo tan masticado :lol:. Pero bueno, con tropesones pero hay voy aprendiendo...
Gracias por su colaboracion
Que Dios los bendiga.
-
Hola.
Mira Jmedina:
Necesitas configurar el hardware del convertidor para que puedas usar el puerto ya sea como todo digital o, usar parte (o todo) el puerto como analógico.
Alguna vez utilicé la instrucción BUTTON y funcionó pero como la estás utilizando te recomiendo que le hagas caso al manual:
Be sure that BUTTON_PAUSE is all in upper case.
In general, it is easier to simply read the state of the pin in an IF..THEN than to use the BUTTON command as follows:
If PORTB.2 = 1 Then notpressed
En tu código tienes button_pause en minúsculas, deben ser mayúsculas.
Si solamente quieres que se ejecute el código cuando se presione, utiliza el IF/THEN (es más sencillo).
Otra cosa que pudiera ser (a mi me ha pasado) es que esa terminal del µicro no esté funcionando. Yo pasé por una insufrible agonía tratando de entender el código de mi programa para poder encontrar el por qué no funcionaba. Decidí mover la salida de una terminal a otra y jaló.
Prueba moviendo todo al puerto B.
Espero que esto te ayude.