Mi primera práctica con arduino

En mi continua búsqueda de proyectos me topo con este canal de Arduino y su respectiva página https://proyectocorrecaminos.com/mini-tv-con-esp32/ o su vídeo , sobre como construir un tv que reporte los resultados de fútbol continuamente, lo interesante, es que rifo la tv y resulte ganador, haciendo el esfuerzo para mi sorpresa en enviarlo desde México hasta Colombia, cosa que agradezco enormemente.

Enchufar el Arduino en Linux

Ahora manos a la obra e intentar que aparezca algo en la pantalla, por lo tanto luego de hacer las conexiones, cargue el código y sabia que uno sencillamente instala “Arduino IDE” , escribe el código y luego lo enviamos al Arduino, en este caso lo más paradójico es que esto funciona normalmente en windows o mac, pero en linux tiene protecciones o restricciones en las conexiones USB por lo que impide compilar el código en la tarjeta de arduino. Así que se procede a seguir investigando, aunque gracias a este video se logra hacer la magia.

En síntesis

  1. Tenemos que ejecutar el último archivo (para 2024 seguía siendo el setup-14) de esta lista
  2. Luego se ejecuta gracias a la terminal el siguiente código que esta al final de esa página:
$ chmod +x arduino-linux-setup-14.sh
$ ./arduino-linux-setup.sh $USER

Acá vemos el comando $USER con ello se ejecuta como root, sin tener que modificar más.

El código genera los permisos a la usb, puerto para accesar al arduino. y al parecer no funciona para arduinos chinos.

Probar el monitor en Arduino

Empezamos haciendo las conexiones, con la pantalla lcd con el siguiente nombre 1.69inch LCD Display Module, 240×280 Resolution, SPI Interface, IPS, 262K Colors y como se desglosan en el código:

Antes de compilar tenemos que instalar las librerias Adafruit_GFX y Adafruit_ILI9341, pues con “Arduino uno” es muy pequeña la memoria y estas librerías limitadas lograron visualizar algún resultado, con el siguiente código logre saber si la pantalla funciona:

#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>

// Definir los pines para la pantalla en Arduino Uno
#define TFT_CS    10  // Chip Select
#define TFT_RST   8   // Reset
#define TFT_DC    7   // Data/Command
#define TFT_MOSI  11  // MOSI
#define TFT_SCLK  13  // Clock
#define TFT_BL    9   // Backlight (si quieres controlarlo desde el código)

// Crear objeto de pantalla
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  // Encender la luz de fondo
  pinMode(TFT_BL, OUTPUT);
  digitalWrite(TFT_BL, HIGH);  

  // Inicializar la pantalla
  tft.begin();
  tft.setRotation(1);  // Ajusta la rotación de la pantalla
  tft.fillScreen(ILI9341_BLACK);  // Rellena la pantalla de negro

  // Intentar diferentes configuraciones de rotación
  for (uint8_t rotation = 0; rotation < 4; rotation++) {
    tft.setRotation(rotation);
    tft.fillScreen(ILI9341_WHITE); // Limpiar la pantalla
    
    // Dibujar rectángulo en cada rotación para ver la diferencia
    tft.drawRect(0, 0, tft.width(), tft.height(), ILI9341_RED);
    delay(2000);  // Esperar 2 segundos para ver el cambio
  }

  // Mostrar texto de prueba después de probar las rotaciones
  tft.setRotation(2);  // Ajusta la rotación de la pantalla a 1
  tft.fillScreen(ILI9341_BLACK);  // Rellena la pantalla de negro
  tft.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
  tft.setTextSize(2);
  tft.setCursor(10, 10);
  tft.println("Hola Mundo!");

  // Dibujar un rectángulo que cubra toda la pantalla
  tft.drawRect(0, 0, tft.width(), tft.height(), ILI9341_RED);
}

void loop() {
  // Nada aquí
}

El resultado en mi caso es la impresión de Hola mundo! en una pantalla cuadrada y el resto en negro o parte de la pantalla repetida, como si estuviera comenzando el resultado. no es el resultado optimo, pero por lo menos sabemos si la pantalla funciona bien.

Scroll to Top