yoprogramo / QRcodeDisplay

ESP Generate QRCode for several displays - Base Repo
18 stars 9 forks source link

Codigo QR muy pequeño #6

Closed migrassi closed 2 years ago

migrassi commented 2 years ago

Hola Jose Antonio. Estoy usando tu librería en un display TFT ST7789 de 240x240 px y funciona perfectamente. El inconveniente que tengo es que el código sale muy pequeño en la pantalla. Queda perfectamente centrado pero ocupa aproximadamente 1/3 del ancho y 1/3 del alto del display. Veo que otras personas han implementado el mismo display y el código generado cabe perfectamente en toda la pantalla. ¿Me puedes orientar para encontrar una solución al problema? Muchas gracias.

yoprogramo commented 2 years ago

Hola @migrassi ,

La verdad es que el tamaño se calcula para que ocupe lo máximo posible para que los puntos sean cuadrados, es decir, cada punto puede ocupar un pixel o 2x2 o 3x3 y así. Esta versión de la librería usa nivel 7 que son 45x45 puntos, si usamos puntos dobles serían 90x90, el ideal para tu pantalla es usar 5x5 px que daría un tamaño de 225x225 y que ocuparía toda la pantalla.

Asegurate que inicializas con init(240,240), que te daría un multiplicador de 5. En la versión actual solo pinta los puntos 2x2, pero debería pintarlos de manera correcta distribuidos en la pantalla. Revisa el init y si persiste el problema mandame una foto de cómo te aparece y el código que utilizas para que pueda ver si es otra cosa.

migrassi commented 2 years ago

Gracias @yoprogramo por la rápida respuesta. No se si te refieres al init de la pantalla que si estoy inicializando indicando el tamaño en píxeles (display.init(240, 240, SPI_MODE2) ) o al init del qrcode qrcode.init() En este último caso, no puedo inicializarlo con qrcode.init(240,240) ya que está prototipado sin parámetros en qrcode_st7789.h. Probé comentando esa línea y así el editor me sugiere dos parámetros uint16_t, pero si los pongo aparecen otros errores de compilación. Mi código de prueba completo es el siguiente:

#include <Arduino.h>
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>             // Arduino SPI library
#include <qrcode_st7789.h>

// ST7789 TFT module connections
#define TFT_RST 4 // Reset
#define TFT_CS -1 // define chip select pin 
#define TFT_DC 5  //  data/command pin
#define TFT_BL 15 //  BLK - backlight

Adafruit_ST7789 display = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
QRcode_ST7789 qrcode(&display);

void setup(void)
{
  display.init(240, 240, SPI_MODE2); // Init ST7789 240x240
  pinMode(TFT_BL, OUTPUT);
  digitalWrite(TFT_BL, HIGH);
  // Initialize QRcode display 
  qrcode.init (();
  // create qrcode
  qrcode.create("Hola mundo");
}

void loop()
{
}

Un saludo desde Argentina

yoprogramo commented 2 years ago

Tienes razón, hay un bug que limita el multiplicador en ST7789, mira a ver si te puedes bajar el código que hay ahora en master (si te funciona genero una nueva versión para todo el mundo)

migrassi commented 2 years ago

Descargué las versión que me sugeriste. El QR ocupa toda la pantalla ahora, pero los puntos en lugar de ser llenos, están separados entre si. Me sucedió lo mismo cuando cambié manualmente los números dentro de la librería. Adjunto una imagen.

20220603_191722

yoprogramo commented 2 years ago

Si, son puntos 2x2. Voy a ver si puedo hacer que sean solidos sin estropear nada mas. Cuando suba la nueva versión te aviso.

El sáb, 4 jun 2022 0:26, Miguel Grassi @.***> escribió:

Descargué las versión que me sugeriste. El QR ocupa toda la pantalla ahora, pero los puntos en lugar de ser llenos, están separados entre si. Me sucedió lo mismo cuando cambié manualmente los números dentro de la librería. Adjunto una imagen.

[image: 20220603_191722] https://user-images.githubusercontent.com/5194735/171962189-f055a65f-5e59-4c41-9309-52a5294bf2c5.jpg

— Reply to this email directly, view it on GitHub https://github.com/yoprogramo/QRcodeDisplay/issues/6#issuecomment-1146411419, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYGOOUUZDAVEHFET3UZI3VNKBA5ANCNFSM5XXKIOJA . You are receiving this because you were mentioned.Message ID: @.***>

yoprogramo commented 2 years ago

@migrassi prueba ahora con lo que hay en el repositorio y me dices

migrassi commented 2 years ago

Funciona perfectamente ahora. Excelente trabajo, @yoprogramo ! Adjunto imagen. Muchas gracias! 20220604_112049

yoprogramo commented 2 years ago

Perfecto, genero nueva versión y cierro esta incidencia.