from time import sleep
from ili9341 import Display, color565
from machine import Pin, SPI, ADC
spi = SPI(2, baudrate=32000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
display = Display(spi, dc=Pin(33), cs=Pin(5), rst=Pin(32))
display.clear(color565(255,255,255))
class Gráfica:
def __init__(self, adc, yMin, yMax, color):
self.adc = adc
self.valor = self.adc.read()
self.yMin = yMin
self.yMax = yMax
self.color = color
self.x = -1
self.y = int(self.yMin - self.valor*(self.yMin - self.yMax)/4095)
self.dibuja_lineas()
def dibuja_lineas(self):
display.draw_hline(0, self.yMax, 240, self.color)
display.draw_hline(0, self.yMin, 240, self.color)
def grafica(self):
self.valor = self.adc.read()
self.x += 1
if self.x > 239:
self.x = 0
display.fill_rectangle(0, self.yMax, 240, self.yMin - self.yMax, color565(255, 255, 255))
self.dibuja_lineas()
self.y = int(self.yMin - self.valor*(self.yMin - self.yMax)/4095)
if self.y > 319:
self.y = 319
display.draw_pixel(self.x, self.y, self.color)
def __str__(self):
self.grafica()
return ""
def __gt__(self, otro):
if self.valor > otro.valor:
self.color = color565(255, 0, 0)
otro.color = color565(0, 0, 255)
else:
self.color = color565(0, 0, 255)
otro.color = color565(255, 0, 0)
self.dibuja_lineas()
otro.dibuja_lineas()
adc1 = ADC(Pin(36))
pot1 = Gráfica(adc1, yMin = 319, yMax = 179, color = color565(255, 0, 0))
adc2 = ADC(Pin(39))
pot2 = Gráfica(adc2, yMin = 159, yMax = 0 , color = color565(0, 0, 255))
while True:
print(pot1)
print(pot2)
pot1 > pot2
sleep(0.05)