-
Notifications
You must be signed in to change notification settings - Fork 2
/
oled_picture.py
83 lines (74 loc) · 4.24 KB
/
oled_picture.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import ssd1306
from machine import I2C, Pin
logo = (
0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000001, 0b10000000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000000, 0b00010000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000001, 0b10001000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000010, 0b01100000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000100, 0b01010000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000100, 0b00001000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000101, 0b00001000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00001101, 0b01001000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00011110, 0b01001000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00011111, 0b10011100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00111111, 0b11111100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00111111, 0b11111100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00111111, 0b11111100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00111011, 0b11111100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00011011, 0b01111000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00011111, 0b01111000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00001111, 0b11111000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000111, 0b11110000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000111, 0b11110000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000110, 0b01100111, 0b00000000, 0b00000000,
0b00000000, 0b00000001, 0b11001010, 0b01101111, 0b11100000, 0b00000000,
0b00000000, 0b00000111, 0b11111010, 0b11111111, 0b01110000, 0b00000000,
0b00000000, 0b00001101, 0b11110110, 0b11111100, 0b11110000, 0b00000000,
0b00000000, 0b00011110, 0b01100100, 0b11110011, 0b11110000, 0b00000000,
0b00000000, 0b00011111, 0b10010001, 0b11001111, 0b11101000, 0b00000000,
0b00000000, 0b00010111, 0b11101101, 0b11111111, 0b11001000, 0b00000000,
0b00000000, 0b00011011, 0b11000001, 0b11111110, 0b00111000, 0b00000000,
0b00000000, 0b00111010, 0b11100001, 0b11010010, 0b01111100, 0b00000000,
0b00000000, 0b00111100, 0b01011101, 0b11100011, 0b11111110, 0b00000000,
0b00000000, 0b00111110, 0b01000001, 0b11111111, 0b11111110, 0b00000000,
0b00000000, 0b00111111, 0b11100001, 0b11111111, 0b11111010, 0b00000000,
0b00000000, 0b11111111, 0b11110010, 0b11111111, 0b11110011, 0b00000000,
0b00000001, 0b11111011, 0b11111100, 0b01100100, 0b10010111, 0b10000000,
0b00000001, 0b01111101, 0b01010001, 0b11001001, 0b00111110, 0b10000000,
0b00000000, 0b10011111, 0b10001110, 0b10001011, 0b11111001, 0b00000000,
0b00000001, 0b10100111, 0b11111111, 0b11111111, 0b11100101, 0b10000000,
0b00000001, 0b01101001, 0b11111111, 0b11111111, 0b10010110, 0b10000000,
0b00000010, 0b01011010, 0b01111111, 0b11111110, 0b01011010, 0b01000000,
0b00000000, 0b10010110, 0b10011111, 0b11111001, 0b01101001, 0b00000000,
0b00000000, 0b00100101, 0b10100111, 0b11100101, 0b10100100, 0b00000000,
0b00000000, 0b00001001, 0b01101001, 0b10010110, 0b10010000, 0b00000000,
0b00000000, 0b00000010, 0b01011010, 0b01011010, 0b01000000, 0b00000000,
0b00000000, 0b00000000, 0b10010111, 0b11101001, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00100101, 0b10100100, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00001000, 0b00010000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000,
)
def draw_line(display, x0, y0, x1, y1):
deltax = x1 - x0
deltay = y1 - y0
error = -1.0
deltaerr = abs(deltay / deltax)
y = y0
for x in range(int(x0), int(x1)-1):
# plot(x,y)
display.pixel(x, y, 1)
# print(x, y)
error = error + deltaerr
if error >= 0.0:
y = y + 1
error = error - 1.0
i2c = I2C(sda=Pin(4), scl=Pin(5))
display = ssd1306.SSD1306_I2C(64, 48, i2c)
display.fill(0)
for y in range(48):
for x in range(48):
display.pixel(10 + x, y, not logo[y * 6 + x // 8] & (1<<(7 - x % 8)))
display.show()
#display.invert(True)