Conectar TFT 1.8″ SPI con Arduino UNO

Posted on by

Prueba del TFT conectado a Arduino con el texto “Scidle.com”

Si estás pensando en hacer algún proyecto con Arduino UNO y necesitas ver datos sin tener que mostrarlos, a través de un puerto serie o USB en el ordenador, necesitarás una pequeña pantalla o display. Vamos a ver como usar un TFT de 1.8″ mediante SPI. No está diseñada para usarlo con un Arduino UNO por lo que sus puertos I/O no funcionan a 5V sino a 3.3V.

Lo que sí nos permite es alimentarlo a 5V, de hecho si quisiéramos alimentarlo a 3.3V para usarlo con un Arduino NANO o un Trinket 3V tendríamos que cortocircuitar la conexión JP1, para que no use el regulador de voltaje que alimenta tanto al TFT como a la Tarjeta SD. En este caso no usaremos la Tarjeta SD, pero igualmente funciona a niveles de 3.3V, aunque ya explicaremos su uso en otra entrada.

Reverso del TFT

Reverso del TFT

Pines del TFT:
  • Alimentación (VCC, GND): Por defecto hay que conectarlo a 5V, pero si cortocircuitamos JP1 lo tenemos que alimentar a 3.3V.
  • TFT – I/O (RESET, AO, SDA, SCK, CS): Funcionan a niveles lógicos de 3.3V a 0V.
  • Tarjeta SD – I/O(SCK, MISO, MOSI, CS):  Funcionan a niveles lógicos de 3.3V a 0V.
  • Retroiluminación(LED+, LED-):  Debemos conectarlo a 3.3V(LED+) y a 0V(LED-), pero de esta forma no podremos regular la intensidad. Una buena forma sería usar un circuito con un transistor controlado mediante PWM , de manera que variando el ciclo de trabajo dará la sensación de una variación en la intensidad de la luz, cuando en realidad se está apagando y encendiendo varias veces por segundo, según la frecuencia que elijamos.
Pines del 74HC245

Pines del 74HC245

Para poder conectarlo a el TFT a un Arduino UNO tendremos que cambiar los  niveles 5V a 3.3V con un 74HC245.

Antes de conectarlo debemos ver que configuración tenemos que usar en el 74HC245. Hay que tener en cuenta que An en es puerto de 3.3V y Bn el puerto de 5V. Además el máster del SPI será Arduino UNO por lo que Bn tendrá que ser la entrada y An la salida siendo  siendo esta A=B. Para que funcione de esta forma la configuración sería /OE=L DIR=L.

Tabla de configuración del 74HC245

Tabla de configuración del 74HC245

La conexión con Arduino UNO sería la siguiente (Haz click en la imagen para mayor resolución).

Conexión entre Arduino 74HC245 y TFT

Cuando todo esté conectado como en el esquema cargaremos nuestra primera prueba en Arduino UNO, para lo que necesitaremos  tener instaladas las librerías Adafruit_GFX y Adafruit_ST7735.
Un código de ejemplo para empezar puede ser este:

#include <Adafruit_GFX.h>    
#include <Adafruit_ST7735.h>
#include <SPI.h>

#define TFT_CS     10
#define TFT_RST    9  
#define TFT_DC     8
#define TFT_SCLK 13
#define TFT_MOSI 11

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);
void setup(void) {
  tft.initR(INITR_BLACKTAB);
}

void loop() {
  delay(500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_RED);
  tft.println("Scidle.com");
  delay(1500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_MAGENTA);
  tft.println("Scidle.com");
  delay(1500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_YELLOW);
  tft.println("Scidle.com");
  delay(1500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_GREEN);
  tft.println("Scidle.com");
  delay(1500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_BLUE);
  tft.println("Scidle.com");
  delay(1500);
  tft.setCursor(20, 55);
  tft.setTextColor(ST7735_CYAN);
  tft.println("Scidle.com");
  delay(1500); 
}
Prueba de TFT 1.8" conectado a Arduino UNO

Prueba de TFT 1.8″ conectado a Arduino UNO

Ya puedes disfrutar de tu TFT conectado a Arduino UNO para hacer tus proyectos más interactivos y atractivos.

Comments are disabled