Difference between revisions of "OLED LCD Display"

From Sketching with Hardware at LMU Wiki
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 =
Text
+
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]'''
  
Image(s)
 
  
  
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'>
# todo
+
from machine import Pin, I2C
# code goes here
+
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

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)