Autor Tema: Sonido en el PIC  (Leído 8523 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Sonido en el PIC
« en: 09 de Abril de 2008, 20:04:29 »
Alguien ha utilizado el metodo de BTC para reproducir sonidos con el pic? Los ejemplos que da el autor son de assembler (que para mi es chino).

He usado los integrados de ISD que andan muy bien, pero aqui estos integrados NO SE CONSIGUEN MAS... y si se consiguen salen mas de el doble que un pic de 18F.... que para hacer un pequeño sonido no se justifica para nada...

Para los que no esten familiarizados con el algoritmo BTC les dejo el link.

http://www.romanblack.com/picsound.htm

Saludos!! :g)

Desconectado manutek

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 555
Re: Sonido en el PIC
« Respuesta #1 en: 09 de Abril de 2008, 22:18:49 »
Hola linda, la versión 2 del programa lo deja en forma de una tabla, los valores de retorno van de arriba y hacia abajo y tendrías que hacer un registro de desplazamiento Con cada valor de la tabla, por mi parte no savia de este programita, muy útil, me voy a poner a desarrollarlo con un PIC, si te interesa luego te lo pongo en c hi-tech :mrgreen:
No es la conciencia del hombre la que determina su ser, sino, por el contrario, es su ser social el que determina su conciencia

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Sonido en el PIC
« Respuesta #2 en: 10 de Abril de 2008, 01:15:06 »
yo lo utulice pero el sonido no me salio muy bueno que digamos, supongo que seria porque no le implemente filtrados ni nada por el estilo, era una alarmita que emitia el sonido de tarzan jajajaj  :mrgreen:
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #3 en: 10 de Abril de 2008, 01:54:46 »
jajaaaaa!!! de tarzan!!! muy original jaja, lo hiciste en CCS? esoty buscando algun ejemplito, si tienes algo te lo agradeceria mucho!.

Creo que voy a implementarlo con eeprom 24lc32 y una salida con filtro RC como esta en la pagina del algoritmo BTC. No necesito de gran calidad asique creo que iria bien.

Lo que todavia no he aprendido es como grabar los datos directamente en la eeprom usando el GTP-USB por ejemplo

saludos! gracias por la ayuda :g)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Sonido en el PIC
« Respuesta #4 en: 10 de Abril de 2008, 03:03:22 »
Es bien sencillo. Abres Winpic800, seleccionas tu memoria en los desplegables, escribes (o abres fichero) el contenido que quieres programar, colocas el chip en el zócalo en su postura (puedes verlo con Ctrl-Alt-Z) y le das al botón de Programar.

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #5 en: 10 de Abril de 2008, 04:07:21 »
Gracias nocturno! ahora voy a ver si me sale

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Sonido en el PIC
« Respuesta #6 en: 10 de Abril de 2008, 15:01:02 »
mmm  sugiero que agregues esa parte del codigo en ASM dentro del CCS con los #asm y #endasm, pues el codigo del btc es muy exacto y el compilador puede insertar algunos comandos extras. saludos.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #7 en: 11 de Abril de 2008, 20:14:31 »
Lo que pasa es que el programa genera una tabla con los bytes dependiendo la duracion del sonido y por lo general nunca entra dentro de la eeprom del pic. Por lo que creo que hay que guardar los datos en una memoria externe e ir leyendo de a uno los bytes para reproducir el sonido.

Por ejemplo... un sonido de 1 segundo ocupa unos 545 bytes. Planeo reproducirlo con un F88 que tiene solo 256 bytes en la eeprom.


Desconectado manutek

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 555
Re: Sonido en el PIC
« Respuesta #8 en: 12 de Abril de 2008, 01:39:42 »
bue,eso si, para eso abria que realizar un programita en VB manejando caracteres que los sacaria del asm o el C que genera el programita y luego concatenarlo para ponerlo en una memoria
No es la conciencia del hombre la que determina su ser, sino, por el contrario, es su ser social el que determina su conciencia

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #9 en: 14 de Abril de 2008, 23:23:44 »
Micro_cadaver, podrias postear el codigo de tu alarma de tarzan? he estado probando (y mucho) y no puedo hacer que reproduzca sonidos decentemente... solo ruido.
Esoty usando un 16F88 con una memoria 24LC32. Esta la cargo con un hex donde esta el sonido genrado por el programa de Roman Black.  Pero solo escucho ruido  :?


gracias!

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Sonido en el PIC
« Respuesta #10 en: 15 de Abril de 2008, 01:17:01 »
ok agustina, pero dejame buscarlo porque lo hice hace años antes de conocer el ISD. saludos :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #11 en: 15 de Abril de 2008, 03:30:24 »
Muchas gracias micro_cadaver.  He estado PELEANDO todo el fin de semana con esto y no logro hacerlo bien. Ya no se si es el harware o software. Cargo distintos sonidos para probar y al parecer reproduce "algo" distinto cuando cambio el sonido guardado en la eeprom... pero no se entiende.

Muchas gracias! :mrgreen:

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #12 en: 16 de Abril de 2008, 01:59:42 »
esta es la rutina que uso actualmente... no se ya que hacer  :( porque no puedo hacerlo andar!  :x :x :x


Código: [Seleccionar]
void audio_out()
{
indice=0;

while(indice!=4096)
   {
   
   dato_memoria=read_ext_eeprom(indice);
   
   
   bit_dato=bit_test(dato_memoria,0);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,1);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,2);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,3);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,4);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,5);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,6);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   bit_dato=bit_test(dato_memoria,7);
   output_bit(PIN_B1, bit_dato);
   delay_us(14);
   
   indice++;
   }     
     
     


return;

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Sonido en el PIC
« Respuesta #13 en: 16 de Abril de 2008, 02:37:32 »
otra vez yo  :P

el programa de Roman Black graba los datos desde el MSB al LSB... y los estaba reproduciendo desde el LSB al MSB jejeje  :mrgreen:


Gracias por todo! Si quieren seguir aportando sera bienvenido! ahora esoty tratando de mejorar la calidad del sonido ya que se escucha permanentemente un "silvido" bastante molesto...

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Sonido en el PIC
« Respuesta #14 en: 16 de Abril de 2008, 16:26:04 »
hola, uff menos mal te salio porque no encontraba el codigo que hice  :mrgreen: , hasta ahi llegue con el ruido molesto, intenta ponerle filtros.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com


 

anything