这一节我们讲解了如何控制240x240的oled屏幕,该oled屏幕驱动芯片是ST7789,我们控制屏幕显示两行字。

一、目的

使用MicroPython开发ESP32开发板控制240x240的oled屏幕。

二、环境

ESP32 + 240x240的oled彩色屏幕+ Thonny IDE + 几根杜邦线

开发板和屏幕接线方法:

三、屏幕介绍

有8个引脚,通过SPI协议进行通信。使用的芯片是ST7789。至于什么是SPI协议?大家自行百度,这里不再赘述。

引脚定义如下:

四、使用方法

屏幕驱动下载地址:

百度网盘:

链接: https://pan.baidu.com/s/1S7Ve8kNj_xiSH5o9OrPZAQ 提取码: zxyp

导入以下两个库:st7789.py 和 st7789py.py

注意将st7789py.py的以下两行注释掉:

字体库:

字体库文件比较大,注意开发板的存储空间。它占用空间较大,所以代码写的复杂的话会出现申请内存error。

将以上文件和我们的代码放在开发板的根目录下即可

代码:

import random
from machine import Pin, SPI
import st7789
import st7789py
import vga2_bold_16x32 as font
import time# 解决第1次启动时,不亮的问题
st7789.ST7789(SPI(2, 60000000), dc=Pin(2), cs=Pin(5), rst=Pin(15))# 创建显示屏对象
tft = st7789py.ST7789(SPI(2, 60000000), 240, 240, reset=Pin(15), dc=Pin(2), cs=Pin(5), backlight=Pin(22), rotation=0)# 屏幕显示蓝色
tft.fill(0)# 显示Hello
tft.text(font, "Good luck!", 0, 0, st7789py.color565(255, 255, 0), st7789py.color565(0, 255, 0))def show_text():for rotation in range(4):tft.rotation(rotation)tft.fill(0)col_max = tft.width - font.WIDTH*6row_max = tft.height - font.HEIGHTfor _ in range(100):tft.text(font,"I love U!",random.randint(0, col_max),random.randint(0, row_max),st7789py.color565(random.getrandbits(8),random.getrandbits(8),random.getrandbits(8)),st7789py.color565(random.getrandbits(8),random.getrandbits(8),random.getrandbits(8)))time.sleep_ms(300)# 随机显示I love U!
while True:show_text()

五、演示效果

物联网开发笔记(27)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕(ST7789芯片)相关推荐

  1. 物联网开发笔记(30)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示二维码(ST7789芯片)

    一.目的 在我们的240x240的oled屏幕上显示二维码 二.环境 ESP32 + 240x240的oled彩色屏幕+ Thonny IDE + 几根杜邦线 接线方式请看上前面的章节,此处不再重复赘 ...

  2. MLX90640开发笔记(一)概述及开发资料准备

    现在自己在做红外成像仪的越来越多了,两年前有个井下机电设备运行状态的科研项目,当时使用了AMG8833(8*8像素).前段时间因为公司生产电路板测试需要,打算买一台红外成像仪测量电路板发热是否正常,商 ...

  3. 物联网开发笔记(9)- 使用Wokwi仿真MicroPython on ESP32开发板实现温度和湿度检测并使用屏幕显示

    一.测试环境 我们同样使用在Wokwi网站上选择Micropython with ESP32进行仿真,来进行温度和湿度的检测. ESP32官方技术参考手册: https://www.espressif ...

  4. 基于MicroPython的ESP32开发

    很久前入手了一块ESP32 DEVKIT V1,当时基于C_SDK开发.最近想搞下MicroPython,就又把这块板子找出来了. 一.先下载支持MicroPython的ESP32固件 去MicroP ...

  5. Android开发笔记(七十一)区分开发模式和上线模式

    为什么要区分两种模式 许多开发者(包括博主在内)都是闷骚的程序员,为了开发调试方便,常常在代码里加上日志,还经常在页面上各种弹窗提示.这固然有利于发现bug.提高软件质量,但过多的调试信息往往容易泄露 ...

  6. 【Visual C++】游戏开发笔记三十一 回归季 游戏开发资料整理打包下载 专栏行文思路整理

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  7. 外设驱动库开发笔记27:ESP8266无线通讯驱动

    我们的物联网产品所使用的平台都支持无线通讯,而且无线通讯本身更的成本较低,受到大家的欢迎.在本篇文章中,我们将详细讨论并实现ESP8266无线通讯模块的驱动. 1.功能概述 ESP8266是由乐鑫公司 ...

  8. 云炬WEB开发笔记2-7 代理神器CharlesFiddler

  9. STM32开发笔记27:STM32L0低功耗设计——RTC模块1秒时钟的产生方法

    单片机型号:STM32L053R8T6 在进行低功耗设计时,使用外部中断唤醒CPU是一个非常有用而且有效的方法,但是在某些特定的应用中,我们还希望CPU能够自己醒来去完成一些特定的操作,这就需要用到R ...

最新文章

  1. Python会消亡吗?
  2. 【PHP ThinkPHP框架】小bug汇总[更新]
  3. atom 代码都是白色 怎么显示颜色_IBC1.0完成,ATOM为什么没涨?
  4. 配置 Docker 加速器
  5. 13号线ab线规划图_南宁地铁线最新规划(20202035年)!喜添8条轨道普线、1条环线和4条快线…...
  6. HTTP/1.1与HTTP/1.0的区别
  7. vue(vue-cli+vue-router)+babel+webpack项目搭建入门 (第二步)
  8. MAPGIS67默认打开方式失败
  9. unity塔防游戏怪物转向_英雄塔防物语手游下载-英雄塔防物语安卓版下载v2.3.8
  10. 论文笔记 General Advantage Estimation(GAE)
  11. 【R语言】Studio的下载及安装及RStudio打开后空白的解决
  12. zdragon 厚积薄发(博客)
  13. 网络层HTPPS和HTTP的概念与区别
  14. float a=1.0f 这里的1.0f中的 f 代表什么?有什么意思?
  15. c语言中wait用法及意思,wait的用法总结大全
  16. Java多线程案例之线程池
  17. GitHub的使用方法
  18. Python3.7学习笔记30-垃圾回收机制
  19. 视频教程-微信小程序电商实战-PHP
  20. GBase 8a MPP Cluster 产品权限管理:回收权限

热门文章

  1. 新版支付宝开放平台 手机网页支付 整个流程
  2. 概率论:数字特征与极限定理——方差与标准差
  3. 电力机车半实物仿真测试系统
  4. linux系统ssh安装,安装ssh_Linux系统安装Autossh的方法
  5. 最简单的 libVLC 播放器
  6. 王道出版的机试指南_王道论坛计算机考研机试指南 四 排版题
  7. 微型计算机控制技术 王新,出版教材和专著 - 教材专著-建设成果 - 安全工程国家级实验教学示范中心(河南理工大学)...
  8. 计算机清理垃圾文件丢失怎么恢复,电脑管家清理的文件怎么恢复
  9. java递归怎么写_Java 基本的递归写法
  10. 基于C#+SqlServer开发(WinForm)学生宿舍管理系统【100010056】