コード例 #1
0
ファイル: demo_color_wheel.py プロジェクト: uraich/IoT-Course
def test():
    """Test code."""
    
    display=Display(spi,SPI_CS,SPI_DC)
    display.clear()
    x, y = 0, 0
    angle = 0.0
    #  Loop all angles from 0 to 2 * PI radians
    while angle < PI2:
        # Calculate x, y from a vector with known length and angle
        x = int(CENTER_X * sin(angle) + HALF_WIDTH)
        y = int(CENTER_Y * cos(angle) + HALF_HEIGHT)
        color = color565(*hsv_to_rgb(angle / PI2, 1, 1))
        c0 = color & 0xff
        c1 = color >> 8
        # print("color: {:02x} {:02x}".format(c1,c0))
        display.draw_line(x, y, CENTER_X, CENTER_Y, color)
        angle += ANGLE_STEP_SIZE

    sleep(5)
    
    display.clear()
    for r in range(CENTER_X, 0, -1):
        color = color565(*hsv_to_rgb(r / HALF_WIDTH, 1, 1))
        display.draw_filledCircle(CENTER_X, CENTER_Y, r, color)

    sleep(9)
    display.cleanup()
コード例 #2
0
ファイル: helloWorld.py プロジェクト: uraich/IoT-Course
def test():
    """Test code."""
    display = Display(spi, SPI_CS, SPI_DC)
    display.clear()

    display.draw_text(0, 0, 'Hello World!', sysfont, color565(255, 0, 0))
    display.text(20, 20, 'Good bye World!', color565(255, 0, 0))
    display.draw_text(10,
                      100,
                      'Hello World!',
                      sysfont,
                      color565(255, 0, 0),
                      landscape=True)
    sleep(9)
    display.cleanup()
コード例 #3
0
ファイル: arkanoid.py プロジェクト: uraich/IoT-Course
 def game_over(self):
     """Display game over."""
     game_over_width = len('GAME OVER') * (self.xfont.width() + 1)
     self.display.draw_text(
         (self.display.width // 2) - (game_over_width // 2),
         int(self.display.height / 1.5), 'GAME OVER', self.xfont,
         color565(255, 255, 255))
コード例 #4
0
def test():
    """Bouncing box."""
    display=Display(spi,SPI_CS,SPI_DC)
    try:

        display.clear()

        colors = [color565(255, 0, 0),
                  color565(0, 255, 0),
                  color565(0, 0, 255),
                  color565(255, 255, 0),
                  color565(0, 255, 255),
                  color565(255, 0, 255)]
        sizes = [12, 11, 10, 9, 8, 7]
        boxes = [Box(128, 128, sizes[i], display,
                 colors[i]) for i in range(6)]

        while True:
            timer = ticks_us()
            for b in boxes:
                b.update_pos()
                b.draw()
            # Attempt to set framerate to 30 FPS
            timer_dif = 33333 - ticks_diff(ticks_us(), timer)
            if timer_dif > 0:
                sleep_us(timer_dif)

    except KeyboardInterrupt:
        display.cleanup()
コード例 #5
0
def test_circles():
    """Test code."""
    print("Test circles")
    display.clear()
    for i in range(50):
        r = random(6)
        x0 = r[0] // 2
        y0 = r[1] // 2
        radius = r[2] // 4
        red = r[3]
        green = r[4]
        blue = r[5]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_circle(x0, y0, radius, c)
コード例 #6
0
ファイル: arkanoid.py プロジェクト: uraich/IoT-Course
    def __init__(self, display):
        """Initialize score.

        Args:
            display (SSD1351): OLED display.
        """
        margin = 5
        self.display = display
        self.xfont = NeatoReduced5x7
        self.display.draw_text(margin, 0, 'SCORE:', self.xfont,
                               color565(255, 0, 0))
        text_length = len('SCORE') * (self.xfont.width() + 1)
        self.x = text_length + margin
        self.y = 0
        self.value = 0
        self.draw()
コード例 #7
0
def test_rectangles():
    """Test code."""
    print("Test rectangles")
    display.clear()
    for i in range(50):
        r = random(7)
        x0 = r[0] // 2
        y0 = r[1] // 2
        w = r[2] // 2
        h = r[3] // 2
        red = r[4]
        green = r[5]
        blue = r[6]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_rectangle(x0, y0, w, h, c)
コード例 #8
0
def test_lines():
    """Test code."""
    print("Test lines")
    display.clear()
    for i in range(50):
        r = random(7)
        x0 = r[0] // 2
        y0 = r[1] // 2
        x1 = r[2] // 2
        y1 = r[3] // 2
        red = r[4]
        green = r[5]
        blue = r[6]
        #rint(x0,x1,y0,y1)
        c = color565(red, green, blue)
        display.draw_line(x0, y0, x1, y1, c)
コード例 #9
0
if sys.platform == 'esp32':
    print('1.4 inch TFT screen test on ESP32')
    sck = Pin(18)
    miso = Pin(19)
    mosi = Pin(23)
    SPI_CS = 26
    SPI_DC = 5
    spi = SPI(2, baudrate=32000000, sck=sck, mosi=mosi, miso=miso)

tft = Display(spi, SPI_CS, SPI_DC)
# Fonts
import fonts.arial10 as arial10
import fonts.freesans20 as freesans20

GREEN = color565(0, 255, 0)
RED = color565(255, 0, 0)
BLUE = color565(0, 0, 255)
YELLOW = color565(255, 255, 0)
BLACK = 0
CWriter.set_textpos(tft, 0, 0)  # In case previous tests have altered it
wri = CWriter(tft, arial10, GREEN, BLACK, verbose=False)
wri.set_clip(True, True, False)


class Point():
    def __init__(self, dial):
        self.dial = dial
        self.val = 0 + 0j
        self.color = None
コード例 #10
0
ファイル: demo_shapes.py プロジェクト: uraich/IoT-Course
def test():
    """Test code."""
    display=Display(spi,SPI_CS,SPI_DC)
    print('display started')

    display.clear(color565(64, 0, 255))
    sleep(1)

    display.clear()

    display.draw_hline(10, 127, 63, color565(255, 0, 255))
    sleep(1)

    display.draw_vline(10, 0, 127, color565(0, 255, 255))
    sleep(1)

    display.draw_filledRectangle(23, 50, 30, 75, color565(255, 255, 255))
    sleep(1)

    display.draw_hline(0, 0, 127, 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.draw_filledPolygon(7, 63, 63, 50, color565(0, 255, 0))
    sleep(1)

    display.draw_filledRectangle(0, 0, 15, 127, color565(255, 0, 0))
    sleep(1)

    display.clear()

    display.draw_filledRectangle(0, 0, 63, 63, color565(128, 128, 255))
    sleep(1)

    display.draw_rectangle(0, 64, 63, 63, color565(255, 0, 255))
    sleep(1)

    display.draw_filledRectangle(64, 0, 63, 63, color565(128, 0, 255))
    sleep(1)

    display.draw_polygon(3, 96, 96, 30, color565(0, 64, 255),
                         rotate=15)
    sleep(3)

    display.clear()

    display.draw_filledCircle(32, 32, 30, color565(0, 255, 0))
    sleep(1)

    display.draw_circle(32, 96, 30, color565(0, 0, 255))
    sleep(1)

    display.draw_filledEllipse(96, 32, 30, 16, color565(255, 0, 0))
    sleep(1)

    display.draw_ellipse(96, 96, 16, 30, color565(255, 255, 0))

    sleep(5)
    display.cleanup()
コード例 #11
0
def test():
    """Test code."""
    display = Display(spi, SPI_CS, SPI_DC)
    display.clear()

    display.text(0, 0, 'Arcade Pix 9x11', color565(255, 0, 0), ArcadePix9x11)
    display.text(0, 12, 'Bally 7x9', color565(0, 255, 0), Bally7x9)
    display.text(0, 23, 'Broadway', color565(0, 0, 255), Broadway17x15)
    display.text(0, 36, 'Espresso', color565(0, 255, 255), EspressoDolce18x24)
    display.text(0, 64, 'Fixed Font 5x8', color565(255, 0, 255), FixedFont5x8)
    display.text(0, 76, 'Neato 5x7', color565(255, 255, 0), Neato5x7)
    display.text(0, 85, 'Robotron 7x11', color565(255, 255, 255), Robotron7x11)
    display.text(0, 96, 'Unispace', color565(255, 128, 0), Unispace12x24)
    display.text(0, 120, 'Wendy 7x8', color565(255, 0, 128), Wendy7x8)
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 127,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 landscape=True)
    display.text(12,
                 127,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 landscape=True)
    display.text(23,
                 127,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 landscape=True)
    display.text(36,
                 127,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 landscape=True)
    display.text(63,
                 127,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 landscape=True)
    display.text(76,
                 127,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 landscape=True)
    display.text(85,
                 127,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 landscape=True)
    display.text(96,
                 127,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 landscape=True)
    display.text(120,
                 127,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 landscape=True)
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 0,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 background=color565(0, 255, 255))
    display.text(0,
                 12,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 background=color565(0, 0, 128))
    display.text(0,
                 23,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 background=color565(255, 255, 0))
    display.text(0,
                 36,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 background=color565(255, 0, 0))
    display.text(0,
                 64,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 background=color565(0, 128, 0))
    display.text(0,
                 76,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 background=color565(0, 0, 255))
    display.text(0,
                 85,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 background=color565(128, 128, 128))
    display.text(0,
                 96,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 background=color565(0, 128, 255))
    display.text(0,
                 120,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 background=color565(255, 255, 255))
    display.show()
    sleep(5)
    display.fill(0)

    display.text(0,
                 127,
                 'Arcade Pix 9x11',
                 color565(255, 0, 0),
                 ArcadePix9x11,
                 background=color565(0, 255, 255),
                 landscape=True)
    display.text(12,
                 127,
                 'Bally 7x9',
                 color565(0, 255, 0),
                 Bally7x9,
                 background=color565(0, 0, 128),
                 landscape=True)
    display.text(23,
                 127,
                 'Broadway',
                 color565(0, 0, 255),
                 Broadway17x15,
                 background=color565(255, 255, 0),
                 landscape=True)
    display.text(36,
                 127,
                 'Espresso',
                 color565(0, 255, 255),
                 EspressoDolce18x24,
                 background=color565(255, 0, 0),
                 landscape=True)
    display.text(64,
                 127,
                 'Fixed Font 5x8',
                 color565(255, 0, 255),
                 FixedFont5x8,
                 background=color565(0, 128, 0),
                 landscape=True)
    display.text(76,
                 127,
                 'Neato 5x7',
                 color565(255, 255, 0),
                 Neato5x7,
                 background=color565(0, 0, 255),
                 landscape=True)
    display.text(85,
                 127,
                 'Robotron 7x11',
                 color565(255, 255, 255),
                 Robotron7x11,
                 background=color565(128, 128, 128),
                 landscape=True)
    display.text(96,
                 127,
                 'Unispace',
                 color565(255, 128, 0),
                 Unispace12x24,
                 background=color565(0, 128, 255),
                 landscape=True)
    display.text(120,
                 127,
                 'Wendy 7x8',
                 color565(255, 0, 128),
                 Wendy7x8,
                 background=color565(255, 255, 255),
                 landscape=True)
    display.show()
    sleep(5)
    display.cleanup()
コード例 #12
0
ファイル: arkanoid.py プロジェクト: uraich/IoT-Course
 def draw(self):
     """Draw score value."""
     self.display.draw_text(self.x, self.y, str(self.value), self.xfont,
                            color565(255, 255, 255))
コード例 #13
0
ファイル: exercise_4.py プロジェクト: Jason-bolt/Micropython
import cmath
import math
import utime
import uos
from writer import Writer, CWriter
from fplot import PolarGraph, PolarCurve, CartesianGraph, Curve, TSequence
from nanogui import Label, refresh

refresh(st7735)

# Fonts
import fonts.arial10 as arial10
import fonts.freesans20 as freesans20

GREEN = color565(0, 255, 0)
RED = color565(255, 0, 0)
BLUE = color565(0, 0, 255)
YELLOW = color565(255, 255, 0)
WHITE = color565(255, 255, 255)
BLACK = 0
LIGHTGREEN = color565(0, 100, 0)

CWriter.set_textpos(st7735, 0, 0)  # In case previous tests have altered it
wri = CWriter(st7735, arial10, GREEN, BLACK, verbose=False)
wri.set_clip(True, True, False)


def seq():
    print('Time sequence test - sine and cosine.')
    refresh(st7735, True)  # Clear any prior image