| .. currentmodule:: pyb |
| .. _pyb.LCD: |
| |
| class LCD -- LCD control for the LCD touch-sensor pyskin |
| ======================================================== |
| |
| The LCD class is used to control the LCD on the LCD touch-sensor pyskin, |
| LCD32MKv1.0. The LCD is a 128x32 pixel monochrome screen, part NHD-C12832A1Z. |
| |
| The pyskin must be connected in either the X or Y positions, and then |
| an LCD object is made using:: |
| |
| lcd = pyb.LCD('X') # if pyskin is in the X position |
| lcd = pyb.LCD('Y') # if pyskin is in the Y position |
| |
| Then you can use:: |
| |
| lcd.light(True) # turn the backlight on |
| lcd.write('Hello world!\n') # print text to the screen |
| |
| This driver implements a double buffer for setting/getting pixels. |
| For example, to make a bouncing dot, try:: |
| |
| x = y = 0 |
| dx = dy = 1 |
| while True: |
| # update the dot's position |
| x += dx |
| y += dy |
| |
| # make the dot bounce of the edges of the screen |
| if x <= 0 or x >= 127: dx = -dx |
| if y <= 0 or y >= 31: dy = -dy |
| |
| lcd.fill(0) # clear the buffer |
| lcd.pixel(x, y, 1) # draw the dot |
| lcd.show() # show the buffer |
| pyb.delay(50) # pause for 50ms |
| |
| |
| Constructors |
| ------------ |
| |
| .. class:: pyb.LCD(skin_position) |
| |
| Construct an LCD object in the given skin position. ``skin_position`` can be 'X' or 'Y', and |
| should match the position where the LCD pyskin is plugged in. |
| |
| |
| Methods |
| ------- |
| |
| .. method:: LCD.command(instr_data, buf) |
| |
| Send an arbitrary command to the LCD. Pass 0 for ``instr_data`` to send an |
| instruction, otherwise pass 1 to send data. ``buf`` is a buffer with the |
| instructions/data to send. |
| |
| .. method:: LCD.contrast(value) |
| |
| Set the contrast of the LCD. Valid values are between 0 and 47. |
| |
| .. method:: LCD.fill(colour) |
| |
| Fill the screen with the given colour (0 or 1 for white or black). |
| |
| This method writes to the hidden buffer. Use ``show()`` to show the buffer. |
| |
| .. method:: LCD.get(x, y) |
| |
| Get the pixel at the position ``(x, y)``. Returns 0 or 1. |
| |
| This method reads from the visible buffer. |
| |
| .. method:: LCD.light(value) |
| |
| Turn the backlight on/off. True or 1 turns it on, False or 0 turns it off. |
| |
| .. method:: LCD.pixel(x, y, colour) |
| |
| Set the pixel at ``(x, y)`` to the given colour (0 or 1). |
| |
| This method writes to the hidden buffer. Use ``show()`` to show the buffer. |
| |
| .. method:: LCD.show() |
| |
| Show the hidden buffer on the screen. |
| |
| .. method:: LCD.text(str, x, y, colour) |
| |
| Draw the given text to the position ``(x, y)`` using the given colour (0 or 1). |
| |
| This method writes to the hidden buffer. Use ``show()`` to show the buffer. |
| |
| .. method:: LCD.write(str) |
| |
| Write the string ``str`` to the screen. It will appear immediately. |