Uoho
Posts: 91
Joined: Tue Feb 25, 2014 2:53 pm

Parpadeo en TFT

Sun Apr 19, 2015 11:00 pm

Estoy probando el TFT que compré (y comenté en otro post). Trabaja con el driver ILI9341. Estoy usando un código de ejemplo de Adafruit:

Code: Select all

disp = TFT.ILI9341(DC, rst=RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=64000000))
disp.begin()
disp.clear()
draw = disp.draw()

def draw_rotated_text(image, text, position, angle, font, fill=(255,0,0)):
	draw = ImageDraw.Draw(image)
	width, height = draw.textsize(text, font=font)
        height=int(height*(1+0.8))
	textimage = Image.new('RGBA', (width, height), (0,0,0,0))
	textdraw = ImageDraw.Draw(textimage)
	textdraw.text((0,0), text, font=font, fill=fill)
	rotated = textimage.rotate(angle, expand=1)
	image.paste(rotated, position, rotated)
 
while True:
    draw.rectangle((4, 4, 155, 315), fill=(74,213,195))
    draw.rectangle((160, 0, 239, 79), fill=(255,0,0))
    font = ImageFont.truetype('fonts/ArialBold.ttf', 40)
    draw_rotated_text(disp.buffer, str(time.strftime("%H:%M:%S")), (90, 10), 90, font, fill=(255,255,255))
    disp.display()
    sleep(1)
    disp.clear()
Con esto en el TFT se muestra la hora cada segundo. Pues bien, el texto y el rectángulo rojo (255,0,0) se muestran bien, pero el otro rectángulo (un color azulado muy clarito) parpadea cada vez que se pinta la pantalla... He probado y con colores originales como ese rojo, o amarillo, azul...no pasa, pero si pongo otros colores con las componentes r, g y b, me pasa constantemente este parpadeo. Ah, y si pongo una fotografía, también se produce este parpadeo... Entiendo que al repintar la pantalla pueda pasar, pero no entiendo porque pasa con unos colores sí y con otros no... ¿Hay alguna forma de repintar solo el texto que es lo cambia cada segundo y dejar los rectángulos del fondo sin repintar? O quizás alguna otra manera que se me escape...


Uoho
Posts: 91
Joined: Tue Feb 25, 2014 2:53 pm

Re: Parpadeo en TFT

Mon Apr 20, 2015 10:08 am

Si, lo probé. Al ejecutar con2fbmap 1 1 me muestra la consola en el pequeño TFT, y con un teclado conectado puedo loguearme y ejecutar comandos obviamente, y ahí la verdad que no parpadea nada... Pero con ese proyecto no sé cómo pintar otras cosas que no sea la consola, ya que lo que quiero mostrar son tanto fotografías como rectángulos y texto. Y con este proyecto solo fui capaz de ver la consola y el escritorio de la Pi.

Return to “Español”