def main(): for a in pinz: io.setup(a, mcp.IN) io.pullup(a, True) omraad = field(display) omraad.initfield() display.erase() display.set_pos(0,0) display.width = 240 display.height = 320 display.fill_rectangle(0, 0, 239, 319, color565(0,0,30)) ex = 22 ey = 22 mx = 0 my = 0 bgcol = color565(0,0,30) wid = omraad.blockwidth plr = player(display, omraad, wid) omraad.render() while True: if not io.input(PIN_LEFT): plr.changedir(DIR_LEFT) if not io.input(PIN_RIGHT): plr.changedir(DIR_RIGHT) if not io.input(PIN_UP): plr.changedir(DIR_UP) if not io.input(PIN_DOWN): plr.changedir(DIR_DOWN) plr.move() plr.render() plr.renderscore() if omraad.dots == 0: break if not io.input(BUTTON_UP): break
def __init__(self, disp): self.omraad = [] self.height = 24 self.width = 24 self.dots = 0 self.display = disp self.blockwidth = 240 // self.width self.colors = [color565(0,0,30), color565(50,50,200), color565(0,0,30)] for a in range(0, self.height*self.width): self.omraad.append(0)
def __init__(self, disp, fild, scale): self.field = fild self.display = disp self.scale = scale self.ex = 22 self.ey = 22 self.progress = 0 self.speed = 2 self.dudecol = color565(250, 250, 0) self.direction = DIR_STOPPED self.nextdir = DIR_STOPPED self.score = 0 self.bgcol = color565(0,0,30)
def draw_circle(xpos0, ypos0, rad, col=color565(255, 255, 255)): x = rad - 1 y = 0 dx = 1 dy = 1 err = dx - (rad << 1) while x >= y: display.pixel(xpos0 + x, ypos0 + y, col) display.pixel(xpos0 + y, ypos0 + x, col) display.pixel(xpos0 - y, ypos0 + x, col) display.pixel(xpos0 - x, ypos0 + y, col) display.pixel(xpos0 - x, ypos0 - y, col) display.pixel(xpos0 - y, ypos0 - x, col) display.pixel(xpos0 + y, ypos0 - x, col) display.pixel(xpos0 + x, ypos0 - y, col) if err <= 0: y += 1 err += dy dy += 2 if err > 0: x -= 1 dx += 2 err += dx - (rad << 1)
rst=TFT_RST_PIN, w=SCR_WIDTH, h=SCR_HEIGHT, r=SCR_ROT) print(dir(display)) display.reset() display.erase() display.set_pos(0, 0) for ff in fonts: display.set_font(ff) display.print(text) display.set_font(tt24) display.set_color(color565(255, 255, 0), color565(150, 150, 150)) display.print("\nThanks:") display.print("https://github.com/jeffmer/micropython-ili9341") print("\nThanks:") print("https://github.com/jeffmer/micropython-ili9341") time.sleep(1) for i in range(170): display.scroll(1) time.sleep(0.01) time.sleep(1) for i in range(170): display.scroll(-1) time.sleep(0.01)
def renderdot(self, x, y): self.display.fill_rectangle((x*self.blockwidth)+4, (y*self.blockwidth)+4, self.blockwidth-8, self.blockwidth-8, color565(200, 200, 200))
def Screen_write(t, p, t1, hr1, t2, hr2, text, t_res, vit_vent, icon_vent, icon_meteo): if icon_vent == None: icon_vent = 'interrogation.txt' if icon_meteo == None: icon_meteo = 'interrogation' icon_vent = "ICONS/" + icon_vent icon_meteo = "ICONS/" + icon_meteo + ".txt" clock = rtc.datetime() display.erase() #Date display.set_pos(85, 5) display.set_font(tt14) display.print( str(clock[2]) + " / " + str(clock[1]) + " / " + str(clock[0])) # heure display.set_pos(100, 30) display.set_font(tt24) display.print(str(clock[4]) + ":" + str(clock[5])) display.fill_rectangle(0, 60, 340, 2, color=color565(0, 255, 255)) display.fill_rectangle(0, 200, 340, 2, color=color565(0, 255, 255)) #icone_vent X0 = 150 Y0 = 90 data = text_to_list(icon_vent) for y in range(len(data)): for x in range(len(data[0])): if data[y][x] == 1: display.pixel(X0 + x, Y0 + y, color=color565(0, 255, 255)) data = [] X0 = 15 #icone_meteo Y0 = 70 data = text_to_list(icon_meteo) for y in range(len(data)): for x in range(len(data[0])): if data[y][x] == 1: display.pixel(X0 + x, Y0 + y, color=color565(0, 255, 255)) data = [] display.set_pos(185, 110) #vitesse vent display.set_font(tt14) display.print(vit_vent + ' km/h') display.set_pos(90, 205) #Affichage T,P display.set_font(tt14) display.print(" STATION") display.set_pos(30, 220) display.set_font(tt24) display.print(str(t) + " C") display.set_pos(130, 220) display.print(str(p) + " hPa") display.fill_rectangle(0, 250, 340, 2, color=color565(0, 255, 255)) display.fill_rectangle(115, 250, 2, 70, color=color565(0, 255, 255)) display.set_pos(130, 160) #t_res display.set_font(tt14) display.print("T RESSENTIE: ") display.set_pos(170, 175) display.set_font(tt24) display.print(t_res) display.set_pos(5, 160) #Text display.set_font(tt14) display.print("T EXTERIEURE:") display.set_pos(45, 175) display.set_font(tt24) display.print(text) display.set_pos(5, 255) #Affichage T1,HR1,T2,HR2 display.set_font(tt14) display.print("SONDE 1:") display.set_pos(30, 270) display.set_font(tt24) display.print(str(t1) + " C") display.set_pos(30, 295) display.print(str(hr1) + " %") display.set_pos(127, 255) display.set_font(tt14) display.print("SONDE 2:") display.set_font(tt24) display.set_pos(150, 270) display.print(str(t2) + " C") display.set_pos(150, 295) display.print(str(hr2) + " %")
from ili934xnew import color565 WHITE = color565(255, 255, 255) RED = color565(255, 0, 0) GREEN = color565(0, 255, 0) BLUE = color565(0, 0, 255) YELLOW = color565(255, 255, 0) CYAN = color565(0, 255, 255) MAGENTA = color565(255, 0, 255) GRAY = color565(90, 90, 90) class Scope(): def __init__(self, tft, gfx): self.tft = tft self.gfx = gfx def draw_axis(self): # x axis # self.gfx.line(0, 230, 320, 230, color565(255, 255, 255)) self.tft.fill_rectangle(0, 230, 320, 2, GRAY) # y axis # self.gfx.line(10, 5, 10, 240, color565(255, 255, 255)) self.tft.fill_rectangle(30, 0, 2, 230, GRAY) # x ticks for i in range(9): # self.gfx.line(10 + 31*i, 0, 10 + 31*i, 235, color565(255, 255, 255)) self.tft.fill_rectangle(30 + 37 * i, 230, 2, 5, GRAY) # y ticks v = 0.0
from ili934xnew import ILI9341, color565 from machine import Pin, ADC, SPI import utime import glcdfont import tt14 from gfx import GFX import urandom from scope import Scope BACKGROUND = color565(0, 0, 60) led = Pin(25, Pin.OUT) adc = ADC(28) power = Pin(15, Pin.OUT) power.value(0) spi = SPI(0, baudrate=40000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(19), miso=Pin(16)) tft = ILI9341(spi, cs=Pin(12), rst=Pin(13), dc=Pin(14), w=320, h=240, r=3) def fast_hline(x, y, width, color): tft.fill_rectangle(x, y, width, 1, color)
n += 1 return n xOffset = -0.8 RE_START = -2 + xOffset RE_END = 2 + xOffset IM_START = -1 IM_END = 1 ZOOM_IM = 1.2 #1=100% 0.5=200% ZOOM_RE = 0.8 #1=100% 0.5=200% OFFSET_IM = 0 OFFSET_RE = 0 BLACK = color565(0,0,0) WHITE = color565(255,255,255) RED = color565(255,0,0) GREEN = color565(0,255,0) BLUE = color565(0,255,0) YELLOW = color565(255,255,0) CIAN = color565(0,255,255) MAGENTA = color565(255,9,255) colors = (WHITE,YELLOW,RED,GREEN,BLUE,CIAN,BLACK,MAGENTA) building = False def buildFractal(): global building global buf if building==True: return
# test of printing multiple fonts to the ILI9341 on an M5Stack using H/W SP # MIT License; Copyright (c) 2017 Jeffrey N. Magee # # Adapted for Sensemakers. Changed pins for the TTGO T4-V1.3 board from ili934xnew import ILI9341, color565 from machine import Pin, SPI, PWM import glcdfont import tt14 import tt24 import tt32 from time import sleep fonts = [glcdfont,tt14,tt24,tt32] colors = [color565(255,0,0), color565(0,255,0),color565(0,0,255),color565(150,150,0)] text = 'Now is the time for all Sensemakers to come to the aid of the party.' spi = SPI( 2, baudrate=30000000, miso=Pin(12), mosi=Pin(23), sck=Pin(18)) display = ILI9341( spi, cs=Pin(27), dc=Pin(32), rst=Pin(5), w=320, h=240,
baudrate=40000000, miso=TFT_MISO_PIN, mosi=TFT_MOSI_PIN, sck=TFT_CLK_PIN) print(spi) display = ILI9341(spi, cs=TFT_CS_PIN, dc=TFT_DC_PIN, rst=TFT_RST_PIN, w=SCR_WIDTH, h=SCR_HEIGHT, r=SCR_ROT) print(dir(display)) display.reset() display.erase() display.set_pos(0, 0) for ff in fonts: display.set_font(ff) display.print(text) display.set_font(tt24) display.set_color(color565(255, 255, 0), color565(150, 150, 150)) display.print("\nThanks:") display.print("https://github.com/jeffmer/micropython-ili9341") print("\nThanks:") print("https://github.com/jeffmer/micropython-ili9341") time.sleep(1)