El Arduino y el 74HC595

Un ejemplo algo más avanzado: pequeña aplicación web donde el usuario introduce un número del 0 al 255. El número se envía al Arduino y éste lo convierte a binario e ilumina los Leds correspondientes valiéndose de un 74HC595.

Las mejoras respecto al ejemplo anterior son importantes:

  • La comunicación se sigue realizando por el puerto COM2 y mediante fopens. Para conseguir estabilidad en la comunicación entre la aplicación web y el Arduino, lo mejor es realizar los siguientes pasos: subir el código al Arduino, abrir el Serial Monitor Tool, cerrarlo sin hacer nada y utilizar el .php.
  • En este ejemplo, las variables se pasan del .php al arduino mediante una cadena de texto (powered by @crazystress). El Arduino se encarga de coger los trocitos de la cadena que le interesa y de procesarlos.
  • Para minimizar puertos del Arduino, se utiliza un 74HC595. Este circuito integrado es un registro que permite convertir los datos que se envían por una de sus patas (serie) en 8 salidas independientes (paralelo). Interesante avance ya que los 74HC595 son la clave para controlar las matrices de leds.

Primero el circuito. Primero destacar los 3 puertos que se utilizan para controlar el 74HC595: Data, Latch y CLK. Una combinación de estos puertos es la que permite enviar datos al circuito integrado. Las patas Q0 a Q7 son los pines de salida (recordar que este circuito convierte datos serie en paralelo). Estos pines de salida irán conectados a la pata + del led, mientras que la pata – irá conectada a una resistencia y de ahí a tierra. Reutilizando el circuito que se muestra en ardx.org/CIRC05:

Arduino - ejemplo 2 - esquema 74HC595

Sobre los códigos destacar en el código del Arduino la función que convierte directamente el entero a binario utilizando el 74HC595, aunque esta función no podremos reutilizarla para el uso de matrices de leds.

Como en el ejemplo anterior y para terminar, el enlace con los archivos fuente.