micropython 通过spi驱动LCD显示屏

2023-11-09

    我呢一直对电路设计和程序设计有非常大的爱好,不好说有多精通,纯属个人弄着玩的,所以后面有时间可以和大家一起来交流一下,另外最近也接触了一些PCB,所以一些开发板之类的都自己设计制作了。

    今天讲的是通过micropython来驱动LCD显示,用的到设备主要是:一块SPI接口的显示屏、一块ESP32开发板、面包板,再加上一些跳线就够了。

    用到的东西的全家福^-^:

     图中开发板是我自己打板的,所以有些对不上的没关系,在自己的开发板上找对应端口就好了。

     在连线之前,先发一张ESP32端口图,还有一些相关的知道就需要自己去学习了。

来看看SPI端口定义

    截图文档来源地址: https://docs.micropython.org/en/latest/esp32/quickref.html 

    从文档中可以看到ESP32有两个硬件SPI接口,这两组随便哪组都可以了,当然也有软件实现的SPI,在大部分接口上都可以,这个具体看文档就好了。

    接着最好能找到显示屏的驱动芯片型号,这样可以方便驱动起来,我的是ST7735,驱动文件在文章末尾。

    我们这里就使用第二组,实现代码如下

import machine
from machine import SPI,Pin

# 初始化屏幕显示
from ST7735 import TFT
from sysfont import sysfont
tft_spi = SPI(2, baudrate=20000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23))
# 引脚对应关系
#  21 --- dc
#  22 --- rst
#  19 --- cs
#  5  --- blk 亮度控制,可以通过PWM控制LCD的亮度,当然可以不接,这样就是最大亮度
tft=TFT(tft_spi,dc=21,rst=22,cs=19,blk=5)
tft.initr()
tft.rgb(True)
tft.fill(TFT.BLACK)
# 调整亮度为50%
tft.light(50)


# 显示内容
tft.text((1,1),"Hello World !",TFT.YELLOW)

线接对的话基本上就没什么太大的问题了,只要搞明白之后就还是比较简单的了。

文末放了ST7735 MicroPython的驱动文件,需要可以直接下载。

下载地址:https://download.csdn.net/download/weixin_57604547/25674034

另外提供百度盘的下载地址:

链接: https://pan.baidu.com/s/1XhkzrQvw_LoGOtjO1Xv9Yw 提取码: nlk0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

micropython 通过spi驱动LCD显示屏 的相关文章

  • 处理连接重置错误

    我有一个关于在 Python3 中处理 ConnectionResetError 的问题 当我使用 urllib request Request 函数时 通常会发生这种情况 我想知道如果我们遇到这样的错误是否可以重做请求 例如 def ge
  • 在单个图中,由“标签”列分割的所有列的箱线图

    看着箱线图 API 页面 http seaborn pydata org generated seaborn boxplot html seaborn boxplot 我想要看起来像这样的组合的东西 gt gt gt iris sns lo
  • 重新格式化 csv 文件

    我有这个 csv 文件 其中只有两个条目 这里是 Meat One Abattoirs Exporters Food Delivery Butchers Retail Meat Dealers Retail Meat Freezer Mea
  • 在 Python 中使用 argparse 处理无效参数

    我在用argparse https docs python org 2 library argparse html解析命令行参数 默认情况下 在收到无效参数时 它会打印帮助消息并退出 是否可以自定义 argparse 在收到无效参数时的行为
  • Pandas.read_csv() 列名称中带有特殊字符(重音符号)�

    我有一个csv包含一些带有列名称的数据的文件 时期 IAS brut IAS liss 发生率 哨兵 我对第三个有疑问 IAS liss 这是被误解的pd read csv 方法并返回为 那个角色是什么 因为它在我的烧瓶应用程序中生成错误
  • 如何让电脑看起来像是在打字? [复制]

    这个问题在这里已经有答案了 我希望它看起来像是计算机正在尝试向用户输入信息 我尝试了一些代码 但是当我运行它时 它只是一次打印所有内容 即使我一次打印 1 个 A Random sentence for x in A time sleep
  • Dataproc:使用 PySpark 从 BigQuery 读取和写入数据时出现错误

    我正在尝试读取一些 BigQuery 数据 ID my project mydatabase mytable 原始名称受保护 来自用户管理的 Jupyter Notebook 实例 内部Dataproc https cloud google
  • Python 列联表

    作为我正在编写的项目的一部分 我正在生成很多很多列联表 工作流程是 获取具有连续 浮点 行的大型数据数组 并通过分箱将其转换为离散整数值 例如 结果行的值为 0 9 将两行切片为向量 X 和 Y 并生成列联表 https en wikipe
  • 如何获取类变量和类型提示?

    假设我定义一个类 其中包含带有类型提示的类级别变量 例如新的 python 3 7dataclasses class Person name str age int def parse me self what do I do here 我
  • 将 Fabric env.hosts 字符串作为变量传递在函数中不起作用

    将 Fabric env hosts 字符串作为变量传递在函数中不起作用 demo py usr bin env python from fabric api import env run def deploy hosts command
  • buildozer android NDK 未下载 Ubuntu

    我使用的是 Ubuntu 16 04 LTS 操作系统 我已经在 python2 和 python3 中安装了 buildozer android sdk 已安装 但 buildozer 在下载 android NDK 时显示错误 请帮我解
  • Python 中函数未定义错误

    我试图在 python 中定义一个基本函数 但当我运行一个简单的测试程序时 我总是收到以下错误 gt gt gt pyth test 1 2 Traceback most recent call last File
  • 其中 Py_FileSystemDefaultEncoding 在 python 源代码中设置

    我很好奇python源代码如何设置Py FileSystemDefaultEncoding的值 我收到了一件奇怪的事情 自从Pythondoc https docs python org 2 library sys html sys get
  • 计算具有不均匀间隔点的 3D 梯度

    我目前有一个由几百万个不均匀间隔的粒子组成的体积 每个粒子都有一个属性 对于那些好奇的人来说是潜力 我想计算其局部力 加速度 np gradient 仅适用于均匀分布的数据 我在这里查看 numpy 中的二阶梯度 https stackov
  • 在 Mac OS X 中安装 Avro

    我正在查看 Avro RPC for Python 网址为https github com phunt avro rpc quickstart python https github com phunt avro rpc quickstar
  • 如何在QTextEdit中自动滚动文本(动画效果)?

    我想问一下如何让QTextEdit中的文字滚动 达到动画效果 动画效果应该类似于视频中所示的效果 https www youtube com watch v MyeuGdXv4XM https www youtube com watch v
  • 在 Python 中规范化数字列表

    我需要对值列表进行标准化以适应概率分布 即在 0 0 和 1 0 之间 我明白how标准化 但很好奇 Python 是否有一个函数可以自动执行此操作 我想从 raw 0 07 0 14 0 07 to normed 0 25 0 50 0
  • 如何从初始化参数中正确设置 Python 类属性

    作为一名 Python 程序员 我经常声明类似的类 class Foo def init self attr1 attr2 attr3 attr4 attr5 attr6 attr7 attr8 attr9 self attr1 attr1
  • 将数据帧转换为多列的系列

    我尝试将数据帧转换为系列但它显示以下错误 我使用 pandas Series Dataframe gt 将 Dataframe 转换为系列 我想要第一张图像格式的输出 请尝试以下方法从提到的数据中获取 Series 对象 假设data是您正
  • 加载所有腌制对象[重复]

    这个问题在这里已经有答案了 import pickle ListNames Name1 City1 Email1 Name2 City2 Number2 ListNumbers 1 2 3 4 5 6 7 8 with open TestP

随机推荐

  • vue的安全隐患(一)

    vue安全方面的知识 第一原则永远不要使用不信任的模板 在vue中使用不信任的模板这等于允许在应用程序中执行任意的javascript代码 甚至更糟糕的是服务器可能会被攻破 比如在 template sertppp 不要这样做因为vue的模
  • 强化学习的几种环境介绍

    前言 对于强化学习相关的几种环境介绍 主要包括Mini world Gym maze Grid world gym minigrid Mini world https github com maximecb gym miniworld Mi
  • 用c语言设计加减乘除自动出题程序,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....

    include include stdlib h define N 10 void fun int a b t char c scanf d a scanf c c scanf d b if c c c c c if c t a b if
  • 关于unique case和priority case语法

    SystemVerilog对于case casez casex语句新增了两个特殊的修饰符 unique及priority 其语法规则如下 unique case
  • 疫情信息获取。

    爬取目标 腾讯新闻 疫情数据 确定信息 在目标网页按F12 在全局数据中寻找 发现有目标数据 接下来在Network中寻找数据并在Headers中获得链接地址 也可以点击搜索查找 较为方便 省份数据和全球数据也是同样的方法 注意图二 最终确
  • 【JS逆向】之webpack逆向实战

    声明 本文只作学习研究 禁止用于非法用途 否则后果自负 如有侵权 请告知删除 谢谢 目标网站 aHR0cHM6Ly8xNTE0NjQ2LmNvbS9sb2dpbg 引言 webpack对于有研究过人的来说就是 难度并不是很高 但是因为web
  • xss过滤绕过方法总结

    xss注入常用语句 1 2 img src 3 img src 4
  • JS 将数组写入表单

    将数据写入表单 var rowData 1 2 3 function insertToForm rowData if rowData length lt 1 alert 没有数据 else var form formID for var i
  • C++中的类模板定义及实例化

    转载自Out man 文章目录 一 类模板定义及实例化 定义一个类模板 类模板实例化 二 类模板的成员函数 一 类模板定义及实例化 定义一个类模板 template
  • 关于C/C++运算符优先级问题探讨

    最近在知乎上看到一个c c 运算符连写的问题 引发了诸多网友的讨论 具体内容如下图 乍一看 这句代码很长 确实有些让人糊涂 尤其是学习过python的同学 对此写法不太理解 今天我们一起来说一说 优先级 在c语言的表达式中 如果存在多个运算
  • 第1章-爬虫简介(http请求)

    第1章 爬虫简介 一 通讯协议 二 网络模型 三 Http请求与响应 3 1 Http通信 3 2 Http请求 3 3 Http请求方法 四 几个概念 4 1 GET和POST 4 2 URL组成部分 4 3 User Agent 户代理
  • 基于Linux环境的PPPOE服务器搭建

    转载 https www imooc com article 50559 VMware ubuntu虚拟机上搭建PPPOE服务器 https blog csdn net rheostat article details 8069778
  • 随手记怎么样靠谱吗?随手记平台不触碰用户资金

    随着经济的快速发展和人们理财意识的增强 互联网理财在人们的日常生活中逐步普及 而随手记作为随手集团旗下集手机记账 财务规划 金融服务 社区投资者教育等功能于一体的个人财务管理和金融服务品牌 其推出的理财产品受到不少理财投资者的青睐 但是 随
  • 什么是渲染目标(render target)&& 渲染到纹理(Render To Texture, RTT)详解

    渲染到纹理 Render To Texture RTT 详解 RTT是现在很多特效里面都会用到的一项很基本的技术 实现起来很简单 也很重要 但是让人不解的是网上搜索了半天只找到很少的文章说这个事儿 不知道是因为太简单还是因为这项技术已经出现
  • docker安装觅思文档(mrdoc)

    mrdoc文档地址 https mrdoc fun doc 18 mrdoc项目地址 GitHub zmister2016 MrDoc mrdoc online document system developed based on pyth
  • STM32逆变器控制

    ADC引脚分配 直流电压 Vc1 PA0 Vc2 PA1 电网电压 U1 V1 W1 AD7323 PB3 PB4 PB5 逆变器输出电压 UCA UCB UCC AD7323 PB13 PB14 PB15 电容电流采样 ICa ICb I
  • Mybatis解释及Mybatis项目搭建

    一 什么是Mybatis MyBatis是一个持久层框架 属于JDBC的替代方案之一 他的前身是iBatis 它属于ORM关系型映射 ORM O R Mapping 对象关系映射 是一种把内存中的对象保存到关系型数据库的技术 用它封装数据库
  • jmeter报错:jmeter java.net.SocketException: Connection reset

    jmeter java net SocketException Connection reset 网络慢 导致
  • HBuilder mui登录和访问控制教程

    HBuilder mui登录和访问控制教程 mui中提供了登录的模板页 但是对于登录后各个页面的访问控制 刷新等并没有官方的推荐方案 我在这里简单说一种初级的解决方案吧 肯定有不足指出 欢迎批评指正 第一节中创建移动APP项目的时候选择的是
  • micropython 通过spi驱动LCD显示屏

    我呢一直对电路设计和程序设计有非常大的爱好 不好说有多精通 纯属个人弄着玩的 所以后面有时间可以和大家一起来交流一下 另外最近也接触了一些PCB 所以一些开发板之类的都自己设计制作了 今天讲的是通过micropython来驱动LCD显示 用