from machine import Pin, I2C
from ssd1306 import SSD1306_12C
import framebuf,sys
import utime
pix_res_x = 128
pix_res_y-64
def init_i2c(scl pin, sda pin);
#Initialize 12C device
i2c_dev-12C(1, scl-Pin(sel pin), sda-Pin(sda pin), freq-200000)
i2c_addr = [hex(ii) for ii in i2c_dev.scan)]
if not i2c addr:
print('No I2C Display Found')
sys.exit()
else:
print("I2C Address: {}".format(i2c_addr[0]))
print("12C Configuration, (}".format(i2c_dev))
return i2c_dev
def display_logo(oled):
#Display the Raspberry Pi logo on the OLED
buffer =
bytearray(b"x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01 x86@\x80\x 01x01\x80\x80\x01\x11\x88\x80\x01\x05\xa0\x80\x00\x83\xc1\x00\x00\xe3\x00\x00-xfe \x00\x00\x00\x00\x9c x11x00\x00\xbfxfd\x00\x00\xel\x87\x00\x01x¢1\x83\x80\x02A/x 82@x02A\x82@\x02\xel\xe2@\x02x16xc0\x01 xfe='x80\x01x18x18x80x01 x88x10 x80\x00\x8c\x00\x00\x87xf]\x00\x00\x7fxf6x00\x008x1c\x00\x00\x0c \x00\x00\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
fb=framebuf.FrameBuffer(buffer, 32, 32, framebuf MONO HLSB)
oled fill(0)
oled blit(fb, 96, 0)
oled.show()
def display_text(oled):
#Display text on the OLED
oled text("Welcome To MITS", 5,5)
oled text("Dept of CSE", 5, 15)
oled text("IoT Lab", 5, 25)
oled.show()
def display_anima(oled):
start_time=utime.ticks_ms()
while True;
elapsed_time=(utime.ticks_diff(utime.ticks_ms(),start_time))
#clear the specific line by drawing a filled black rectangle
oled.fill_rect(5,40,oled.width-5,8,0)
oled.text("Timer:",5,45)
oled.text(str(elapsed_time)+"sec",5,40)
oled.show()
utime.sleep_ms(1000)
def main():
i2c_dev=init_i2c(scl_pin=27,sda_pin=26)
oled=SSD1306_I2C(pix_res_x,pix_res_y,i2c_dev)
display_logo(oled)
display_text(oled)
display_anima(oled)
if__name__=='__main__':