Dudas iniciales

Buenas señores, soy nuevo por aquí, mi nombre es Carlos y me dedico al mundo de la automatización. Soy programador de PLCs.

Llevo algunas semanas dando vueltas y buscando información sobre arduino para un proyecto que deseo hacer a nivel particular y la verdad es que no acabo de ver claro algunos temas. Así que después de buscar mucho me he decidido a postear por aquí.

El tema es que mi aplicación necesita usar 7 entradas, una pantalla LCD y un sistema para reproducir mensajes grabados en audio.
Para este último tema he visto un shield que tiene buena pinta y que me permitiría reproducir archivos WAV grabados en una SD. Es este:
http://www.ladyada.net/make/waveshield/

En su faq ponen el siguiente texto:
"Pins 13, 12, 11 are always used by the SD card (they are the only pins that have a high speed SPI interface). Then there are 5 other pins used to talk to the DAC and SD card, but they can be set to connect to any arduino pin. However, by default, the library is configured to use pins 10 (for SD card) and pins 2, 3, 4 and 5 for the DAC. To chanage these pins requires modifying the library - the pins are referenced by their 'hardware' pin names (ie PORTD, etc) not by arduino pins.
That means pins 6, 7, 8, 9 and the 6 analog in pins (also known as digital i/o pins 14-20) are available"

Yo entiendo por este texto que usa 8 pins, en cambio, en el schematic que presentan parece que sólo use 3: http://www.ladyada.net/images/wavshield/v11/wave11schem.png

Mi duda es la siguiente: Voy corto de pins con el Arduino?
He visto que un LCD serie se puede llegar a conectar con 4 pins, más los 8 de este shield más los 6 de los botones más 2 leds, me voy a las 20 I/O.

Lo que me extraña es que este shield consuma tantos pins. Porque, ahí va otra pregunta básica, ¿cuando un shield usa un pin, ese pin ya no se puede usar más verdad?

En fin, a ver si me podéis echar una mano con este tema porque antes de comprar cualquier placa quiero asegurarme que podré hacer el montaje.

Gracias! :wink:

Carlos

Hola,

Podrías usar la version MEGA de Arduino y hacerle un "hack" a dicha shield ó usar otro dispositivo similar.
Digo lo de hacerle un hack, porque usa SPI y la version Mega no es compatible el pin-out en éste sentido.

Otra opción, podría ser usar VMUSIC de Vinculum. Puedes controlarlo via serie, por lo que es sencillo. La musica puedes grabarla en un USB, a parte de poder abrir/guardar archivos de texto (ejemplo,usarlo para guardar datos provenientes del micro).
http://www.vinculum.com/prd_vmusic1.html
Ej:
http://www.arduino.cc/playground/Main/VMUSIC
http://www.surplusgizmos.com/Vmusic2-Demo-with-Source-Code_ep_30.html

Tienes también multitud de placas genéricas para mp3, es cuestion de googlear un poco...

Te digo lo del Mega, por ir sobrado de pines y evitar tener que complicar el código para usar los mismos pines para diferentes cosas...
Tambien puedes poner un lcd serial, usar la shield de ladyada y un arduino diecimila.....

Tienes muchas opciones!!! :wink:

En mi opinion, lo más sencillo es usar VMUSIC, ya que se encarga de forma autónoma de reproducir la música, mejor calidad de sonido, liberas al micro, y se controla por serie.... asi que irás sobrado de pines con cualquier placa de Arduino....

A ver que dicen otros....

Saludos

Igor R.

Gracias Igor por tu respuesta, no había visto el VMUSIC. La verdad es que tiene buena pinta y parece simple de usar. El tema es que entonces tendría tanto el LCD como el VMUSIC usando el puerto serie. ¿Hay algún problema con ello? Es decir, ¿puedo usar los pins serie con dos dispositivos diferentes?
Respecto al LCD, ¿puedo usar cualquier LCD serie que use el chip HD44780, verdad?

Gracias, ya sabes que al principio son todo dudas :-/

Hola,

Los LCD basados en HD44780 no son serie. Por lo que puedes tener un lcd HD44780 y con el VMUSIC2 usando la UART serie.
Las versiones Mega de Arduino, tienen 4 UART. Aunque podr'ias hacer comunicaci'on serie por cualquier pin usando la librer'ia NewSoftSerial.

:wink:

Dos temas:

1 Comorrrrlll?? :o Segun he visto aquí http://www.bricogeek.com/shop/87-pantalla-serial-lcd-16x2-blanco-sobre-negro.html venden un LCD serie con el chip HD44780. Segun lo que explica sólo hacen falta 3 contactos para usar este LCD. ¿No serviría este?

2 Por lo que explicas entiendo que un pin serie sólo puede ser usado por un dispositivo serie, pero en cambio puedo transformar cualquier otro pin en serie, con lo que tema resuelto ¿no? Usaría el pin original para, por ejemplo, el audio, y otro pin transformado a serie para el LCD.

:-?

Si te fijas, ese LCD es basado en HD44780, pero dispone de un microcontrolador para convertirlo en serie (un PIC16F88).

Pero puedes controlar directamente dicho lcd (es mas barato que comprar uno serie). Mira este link:
http://www.arduino.cc/playground/Code/LCD

El microcontrolador ATMega328, que es el usado en la version Diecimila de Arduino, dispone de 1 UART (google para ampliar). Dicha UART viene linkada a los pines 0 y 1 de la placa. Pero a parte, puedes hacer comunicaci'on serie mediante c'odigo, sin usar hardware espec'ifico, por cualquier pin.
http://arduiniana.org/libraries/newsoftserial/

El microcontrolador ATMega1280 (version Mega de Arduino) dispone de 4 UART.

Efectivamente, podr'ias usar la UART para el Audio y dos pines para el LCD si lo eliges serie.

Puedes mirarte este link (pag 561): Programming Interactivity: A Designer's Guide to Processing, Arduino, and ... - Joshua Noble - Google Libros

:wink:

Efectivamente, podrías usar la UART para el Audio y dos pines para el LCD si lo eliges serie.

Entiendo que consideras ese LCD que he puesto como serie y que por tanto me permitiría usar un ATMega328.

Bueno Igor, gracias por tu ayuda y por tus links. Ahora toca comprar todo el material, leerme bien todos los links que me has puesto y... seguro volver con alguna pregunta ya de un nivel un poco superior.

[smiley=dankk2.gif] Again!