'''
MicroPython laguage
Rp2040 Pico Board
SSD1306 OLED Display
ssd1306 library link : https://github.com/stlehmann/micropython-ssd1306
'''
# I2C 클래스를 쓰다보면 알 수 없는 에러가 발생 한다고 한다. 그래서 softI2C를 쓰기도 한다.
# 출처 : '라즈베리파이피코 , 마이크로파이써을 만나다' 지은이: 허경용
from machine import Pin, SoftI2C
from ssd1306 import SSD1306_I2C
# define the I2C pins
sdaPin = Pin(16)
sclPin = Pin(17)
# create the SoftI2C object
i2c_object = SoftI2C(scl=sclPin, sda=sdaPin)
# scan I2C devices
print(i2c_object.scan()) # 10진수
print(hex(i2c_object.scan()[0])) # 16진수 , list 의 첫번째를 16진수로 불러올때
# 아래와 같이 for 문을 활용해서 scan 한 주소값이 있는 list를 차례로 불러올수있다.
for addr in i2c_object.scan():
print(hex(addr))
# 현재 가상에선 출력이 안되지만 실물로 했을땐
# [60]
# 0x3c
# 0x3c
# 로 출력이 된다.
# create control the OLED display's object
oled_object = SSD1306_I2C(128, 64, i2c_object , 0x3c)
# draw text
oled_object.text("Hello World!", 20, 40)
# draw a line
oled_object.line(0, 20, 127, 20, 1)
oled_object.show()
Loading
ssd1306
ssd1306