Autor Tema: Ayuda con proyecto: bateria electronica.  (Leído 3502 veces)

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

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Ayuda con proyecto: bateria electronica.
« en: 24 de Abril de 2008, 18:45:36 »
Hola, buenas tardes...les cuento de que trata el proyecto.
Hace un tiempo diseñe una caja de ritmos/bateria electronica o como le conozcan y ahora queria poder grabar presets.
Consta de un secuenciador de 16 pasos controlado por 16 switch y los circuitos analogicos/digitales para producir los diferentes sonidos.
La idea es guardar los estados de los (64!) switch en un pic, con solo presionar un boton, y poder acceder a dicha informacion despues de apagado el equipo. Esa serie de 64 bits es un "pattern", y seria bueno poder guardar cuantos mas fueran posibles, podiendo seleccionarlos en cualquier momento.
Basicamente y resumiendo, mi problema es ese: guardar bloques de 64 bits en una memoria y poder leerlos.
Lamentablemente estoy muy verde con esto de los pics, y necesitaria una mano para poder hacer funcionar esto.

Muchisimas gracias y seguire investigando en el foro que es genial.
Saludos.
 :P

Desconectado jfmateos2

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Ayuda con proyecto: bateria electronica.
« Respuesta #1 en: 25 de Abril de 2008, 02:45:05 »
Bienvenido nicola.

Te voy a decir cómo lo afrontaría yo, aunque tampoco soy un experto  :(:

Aunque existen PICs con más de 64 entradas, quizás te resultase más complicado/caro programarlos que eligiendo un PIC más modesto y ampliándolo con expansores I2C.

Yo colocaría varios de estos expansores (http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=11034&mid=11&lang=en&pageId=79) en cascada (con 4 tendrías 64 entradas) y los conectaría a un PIC con comunicación I2C por hardware. Si no tuvieras suficiente con la memoria del PIC, le colocaría una memoria externa EEPROM SPI (pues ya tienes el I2C ocupado), y listo.

No obstante, tendrías que dar más datos, ¿qué tensiones tienen esos estados?

En lugar de los expansores I2C también podrías recurrir a modestos 74LS165, que cumplen la misma misión pero con una comunicación serie que tendrías que implementar tú mismo.

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: Ayuda con proyecto: bateria electronica.
« Respuesta #2 en: 25 de Abril de 2008, 20:33:51 »
Gracias por responder jfmateos!
Estoy viendo estos integrados q me recomendaste I2C...parecen ser lo que necesito pero tambien parecen ser complicados de usar  :(
Te cuento un poco mas de que se trata, los switch son simples: ponen un 1 o un 0 en la entrada de control de un 4016 (cuadruple llave bilateral) que se usan para dejar pasar o no la señal de clock hacia las EPROM que contienen los sonidos grabados.
Tengo 4 sonidos con 16 switch cada uno, lo q da una matriz de 16x4.
Tendria que escanear los estados de esos 64 bits (4 palabras de 16 bits) y pasarlos de paralelo a serie (no entendi como utilizar el I2C, pero con viejos 74LS todo se puede) asi poder guardarlos en el pic. Y despues poder volver de serie a paralelo todos los datos.

La verdad estoy bastante en bolas con todo esto ya que es la primera vez que me meto en algo analogico/digital, pero no quiero desistir...estoy podrido de cambiar a mano los switch. No se imaginan lo que es mover 64 llaves en un recital  :( :( :(

muchisimas gracias por tu ayuda!

 

Desconectado jfmateos2

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Ayuda con proyecto: bateria electronica.
« Respuesta #3 en: 26 de Abril de 2008, 04:57:03 »
No sé si te acabo de entender Nicolo: tú lo que quieres es configurar con la mano los 64 interruptores, luego pulsar un botón y que su estado quede almacenado en un PIC y, por último, que al pulsar otro botón esos estados se apliquen a las puertas de entrada de los 4016 independientemente de cómo estén configurados realmente los 64 interruptores en ese momento.

¿es así?

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: Ayuda con proyecto: bateria electronica.
« Respuesta #4 en: 26 de Abril de 2008, 13:50:33 »
Has leido mi mente!  :o
Igual cuando digo switch no son llaves sino pulsadores, con un flip flop D cada uno.

gracias

Desconectado jfmateos2

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Ayuda con proyecto: bateria electronica.
« Respuesta #5 en: 27 de Abril de 2008, 05:34:00 »
Bien nicola, te cuento cómo lo haría yo:

Cortaría la conexión actual entre los switch y los 4016 para intercalar entre ellos lo siguiente:

* Del lado de los switch colocaría varios buffer parallel-in/serial-out en cascada del tipo 74ls165.
* La salida de esta cascada la conectaría a un pin del PIC, que se encargaría de registrar su estado y almacenarlo. Los PIC tienen 256 bytes de EEPROM, de modo que podrías guardar hasta 32 combinaciones de 64 bits. Si no fuera suficiente memoria, podrías recurrir a una memoria externa EEPROM, bien I2C o bien SPI.
* En otro pin del PIC colocaría una cascada de 74ls595 (serial-in/parallel-out) que mediante sus salidas controlarían los4016.

Después ya sólo quedaría añadir al pin pulsadores para grabar la configuración de switchs actual, elegir la configuración que queremos reproducir, ...

De este modo tendrías independizados los switchs de los 4016, y sería el programa del PIC el que decidiría cuándo habría que mandar a los 4016 la configuración real de los switchs, y cuándo una de las configuraciones almacenadas.

¿Qué lenguaje piensas utilizar para programar el pic?

¿Podrías ponernos alguna foto/esquema de tu batería; parece muy interesante?


 

anything