print("Hello, ESP32!")
import machine
from utime import sleep
from ili9341 import Display, color565
from xglcd_font import XglcdFont
sck = machine.Pin(18)
mosi = machine.Pin(23)
miso = machine.Pin(19)
spi = machine.SPI(1, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)
rst = machine.Pin(17)
dc = machine.Pin(16)
cs = machine.Pin(5)
display = Display(spi, dc=dc, cs=cs, rst=rst)
arcadepix = XglcdFont('ArcadePix9x11.c', 9, 11)
pot_pin = machine.ADC(machine.Pin(4))
pot_pin.atten(machine.ADC.ATTN_11DB)
pot_pin.width(machine.ADC.WIDTH_12BIT)
def main():
while True:
ili9341_spi()
display_potentiometer_values()
def ili9341_spi():
display.clear(color565(64, 0, 255))
sleep(1)
display.clear()
display.draw_hline(10, 319, 229, color565(255, 0, 255))
sleep(1)
display.draw_vline(10, 0, 319, color565(0, 255, 255))
sleep(1)
display.fill_hrect(23, 50, 30, 75, color565(255, 255, 255))
sleep(1)
display.draw_hline(0, 0, 222, color565(255, 0, 0))
sleep(1)
display.draw_line(127, 0, 64, 127, color565(255, 255, 0))
sleep(2)
display.clear()
coords = [[0, 63], [78, 80], [122, 92], [50, 50], [78, 15], [0, 63]]
display.draw_lines(coords, color565(0, 255, 255))
sleep(1)
display.clear()
display.fill_polygon(7, 120, 120, 100, color565(0, 255, 0))
sleep(1)
display.fill_rectangle(0, 0, 15, 227, color565(255, 0, 0))
sleep(1)
display.clear()
display.fill_rectangle(0, 0, 163, 163, color565(128, 128, 255))
sleep(1)
display.draw_rectangle(0, 64, 163, 163, color565(255, 0, 255))
sleep(1)
display.fill_rectangle(64, 0, 163, 163, color565(128, 0, 255))
sleep(1)
display.draw_polygon(3, 120, 286, 30, color565(0, 64, 255), rotate=15)
sleep(3)
display.clear()
display.fill_circle(132, 132, 70, color565(0, 255, 0))
sleep(1)
display.draw_circle(132, 96, 70, color565(0, 0, 255))
sleep(1)
display.fill_ellipse(96, 96, 30, 16, color565(255, 0, 0))
sleep(1)
display.draw_ellipse(96, 256, 16, 30, color565(255, 255, 0))
sleep(5)
display.clear()
text = 'Welcome to ETC613'
display.draw_text(
x=0,
y=0,
text=text,
font=arcadepix,
color=color565(255, 0, 0),
background=color565(255, 255, 255),
landscape=False,
spacing=1
)
sleep(5)
display.clear()
display_potentiometer_values()
sleep(3)
def display_potentiometer_values():
pot_value = pot_pin.read()
voltage = pot_value * (3.3 / 4095)
print("Potentiometer Value:", pot_value)
print("Voltage: {:.2f} V".format(voltage))
display.draw_text(
x=10,
y=200,
text="Pot: {}".format(pot_value),
font=arcadepix,
color=color565(255, 255, 0),
background=color565(0, 0, 0)
)
display.draw_text(
x=10,
y=220,
text="V: {:.2f}V".format(voltage),
font=arcadepix,
color=color565(0, 255, 0),
background=color565(0, 0, 0)
)
if __name__ == '__main__':
main()