# ILI9341-隨機畫100個任意顏色的點V1
# https://wokwi.com/projects/395193173755213825
from machine import Pin, SPI
import sys
import random
from ili9341 import Display, color565
if(sys.platform=="esp32"):
disp_sck = 18 # default SCK of SPI(1)
disp_mosi = 23 # default MOSI of SPI(1)
disp_miso = 19 # not use
disp_res = 4
disp_dc = 2
disp_cs = 5
disp_blk = 22
# 初始化 SPI
disp_spi = SPI(1, baudrate=20000000, sck=Pin(disp_sck), mosi=Pin(disp_mosi), miso=Pin(disp_miso))
elif(sys.platform=="rp2"):
disp_sck = 18 # default SCK of SPI(0)
disp_mosi = 19 # default MOSI of SPI(0)
disp_miso = 16 # not use
disp_res = 20
disp_dc = 21
disp_cs = 17
disp_blk = 22
# 初始化 SPI
disp_spi = SPI(0, baudrate=24000000, sck=Pin(disp_sck), mosi=Pin(disp_mosi), miso=Pin(disp_miso))
print(disp_spi)
# 設置旋轉角度
ROTATION = 180
# 初始化 SPI 和顯示
display = Display(disp_spi,
cs=Pin(disp_cs),
dc=Pin(disp_dc),
rst=Pin(disp_res),
rotation=ROTATION)
# 輸出顯示的寬度和高度
print('w=', display.width, 'h=', display.height)
# 在顯示屏上隨機畫 1000 個任意顏色的點
for _ in range(1000):
# 隨機選擇點的坐標
x = random.randint(0, display.width - 1) #0...239
y = random.randint(0, display.height - 1) #0..319
# 隨機選擇顏色 (RGB)8*3=24 bit
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
# 使用 color565 函數將 RGB 顏色24位轉換為 16 位顏色格式
# 在指定位置x,y畫點
display.draw_pixel(x, y, color565(r, g, b))