Archivo de la etiqueta: Pantalla LCD

Material Curso IoT

Para hacer las prácticas y simular un ecosistema de IoT disponemos de hardware barato y muy accesible para cualquiera para poder utilizar en una prueba de concepto.

El material es en préstamo y se firmará una hoja de entrega de material.

20x Arduino Starter Kit (https://www.arduino.cc/en/Main/ArduinoStarterKit) que contiene un Arduino Uno, una serie de sensores y actuadores y diversos elementos electrónicos necesarios para realizar las prácticas y proyectos. Componentes:

10x Kit XBee( http://www.digikey.es/product-detail/en/digi-international/XKB2-AT-WWG/602-1550-ND/5271212) para desarrollo de aplicaciones con XBee. Datasheet: https://media.digikey.com/pdf/Data%20Sheets/Digi%20International%20PDFs/XBee_Arduino_Compatible_Coding_Platform.pdf. Compuesto por:

  • Arduino Leonardo-compatible
  • XBee shield XBee 802.15.4 modules
  • XBee breadboard adapters
  • XBee USB adapter
  • One 2-axis joysticks
  • Six pushbuttons
  • Solderless breadboards
  • Breadboard power supplies
  • 18 LEDs
  • 10kΩ potentiometers
  • Package of 330Ω resistors
  • 9 V batteries and battery clips
  • Micro USB cable
  • Mini USB cable
  • Bundle – jumper wires

20x Kits Raspberry Pi compuestos por:

Kit Wemos D1 mini

Módulos de comunicación:

Otros módulos:

Anuncios

Pantalla LCD I2C en Arduino

La pantalla tiene una retroiluminación de LED y puede mostrar dos filas con hasta 16 caracteres en cada fila. Puede ver los rectángulos para cada carácter en la pantalla y los píxeles que componen cada carácter. La pantalla es está diseñada para mostrar texto.

En este kit es necesario soldar el módulo adaptador I2C a display LED:

El controlador de LCD I2C es un dispositivo que nos permite controlar una pantalla a través del bus I2C, usando únicamente dos cables.

Esquema de conexión:

Más información de este módulo:

Instalar la librería LiquidCrystal_I2C del gestor de librerías. Más información https://github.com/marcoschwartz/LiquidCrystal_I2C

El Módulo adaptador LCD a I2C que usaremos está basado en el controlador I2C PCF8574, el cual es un Expansor de Entradas y Salidas digitales controlado por I2C. Por el diseño del PCB este módulo se usa especialmente para controlar un LCD Alfanumérico.

La dirección I2C por defecto del módulo puede ser 0x3F o en otros casos 0x27. Es muy importante identificar correctamente la dirección I2C de nuestro módulo, pues de otra forma nuestro programa no funcionará correctamente. Para identificar la dirección específica de nuestro módulo podemos utilizar un pequeño sketch de prueba llamado: I2C Scanner, el cual nos permite identificar la dirección I2C del dispositivo conectado al Arduino.

Instalar el siguiente código para hacer Hello World: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/08-Pantalla_LCD/HelloWorld/HelloWorld.ino

Instalar el siguiente código para hacer caracteres personalizados: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/08-Pantalla_LCD/CustomChars/CustomChars.ino

Instalar el siguiente código para hacer scroll del display: https://github.com/jecrespo/Arduino-Kit-China-Guide/blob/master/08-Pantalla_LCD/scrollDisplay/scrollDisplay.ino

Display LCD

Como ejemplo de periférico para Arduino, uno muy utilizado es el display LCD que permite mostrar información al exterior sin tener que estar conectado a Arduino por USB.

Ejercicio: La bola de cristal. Hacer que cada vez que mueva Arduino, detecte el movimiento con el tilt sensor y devuelva por la pantalla LCD una respuesta aleatoria.

Hacer que también funcione la bola de cristal al usar el puerto serie. Hacer una pregunta por el puerto serie, que se muestre la pregunta en la pantalla LCD y luego a los 5 segundos responda por la pantalla LCD y por el puerto serie.

Librería LCD: https://www.arduino.cc/en/Reference/LiquidCrystal

Tilt Sensor: https://www.arduino.cc/documents/datasheets/TiltSensor.PDF

LCD display: https://www.arduino.cc/documents/datasheets/LCDscreen.PDF

Conexiones:

 

Esquema eléctrico:

Los LCD tienen un interfaz paralelo, lo que significa que debe manipular varios pines del interfaz simultáneamente: RS, RW, Enable pin y data pins.

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio23-LCD

Ejercicio: Controlar en qué dirección se mueve el display.

Solución: http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection

Práctica: Display LCD

Ejercicio: Ejemplo 11 del libro de prácticas, la bola de cristal. Hacer que cada vez que mueva Arduino, detecte el movimiento con el tilt sensor y devuelva por la pantalla LCD una respuesta aleatoria.

Mejora: Hacer que también funcione la bola de cristal al usar el puerto serie. Hacer una pregunta por el puerto serie, que se muestre la pregunta en la pantalla LCD y luego a los 5 segundos responda por la pantalla LCD y por el puerto serie.

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio23-LCD

Ejercicio: Controlar en qué dirección se mueve el display.

Solución: http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection

Esquemas:

EXTRA:

Ejemplo: Ejemplo de las zapatillas de John Luck:

El arduino que va montado y se ve en la foto, que vale 9.95$:https://www.sparkfun.com/products/11113

El modulo bluetooth, que vale 34.95$: https://www.sparkfun.com/products/12580

El sensor: https://www.sparkfun.com/products/10293, que vale 1.5$, posiblemente no sea este puesto que sería necesario un sensor con mucha más sensibilidad.

El resto  de elementos posiblemente sean para adaptar la señal del sensor piezo eléctrico y cargador de batería