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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll to Top