文档章节

PYB Nano驱动OLED显示

shaoziyang
 shaoziyang
发布于 2016/12/05 21:09
字数 296
阅读 73
收藏 0

这是论坛网友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:


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

import pyb
from ssd1306 import SSD1306

# SPI
display = 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】显示效果:

 
 

本文转载自:http://www.micropython.org.cn/forum.php?mod=viewthread&tid=408&extra=

共有 人打赏支持
shaoziyang
粉丝 12
博文 76
码字总数 25946
作品 0
武汉
程序员
私信 提问
PYB Nano 开发板快速指南

PYB Nano 开发板快速指南 这篇快速指南是为 MicroPython 和 PYB Nano 的初学者写的,通过这个文档,可以快速掌握 MicroPython 和 PYB Nano 的基本使用方法。 PYB Nano开发板简介 PYB Nano开发...

shaoziyang
2016/10/31
680
0
【PYB Nano】驱动气压传感器BMP180

BMP180也是DIY时常用的气压传感器,它的特点是体积小,接口简单(I2C)。下面演示在PYB Nano上使用BMP180。 接线方式和连线图如下: b=BMP180(1)b.getPress() 主要的函数有:...

shaoziyang
2016/10/24
12
0
在PYB Nano上驱动DS3231

DS3231是常见的一种RTC模块,价格低,使用简单方便,带有闹钟。在PYB Nano上使用它也非常简单。 接线方式和连线图如下: DS3231 PYB Nano GND GND VCC 3V3 SDA Y0/PB9 SCL Y1/PB8 将DS3231库...

shaoziyang
2016/10/21
26
0
【PYB Nano】连接SD卡

因为大小限制,所以STM32F401CEU6没有SD接口,因此PYB Nano上也没有了SD/macroSD,这给存储大数据带来一点不便。不过我们可以通过SPI接口挂载SD,下面介绍具体的连接方法。 通过SPI方式连接,...

shaoziyang
2016/10/24
15
0
PYB Nano v1.1 开发板文档

PYB Nano v1.1开发板文档 原理图: sch.zip (88.81 KB, 下载次数: 0) 元件表: bom.zip (8.65 KB, 下载次数: 0) 固件:PYB Nano v1.1 开发板固件 3D图:...

shaoziyang
2016/10/18
22
0

没有更多内容

加载失败,请刷新页面

加载更多

我为什么坚持写作

说写作可能是抬高了自己,目前来说只能是写东西、记录东西、表达观点和情感。 在俞敏洪的公众号上看到过一篇文章,里面讲了一个观点,大概是说写作不求能写出伟大的作品,只是把自己的生活、...

Bob2100
56分钟前
1
0
中国公有云三巨头,同时支持Rancher Kubernetes平台

华为云容器引擎(CCE)、阿里云K8S容器服务(ACK)和腾讯云K8S引擎(TKE),中国公有云三巨头正式全面支持Rancher Kubernetes平台。 Rancher正式宣布扩大对中国领先Kubernetes服务的支持,华...

RancherLabs
58分钟前
0
0
【NLP】【八】基于keras与imdb影评数据集做情感分类

【一】本文内容综述 1. keras使用流程分析(模型搭建、模型保存、模型加载、模型使用、训练过程可视化、模型可视化等) 2. 利用keras做文本数据预处理 【二】环境准备 1. 数据集下载:http:...

muqiusangyang
今天
1
0
nginx 解决session一致性

session 粘滞性 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 upstream backserver {ip_hash;server 192.168.0.14:88;server 192.1...

zhu_kai1
今天
2
0
使用Cloud application Studio在C4C UI里创建下拉列表(dropdown list)

在Cloud Application Studio里新建一个Code List Data Type: 维护Value和描述信息,以及在ABSL里使用的constant值。 保存之后,上述维护的信息会存储到一个名为.codelist 的文件里。激活之后...

JerryWang_SAP
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部