Closed migrassi closed 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.
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
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)
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.
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: @.***>
@migrassi prueba ahora con lo que hay en el repositorio y me dices
Funciona perfectamente ahora. Excelente trabajo, @yoprogramo ! Adjunto imagen. Muchas gracias!
Perfecto, genero nueva versión y cierro esta incidencia.
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.