文档章节

PYB Nano驱动OLED显示

shaoziyang
 shaoziyang
发布于 2016/12/05 21:09
字数 296
阅读 60
收藏 0
点赞 0
评论 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
粉丝 11
博文 75
码字总数 25881
作品 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
最小的MicroPython开发板PYB Nano

PYB Nano是目前最小的MicroPython开发板,它只有Nucleo32和Arduino Nano大小,却包含了全部的MicroPython的功能。 PYB Nano的主要特点: 支持 macroUSB 2路UART 3路I2C 3路SPI 10路ADC 支持R...

shaoziyang
2016/10/15
53
0
在 PYB Nano 上用LED测光强

很早以前,TI在推广MSP430时做个一个demo,用普通LED测环境光强,下面我们在PYB Nano上也来实验一下。 使用LED测光强的原理是LED其实也是二极管,它的PN结的结电容会受光强影响,放电或充电速...

shaoziyang
2016/10/19
28
0
PYB Nano 开发板开展试用活动

我们和云汉社区合作,开展PYB Nano开发板试用活动了,有兴趣的网友可以去申请一下。 http://bbs.ickey.cn/e/try/detail?pid=66 如果等不及试用,也可以参加我们的团购活动。 开发板团购...

shaoziyang
2016/11/09
11
0
PYB Nano 开发板的完整设计文档

一直有网友在询问PYB Nano的设计文件,希望可以参考。今天将文档整理出来,放在github和oschina上,方便大家参考。 完整的文档包括下面内容: 开发板定义文件 开发板二进制固件 CAD文件(Alt...

shaoziyang
2016/11/27
22
0
【PYB Nano】用定位器控制LED亮度

下面的Demo演示了用定位器控制LED亮度。 使用到一个外部的定位器,并将定位器连用杜邦线接到PYB Nano的引脚:X9/PB1。 然后输入下面的程序 改变定位器,就会在屏幕上输出当前ADC的结果,同时...

shaoziyang
2016/10/25
10
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用爬虫实现代理IP池之放弃篇

啥叫代理IP以及代理IP池 概念上的东西网上搜索一下就好了,这里简单科普一下(大部分会读这篇文章的人,基本是不需要我来科普的),白话说就是能联网并提供代理访问互联网的服务器,它提供的...

一别丶经年
18分钟前
0
0
rabbitmq学习记录(五)交换机Exchange-fanout

之前学习的都是一条消息发给一个消费者,下面开始记录如何把一条信息发给多个消费者 这边我们用到了交换机Exchange 交换机模式:fanout 模式特点:生产者把消息发送给Exchange之后,Exchang...

人觉非常君
40分钟前
0
0
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 Sqoop Hive HBase 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用复杂SQL 调整Hive数据类型 不断更新 ...

hblt-j
45分钟前
0
0
Dart 服务端开发 文件上传

clent端使用angular组件 upload_component.html form id="myForm" method="POST" enctype="multipart/form-data"> <input type="file" name="fileData"> <!-- file field --></form>......

scooplol
45分钟前
0
0
apache和tomcat同时开启,乱码问题

tomcat和apache同时开启,会走apache的转发,执行的是AJP/1.3协议。所以在tomcat的配置文件server中, <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" useBodyEncodingForU......

Kefy
今天
0
0
使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录 和ssh常用命令

ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利 第一步...

xtof
今天
0
0
orcale 查询表结构

SELECT t.table_name, t.colUMN_NAME, t.DATA_TYPE || '(' || t.DATA_LENGTH || ')', t1.COMMENTS FROM User_Tab_Cols t, User_Col_Comments t1WHERE t.table_name......

wertwang
今天
0
0
Java 之 反射

反射,剖析 Java类 中的 各个组成部分,映射成 一个个 Java对象,多用于 框架和组件,写出复用性高的通用程序。 测试类代码如下: class Person { private String name; public St...

绝世武神
今天
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
今天
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部