Navegar / buscar

  • config

    Desarrollo web

    Desarrollo de aplicaciones web desde cero en php, html, css, javascript...

  • billing

    Wordpress

    Creación y maquetación de diseños, mantenimiento e instalación.

  • document-library

    Maquetación

    Maquetación de un diseño en HTML y CSS, respetando los estándares web.

  • finished-work

    Optimización

    Optimización de web para buscadores y mejora de posicionamiento en Google.

Probando una pantalla LCD con Arduino

Después de una cuentas semanas trasteando con mi Arduino Uno Rev. 3, aquí os traigo otra entrada en el blog para explicaros el funcionamiento de una pantalla LCD de 16×2 (16 caracteres y 2 columnas), la cual me venía cuando compré el Arduino.

Lo bueno de este LCD es que viene con un módulo soldado para la comunican en serie por I2C, así de esta forma nos ahorramos una buena cantidad considerable de pines.

Este display LCD está basado en el controlador HD44780 donde son necesarios 8 pines del Arduino para conectarlo y hacerlo funcionar, pero como ya he comentado, en este caso trae un módulo soldado para hacer la conexión por I2C, así de esta forma tan solo necesitaremos 2 pines más la alimentación a 5v.

I²C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit (Inter-Circuitos Integrados). La versión 1.0 data del año 1992 y la versión 2.1 del año 2000, su diseñador es Philips. La velocidad es de 100 kbit/s en el modo estándar, aunque también permite velocidades de 3.4 Mbit/s. Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados (Embedded Systems) y generalizando más para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.

La principal característica de I²C es que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. También es necesaria una tercera línea, pero esta sólo es la referencia (masa). Como suelen comunicarse circuitos en una misma placa que comparten una misma masa esta tercera línea no suele ser necesaria.

Las líneas se llaman:

SDA: datos
SCL: reloj
GND: tierra

Módulo I2C
Módulo I2C

Para hacer la conexión con el módulo I2C, la librería que viene por defecto en el IDE de Arduino no funciona por lo que necesitamos otra llamada LiquidCrystal_I2C, la cual la podemos descargar desde aquí abajo. Esta librería reemplaza la que ya viene con el IDE y según su creador dice que es mucho más rápida que la ofrecida por el IDE.

Una vez descargada la librería tendremos que copiarla y pegarla en la carpeta libraries, que se encuentra donde tengamos instalado el software de Arduino.

Conexionado de hardware

La conexión del LCD se queda de la sigueinte forma:

  • El pin GND del display al pin GND del Arduino.
  • El pin VCC del display al pin 5V del Arduino.
  • El pin SDA del display al pin analógico 4 del Arduino.
  • El pin SDL del display al pin analógico 5 del Arduino.

La dirección del displays es 0×27. Esta dirección se configura usando los pines 1, 2 y 3 del controlador I2C PCF8574.

Tabla de direcciones I2C para el controlador PCF8574.
Tabla de direcciones I2C para el controlador PCF8574.

El código

Y aquí esta el resultado:

LCD Arduino
LCD Arduino

Código para saber la dirección I2C

Como siempre pongo el código del sketch usado en mi cuenta de Github para que lo podáis descargar de forma fácil. Además se hacen sugerencias y modificaciones del código.

Fuentes: bookmark Wire bookmark I2C Scanner

Medidor de distancia con Arduino y sensor HC-SR04 (II)

Aprovechando la entrada anterior donde explicaba el funcionamiento de un sensor HC-SR04 he decidido modificar un poco el código para agregar unos les de color verde y rojo. Así cuando tengamos un objeto cerca se encenderá el rojo y cuando lo alejemos se encenderá el verde.

En este caso necesitaremos un Arduino Uno Rev 3, un led de color verde, un led de color rojo, dos resistencias de 220 ohmios. Para el que no lo sepa los colores de esta resistencia son rojo, rojo, marrón.

Como ya comenté en el post, como hacer un medidor de distancias con Arduino y un sensor HC-SR04, hace falta que nos bajemos la librería llamada Ultrasonic, descomprimirla y subirla a la carpeta libreries, que se encuentra donde hayamos instalado el Sketch de Arduino.

El sensor

Como ya sabemos, el sensor dispone de 4 patillas que las conectaremos de la siguiente forma: VCC a 5V, GND a GND, TRING y ECHO. Como vamos a usar el código del post anterior usaremos los mismos pines de Arduino que son  el TRING a la 7 y el ECHO a la 8.

El esquema

Una vez más os dejo el esquema realizado con el programa Fritzing, el cual es bastante visual y creo que de esta forma se entiende mucho más el como conectar los cables y demás componentes electrónicos.

Medidor de distancias con HR-SR04

El código

Como podéis ver el código es muy parecido al anterior, tan solo tenemos que usar dos pines más para los leds y crear un simple if para decir que si la distancia es menos a 10cm se encienda el led rojo y apague el verde y si es mayor que 10cm que haga lo contrario.

 

Ya sabéis que si tenéis alguna duda o queréis comentar lo que queráis respecto al código o al esquema lo podéis hacer mediante los comentarios de abajo.