Presentación y pequeña duda.

Hola a todos desde hace poco me he "metido" en este fantástico mundo de Arduino. Ya he hecho mis primeros "pinitos" y la verdad con muy buen resultado (gracias a toda la información que he podido recopilar por aquí)

Pero no todo podía ser tan fácil y como buen "novato" tengo una pequeña duda.

Tengo un proyecto montado con 4 displays de 7 segmentos los cuales los utilizo para mostrar datos relativos a un juego de coches. Hasta ahora todo bien, pero quiero ir más allá y necesito añadir unas cuantas entradas analógicas. Lo he intentado con las mismas que uso para la salida hacia los displays, pero claro está , cuando pulso un botón pues interfiere en la visualización mostrando o eliminando un segmento de cada uno de los displays.

Mi pregunta es: existe alguna manera (seguramente la desconozco) de poder utilizar los mismos pines de salida como entrada sin que se me vea afectada la visualización, deciros que el montaje es similar al que aparece en Indaltronia sobre controlar 4 displays de 7 segmentos (gracias por la fantástica ayuda) Gracias a todos de antemano

¿Usas las entradas analógicas para controlar los displays?, es que no se a que "montaje de indaltronia" te refieres. Si pusieras un link...

Perdona por no ser tan específico.

No,utilizo las digitales.... ahora que si puedo ponerte el link, es el siguiente: http://www.indaltronia.com/2009/07/controlar-4-displays-de-7-segmentos-con-arduino/

Te sugiero que veas el I2C-ADC que estoy utilizando en MiKuadricoptero. http://sites.google.com/site/mikuadricoptero/home/8-componentes/7-23-i2c-adc

Suerte

Dices que necesitas añadir entradas analógicas. Pero es que este proyecto deja todas las entradas analógicas libres, ¿cual es el problema?.

Ups...... lo siento, estaba pensando en otra cosa... realmente necesito mas digitales, (perdonad por la confusión) y gracias por las respuestas

Puedes usar las analógicas como si fueran digitales. Si lees por debajo de 512 es un cero, por encima un uno.

Lo se, pero el problema es que necesito bastantes..... por ahí encontré un enlace para hacerlo con resistencias para cada pulsador y según el valor es una pulsación de un botón u otro.

Este es un circuito de expansión de Puertas Digitales

http://yhst-27389313707334.stores.yahoo.net/i2c16gpex.html

El funcionamiento/comunicaciones es equivalente al que he analizado en mi proyecto. http://sites.google.com/site/mikuadricoptero/home/8-componentes/7-23-i2c-adc

Si quieres algo fácil y barato [Bricogeek (1,5 euros); Amidata (0,6 euros); ... ]

http://www.arduino.cc/en/Tutorial/ShiftOut

Puedes controlar los display de 7 segmentos usando 74HC595 y quedarte los pines del micro para Inputs. Usando 3 pines, podrás ampliar a todas las salidas que quieras.....

Te recomiendo pasarte por el Playground de Arduino, ya que existe mucha info.... ;)

Ej usando displays de 7 segmentos: http://www.electro-tech-online.com/electronic-projects/95635-arduino-displaying-temperature-via-74hc595s-7-segs.html

Acerca lo que dijo Javier:

Puedes usar las analógicas como si fueran digitales. Si lees por debajo de 512 es un cero, por encima un uno.

Las entradas analógicas, puedes usarlas cómo I/O digitales sin necesidad de ADC. Véase: http://www.arduino.cc/en/Tutorial/AnalogInputPins

Pin mapping

The Arduino pin numbers corresponding to the analog pins are 14 through 19. Note that these are Arduino pin numbers, and do not correspond to the physical pin numbers on the Atmega chips. The analog pins can be used identically to the digital pins, so for example, the code would look like this to set analog pin 0 to an output, and to set it HIGH:

pinMode(14, OUTPUT); digitalWrite(14, HIGH);

Es decir, si no necesitas entradas analógicas en tu montaje, puedes usarlas como GPIO. Con ésto, a lo mejor ya no necesitas más.....¿no?

Igor R.

Piensa que la solución de usar las entradas análogicas como multiples digitales usando resitencias de diferentes valores tiene te limita para detectar pulsaciones simultaneas.

Gracias Igor! a ver si en la tienda que tengo cerca de casa encuentro los integrados y lo pruebo.... Repito, muchísimas gracias.

Respecto a lo de las entradas analógicas, no serían pulsaciones simultaneas.

De nada!! ;)

Pero repito, puedes usar las entradas analógicas, como convencionales. Es decir, con digitalWrite, digitalRead,.... Pines 14 a 19

Puedes poner los pulsadores ahi y hacer un digitalRead, como si fuera una entrada normal.

Saludos

Igor R.

Ok, también lo probaré Saludos

Bueno, al final he encontrado al lado de casa el 74HC595 (la verdad muy bien de precio!!!) con lo que me he pillado 5 de ellos.

Ahora adaptaré lo que tengo para poder usarlo, teniendo en cuenta que el display es de un video viejo y que los segmentos son comunes a los 4 dígitos (es decir no son 4 , es 1 con 4, no se si me explicado).

Gracias a todos y a ver si me acaba funcionando.

Saludos.

Una forma facil seria http://arduinopark.blogspot.com/

Era una de las opciones que había pensado.... es mas ya he hecho alguna prueba, gracias igualmente.

Bueno finalmente he montado un circuito con 5 74HC595 y multiplexar las salidas.... resultado , todo perfecto! es más, me servirá para hacer otras cosas de mi proyecto que tenía pendientes...

Gracias a todos por vuestra ayuda!