mirror of
				https://github.com/pimoroni/grow-python
				synced 2025-10-25 15:19:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import logging
 | |
| 
 | |
| import ST7735
 | |
| from fonts.ttf import RobotoMedium as UserFont
 | |
| from PIL import Image, ImageDraw, ImageFont
 | |
| 
 | |
| logging.basicConfig(
 | |
|     format="%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s",
 | |
|     level=logging.INFO,
 | |
|     datefmt="%Y-%m-%d %H:%M:%S",
 | |
| )
 | |
| 
 | |
| logging.info(
 | |
|     """lcd.py - Hello, World! example on the 0.96" LCD.
 | |
| 
 | |
| Press Ctrl+C to exit!
 | |
| 
 | |
| """
 | |
| )
 | |
| 
 | |
| # Create LCD class instance.
 | |
| disp = ST7735.ST7735(
 | |
|     port=0, cs=1, dc=9, backlight=12, rotation=270, spi_speed_hz=10000000
 | |
| )
 | |
| 
 | |
| # Initialize display.
 | |
| disp.begin()
 | |
| 
 | |
| # Width and height to calculate text position.
 | |
| WIDTH = disp.width
 | |
| HEIGHT = disp.height
 | |
| 
 | |
| # New canvas to draw on.
 | |
| img = Image.new("RGB", (WIDTH, HEIGHT), color=(0, 0, 0))
 | |
| draw = ImageDraw.Draw(img)
 | |
| 
 | |
| # Text settings.
 | |
| font_size = 25
 | |
| font = ImageFont.truetype(UserFont, font_size)
 | |
| text_colour = (255, 255, 255)
 | |
| back_colour = (0, 170, 170)
 | |
| 
 | |
| message = "Hello, World!"
 | |
| size_x, size_y = draw.textsize(message, font)
 | |
| 
 | |
| # Calculate text position
 | |
| x = (WIDTH - size_x) / 2
 | |
| y = (HEIGHT / 2) - (size_y / 2)
 | |
| 
 | |
| # Draw background rectangle and write text.
 | |
| draw.rectangle((0, 0, 160, 80), back_colour)
 | |
| draw.text((x, y), message, font=font, fill=text_colour)
 | |
| disp.display(img)
 | |
| 
 | |
| # Keep running.
 | |
| try:
 | |
|     while True:
 | |
|         pass
 | |
| 
 | |
| # Turn off backlight on control-c
 | |
| except KeyboardInterrupt:
 | |
|     disp.set_backlight(0)
 |