ESP32(MicroPython) 几个滚动动画
本次发布4个动画程序,均使用随机生成的形式,代码如下
横线滚动
'''
接线:OLED(IIC)
SCL-->(18)
SDA-->(23)
'''
#导入Pin模块
from machine import Pin
import time
from machine import SoftI2C
from ssd1306 import SSD1306_I2C #I2C的oled选该方法
import random
#创建硬件I2C对象
#i2c=I2C(0,sda=Pin(19), scl=Pin(18), freq=400000)
#创建软件I2C对象
i2c = SoftI2C(sda=Pin(23), scl=Pin(18))
#创建OLED对象,OLED分辨率、I2C接口
oled = SSD1306_I2C(128, 64, i2c)
a=0
#程序入口
if __name__=="__main__":
while True:
a=random.randint(0,63)
b=random.randint(0,20)
oled.hline(125-b,a,b,1)
oled.show() #执行显示
oled.vline(127,0,64,0) #清除移动前显示区
oled.scroll(-1,0) #指定像素X轴移动
矩形下落
'''
接线:OLED(IIC)
SCL-->(18)
SDA-->(23)
'''
#导入Pin模块
from machine import Pin
import time
from machine import SoftI2C
from ssd1306 import SSD1306_I2C #I2C的oled选该方法
import random
#创建硬件I2C对象
#i2c=I2C(0,sda=Pin(19), scl=Pin(18), freq=400000)
#创建软件I2C对象
i2c = SoftI2C(sda=Pin(23), scl=Pin(18))
#创建OLED对象,OLED分辨率、I2C接口
oled = SSD1306_I2C(128, 64, i2c)
#程序入口
if __name__=="__main__":
while True:
a=random.randint(0,122)
b=random.randint(2,8)
c=random.randint(2,8)
oled.rect(a,1,b,c,1) #画矩形
oled.show() #执行显示
oled.hline(0,0,128,0) #清除移动前显示区
oled.scroll(0,1) #指定像素X轴移动
time.sleep_ms(2)
竖线滚动
'''
接线:OLED(IIC)
SCL-->(18)
SDA-->(23)
'''
#导入Pin模块
from machine import Pin
import time
from machine import SoftI2C
from ssd1306 import SSD1306_I2C #I2C的oled选该方法
import random
#创建硬件I2C对象
#i2c=I2C(0,sda=Pin(19), scl=Pin(18), freq=400000)
#创建软件I2C对象
i2c = SoftI2C(sda=Pin(23), scl=Pin(18))
#创建OLED对象,OLED分辨率、I2C接口
oled = SSD1306_I2C(128, 64, i2c)
a=0
#程序入口
if __name__=="__main__":
while True:
a=random.randint(0,63)
b=random.randint(0,20)
oled.vline(125,a,b,1)
oled.show() #执行显示
oled.vline(127,0,64,0) #清除移动前显示区
oled.vline(126,0,64,0) #清除移动前显示区
oled.scroll(-2,0) #指定像素X轴移动
随机点滚动
'''
接线:OLED(IIC)
SCL-->(18)
SDA-->(23)
'''
#导入Pin模块
from machine import Pin
import time
from machine import SoftI2C
from ssd1306 import SSD1306_I2C #I2C的oled选该方法
import random
#创建硬件I2C对象
#i2c=I2C(0,sda=Pin(19), scl=Pin(18), freq=400000)
#创建软件I2C对象
i2c = SoftI2C(sda=Pin(23), scl=Pin(18))
#创建OLED对象,OLED分辨率、I2C接口
oled = SSD1306_I2C(128, 64, i2c)
a=0
#程序入口
if __name__=="__main__":
while True:
a=random.randint(0,63)
oled.pixel(126,a,1) #显示一个像素点
oled.show() #执行显示
oled.vline(127,0,64,0) #清除移动前显示区
oled.scroll(-1,0) #指定像素X轴移动