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, archivo):
self.adc = adc
self.valor = self.adc.read()
self.yMin = yMin
self.yMax = yMax
self.color = color
self.archivo = archivo
self.x = -1
self.y = int(self.yMin - self.valor*(self.yMin - self.yMax)/4095)
self.dibuja_lineas()
# Borra el archivo "self.archivo" aquí ------
with open("datos1.txt","w") as self.archivo:
self.archivo.close()
# -------------------------------------------
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)
self.guardar() # Llama a la función que guarda el valor "self.valor" dentro del archivo
def guardar(self):
# Agrega el valor "self.valor" dentro del archivo "self.archivo" aquí -----
with open("datos1.txt","w") as self.archivo:
self.valor=str(self.valor)+"\n"
self.archivo.write(self.valor)
# -------------------------------------------------------------------------
def __str__(self):
# Lee el archivo "self.archivo" y regresa su contenido aquí -------------
self.archivo = open("datos1.txt","r")
print(self.valor)
return ""
# -------------------------------------------------------------------------
adc1 = ADC(Pin(36))
pot1 = Gráfica(adc1, yMin = 319, yMax = 179, color = color565(255, 0, 0), archivo = "datos1.txt")
adc2 = ADC(Pin(39))
pot2 = Gráfica(adc2, yMin = 159, yMax = 0 , color = color565(0, 0, 255), archivo = "datos2.txt")
cont = 0
while True:
pot1.grafica()
pot2.grafica()
cont += 1
if cont == 20:
cont = 0
# Llama a print(pot1) y print(pot2) para imprimir en terminal
# el contenido del archivo de cada señal aquí ---------------------------------
print(pot2)
print(pot1)
# -----------------------------------------------------------------------------
sleep(0.05)