4051|4

212

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

PYB Nano I2C驱动 OLED显示 [复制链接]

 
        在之前的帖子中PYB Nano开发板使用了SPI方式驱动OLED进行显示,今天发现手里的小e开发板使用的OLED为I2C方式,于是PYB Nano开发板用I2C驱动OLED进行了验证。
【1】硬件连接:
使用PYB Nano开发板的I2C(1),对应的引脚为Y0(SDA)、Y1(SCL):


【2】程序源码:
库文件参看:PYB Nano驱动OLED显示
  1. import pyb
  2. from ssd1306 import SSD1306

  3. # SPI
  4. #display = SSD1306(pinout={'dc': 'Y9',
  5. # 'res': 'Y10'},
  6. # height=64,
  7. # external_vcc=False)

  8. # I2C connected to Y0, Y1 (I2C bus 1)
  9. display = SSD1306(pinout={'sda': 'Y0',
  10. 'scl': 'Y1'},
  11. height=64,
  12. external_vcc=False)

  13. led_red = pyb.LED(1)
  14. led_red.off()

  15. try:
  16. display.poweron()
  17. display.init_display()

  18. display.draw_text(1,1,'PYB Nano OLED Test',size=1,space=1)
  19. display.draw_text(1,10,'Hello MicroPython!',size=1,space=1)

  20. # Write display buffer
  21. display.display()
  22. pyb.delay(10000)

  23. x = 0
  24. y = 0
  25. direction_x = True
  26. direction_y = True

  27. while True:
  28. # Clear the previous lines
  29. prev_x = x
  30. prev_y = y

  31. # Move bars
  32. x += (1 if direction_x else -1)
  33. y += (1 if direction_y else -1)

  34. # Bounce back, if required
  35. if x == 128:
  36. direction_x = False
  37. x = 126
  38. elif x == -1:
  39. direction_x = True
  40. x = 1
  41. if y == 64:
  42. direction_y = False
  43. y = 63
  44. elif y == -1:
  45. direction_y = True
  46. y = 1

  47. # Draw new lines
  48. for i in range(64):
  49. display.set_pixel(prev_x, i, False)
  50. display.set_pixel(x, i, True)
  51. for i in range(128):
  52. display.set_pixel(i, prev_y, False)
  53. display.set_pixel(i, y, True)

  54. # Make sure the corners are active
  55. display.set_pixel(0, 0, True)
  56. display.set_pixel(127, 0, True)
  57. display.set_pixel(0, 63, True)
  58. display.set_pixel(127, 63, True)

  59. # Write display buffer
  60. display.display()

  61. except Exception as ex:
  62. led_red.on()
  63. print('Unexpected error: {0}'.format(ex))
  64. display.poweroff()
复制代码
【3】显示效果:








最新回复

这个板子上有一个ESP8266,可以用ESP8266的micropython在写一个OLED驱动。   详情 回复 发表于 2016-12-12 21:06

赞赏

1

查看全部赞赏

点赞 关注
 
 

回复
举报

1237

帖子

66

TA的资源

纯净的硅(中级)

沙发
 
机智云板子?

点评

不是,借用了小e开发板的OLED屏  详情 回复 发表于 2016-12-12 19:43
 
 
 

回复

212

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

不是,借用了小e开发板的OLED屏
 
 
 

回复

1万

帖子

24

TA的资源

版主

4
 
这个板子上有一个ESP8266,可以用ESP8266的micropython在写一个OLED驱动。

点评

好的,貌似ESP8266要简单  详情 回复 发表于 2016-12-12 21:36
 
 
 

回复

212

帖子

0

TA的资源

一粒金砂(高级)

5
 
dcexpert 发表于 2016-12-12 21:06
这个板子上有一个ESP8266,可以用ESP8266的micropython在写一个OLED驱动。

好的,貌似ESP8266要简单
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表