博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PYB Nano驱动OLED显示
阅读量:5912 次
发布时间:2019-06-19

本文共 1916 字,大约阅读时间需要 6 分钟。

hot3.png

这是论坛网友hbzjt2012的作品:

http://www.micropython.org.cn/forum.php?mod=viewthread&tid=408&extra=

这次使用PYB Nano驱动0.96寸OLED显示屏,此次参考了国外网友的例程,OLED可以使用SPI或者I2C均可。

【1】硬件连接:

这里以SPI连接方式为例,使用PYB Nano的SPI1:

162856l7rjgegij9re6hlb.jpg

【2】程序源码:
库文件:SSD1306

import pybfrom ssd1306 import SSD1306# SPIdisplay = SSD1306(pinout={'dc': 'Y9',                          'res': 'Y10'},                  height=64,                  external_vcc=False)# I2C connected to Y9, Y10 (I2C bus 2)# display = SSD1306(pinout={'sda': 'Y10',#                           'scl': 'Y9'},#                   height=64,#                   external_vcc=False)led_red = pyb.LED(1)led_red.off()try:  display.poweron()  display.init_display()  display.draw_text(1,1,'PYB Nano OLED Test',size=1,space=1)  display.draw_text(1,10,'Hello MicroPython!',size=1,space=1)    # Write display buffer  display.display()  pyb.delay(10000)  x = 0  y = 0  direction_x = True  direction_y = True  while True:    # Clear the previous lines    prev_x = x    prev_y = y    # Move bars    x += (1 if direction_x else -1)    y += (1 if direction_y else -1)    # Bounce back, if required    if x == 128:       direction_x = False       x = 126    elif x == -1:       direction_x = True       x = 1    if y == 64:       direction_y = False       y = 63    elif y == -1:       direction_y = True       y = 1    # Draw new lines    for i in range(64):      display.set_pixel(prev_x, i, False)      display.set_pixel(x, i, True)    for i in range(128):      display.set_pixel(i, prev_y, False)      display.set_pixel(i, y, True)    # Make sure the corners are active    display.set_pixel(0,   0,  True)    display.set_pixel(127, 0,  True)    display.set_pixel(0,   63, True)    display.set_pixel(127, 63, True)        # Write display buffer    display.display()except Exception as ex:  led_red.on()  print('Unexpected error: {0}'.format(ex))  display.poweroff()

【3】显示效果:

162858jl7dksjs7z604z0k.jpg 

162858r4pgptg6tgm4w8ms.jpg 

转载于:https://my.oschina.net/shaoziyang/blog/800349

你可能感兴趣的文章
TRex 学习(2) ---- stateful (basic)
查看>>
[高并发Java 二] 多线程基础
查看>>
PHP源码目录结构
查看>>
Linux桌面虚拟化技术KVM介绍及其安装
查看>>
硬盘主引导记录详解
查看>>
2017-12-19 Linux学习笔记
查看>>
用户与用户组管理
查看>>
【MySQL】数据库逻辑备份工具(mysqldump)
查看>>
CentOS 6.8 手工安装 Firefox
查看>>
【栈】POJ 1028 Web Navigation
查看>>
[文摘]JDK里的设计模式
查看>>
jQuery节点操作
查看>>
初学大数据需要了解哪些方面的知识?
查看>>
能量山水画家武湲承:搬运时空能量,聚藏山水画中
查看>>
谈一次异步上传到又拍云的案例教程
查看>>
【Ubuntu】IBM资料学习笔记
查看>>
C#接收命令行参数的代码
查看>>
xcode svn的操作(1)
查看>>
判断ip的有效性---boost
查看>>
android activity之间传递对象
查看>>