Difference between revisions of "OLED LCD Display"
Jump to navigation
Jump to search
(Created page with "= Description = Text Image(s) = How to connect it electrically = Text Image(s) = How to control it in MicroPython = <syntaxhighlight lang="python" line='line'> # todo #...") |
|||
Line 1: | Line 1: | ||
= Description = | = Description = | ||
− | + | See also '''[https://www.sketching-with-hardware.org/wiki/Tutorial_Display Tutorial Display]''' | |
+ | |||
+ | We use '''[https://www.sketching-with-hardware.org/files/ssd1306.py ssd1306.py]''' | ||
− | |||
Line 12: | Line 13: | ||
= How to control it in MicroPython = | = How to control it in MicroPython = | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
− | # | + | from machine import Pin, I2C |
− | # | + | from ssd1306 import SSD1306_I2C |
+ | |||
+ | i2c = I2C(scl=Pin(15), sda=Pin(4)) | ||
+ | pin16 = Pin(16, Pin.OUT) | ||
+ | pin16.on() | ||
+ | |||
+ | oled_width = 128 | ||
+ | oled_height = 64 | ||
+ | oled = SSD1306_I2C(oled_width,oled_height,i2c) | ||
+ | |||
+ | # switch the display off, but it's still active | ||
+ | oled.poweroff() | ||
+ | |||
+ | # switch the display on again | ||
+ | oled.poweron() | ||
+ | |||
+ | # contrast in range 0-255 (0=darker) | ||
+ | oled.contrast(contrast) | ||
+ | |||
+ | # invert in True/False | ||
+ | oled.invert(invert) | ||
+ | |||
+ | # content will be shown, has to be called when something changes | ||
+ | oled.show() | ||
+ | |||
+ | |||
+ | # Graphics | ||
+ | # fill the screen in color c (0=dark, 1=bright) | ||
+ | oled.fill(c) | ||
+ | |||
+ | # set pixel at position x,y to color c | ||
+ | oled.pixel(x,y,c) | ||
+ | |||
+ | # returns color of pixel x,y | ||
+ | oled.pixel(x,y) | ||
+ | |||
+ | # draws a horizontal line from x,y, length=w in color c | ||
+ | oled.hline(x,y,w,c) | ||
+ | |||
+ | # draws a vertical line from x,y, length=w in color c | ||
+ | oled.vline(x,y,w,c) | ||
+ | |||
+ | # draws a line from x1,y1 to x2,y2 in color c | ||
+ | oled.line(x1,y1,x2,y2,c) | ||
+ | |||
+ | # draws a rectangle at position x,y with width=w and height=h in color c | ||
+ | oled.rect(x,y,w,h,c) | ||
+ | |||
+ | # draws a filled rectangle at position x,y with width=w and height=h in color c | ||
+ | oled.fill_rect(x,y,w,h,c) | ||
+ | |||
+ | |||
+ | # Text | ||
+ | # set text s at pixel x,y | ||
+ | oled.text(s,x,y,c) | ||
+ | |||
+ | # line = line number (0-5) | ||
+ | # pos = horizontal position (0-15) | ||
+ | def text_line(text, line, pos=0): | ||
+ | x = 10*pos | ||
+ | y = line*11 | ||
+ | oled.text(text,x,y) | ||
+ | oled.show() | ||
+ | |||
+ | # don't forget to show! | ||
+ | oled.show() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 17:03, 20 August 2020
Contents
Description
See also Tutorial Display
We use ssd1306.py
How to connect it electrically
Text
Image(s)
How to control it in MicroPython
1 from machine import Pin, I2C
2 from ssd1306 import SSD1306_I2C
3
4 i2c = I2C(scl=Pin(15), sda=Pin(4))
5 pin16 = Pin(16, Pin.OUT)
6 pin16.on()
7
8 oled_width = 128
9 oled_height = 64
10 oled = SSD1306_I2C(oled_width,oled_height,i2c)
11
12 # switch the display off, but it's still active
13 oled.poweroff()
14
15 # switch the display on again
16 oled.poweron()
17
18 # contrast in range 0-255 (0=darker)
19 oled.contrast(contrast)
20
21 # invert in True/False
22 oled.invert(invert)
23
24 # content will be shown, has to be called when something changes
25 oled.show()
26
27
28 # Graphics
29 # fill the screen in color c (0=dark, 1=bright)
30 oled.fill(c)
31
32 # set pixel at position x,y to color c
33 oled.pixel(x,y,c)
34
35 # returns color of pixel x,y
36 oled.pixel(x,y)
37
38 # draws a horizontal line from x,y, length=w in color c
39 oled.hline(x,y,w,c)
40
41 # draws a vertical line from x,y, length=w in color c
42 oled.vline(x,y,w,c)
43
44 # draws a line from x1,y1 to x2,y2 in color c
45 oled.line(x1,y1,x2,y2,c)
46
47 # draws a rectangle at position x,y with width=w and height=h in color c
48 oled.rect(x,y,w,h,c)
49
50 # draws a filled rectangle at position x,y with width=w and height=h in color c
51 oled.fill_rect(x,y,w,h,c)
52
53
54 # Text
55 # set text s at pixel x,y
56 oled.text(s,x,y,c)
57
58 # line = line number (0-5)
59 # pos = horizontal position (0-15)
60 def text_line(text, line, pos=0):
61 x = 10*pos
62 y = line*11
63 oled.text(text,x,y)
64 oled.show()
65
66 # don't forget to show!
67 oled.show()
A small Program in MicroPython
1 # todo
2 # code goes here
text
image(s)
Related Tutorial Videos
change to the right video
Background
text
image(s)