ESP32-8位数码管
ESP32-8位数码管使用
- 简介
- 一、连接引脚
- 二、使用步骤
- 1.创建代码
- 2.保存运行
- 总结
简介
详细了解数据管请移步,LED数码管结构与工作原理
一、连接引脚
有3根引脚,名称与功能如下;
vcc 为外接供电电源输入端
GND 地线
DOUT 连接ESP32的19引脚
LOAD 连接ESP32的18引脚
CLK 连接ESP32的21引脚
二、使用步骤
1.创建代码
代码如下(示例):
# Registers and associated values
_NOOP = const(0x0) # Used when cascading Max7219
_DIGIT0 = const(0x1)
_DIGIT1 = const(0x2)
_DIGIT2 = const(0x3)
_DIGIT3 = const(0x4)
_DIGIT4 = const(0x5)
_DIGIT5 = const(0x6)
_DIGIT6 = const(0x7)
_DIGIT7 = const(0x8)
_DECODEMODE = const(0x9) # (0 = no decode/raw segment values, 1 = decode only digit 0, 0xFF = decode on all digits)
_INTENSITY = const(0xA) # (0 = lowest intensity, 0xF = max intensity)
_SCANLIMIT = const(0xB) # (0 = display digit 0 only, 7 = display all 7 digits)
_SHUTDOWN = const(0xC) # (0 = shutdown, 1 = normal operation)
_DISPLAYTEST = const(0xF) # (0 = normal mode, 1 = test mode)_HEX_TO_SEG = { 0x0: 0b1111110, 0x1: 0b0110000, 0x2: 0b1101101, 0x3: 0b1111001, 0x4: 0b0110011,0x5: 0b1011011, 0x6: 0b1011111, 0x7: 0b1110000, 0x8: 0b1111111, 0x9: 0b1111011,0xA: 0b1110111, 0xB: 0b0011111, 0xC: 0b1001110, 0xD: 0b0111101, 0xE: 0b1001111,0xF: 0b1000111, }class Max7219:def __init__(self, spi, cs):self.spi = spiself.cs = csself.cs.init(cs.OUT, True)self.init()def register(self, command, data):self.cs.value(0)self.spi.write(bytearray([command, data]))self.cs.value(1)def init(self):for command, data in ((_SHUTDOWN, 0), # Turn display off(_SCANLIMIT, 7), # Display all 7 digits(_DECODEMODE, 0xFF),# Decode all digits (_INTENSITY, 0x3), # Set brightness to 3(_SHUTDOWN, 1), # Turn display on):self.register(command, data)def brightness(self, value):if 0 <= value <= 15:self.register(_INTENSITY, value)else:raise ValueError("Brightness out of range")def clear(self):self.register(_DECODEMODE, 0xFF)for i in range(8):self.register(_DIGIT0 + i, 0x0)def write_num(self, value):self.register(_DECODEMODE, 0xFF)if (0 <= value <= 99999999):for i in range(8):self.register(_DIGIT0 + i, value % 10)value = value // 10elif (0 > value >= -9999999):value = -valueself.register(_DIGIT7, 0xA)for i in range(7):self.register(_DIGIT0 + i, value % 10)value = value // 10else:raise ValueError("Value out of range")def write_hex(self, value):self.register(_DECODEMODE, 0x0)if (0 <= value <= 99999999):for i in range(8):self.register(_DIGIT0 + i, _HEX_TO_SEG[value % 16])value = value // 16else:raise ValueError("Value out of range")if __name__ == '__main__':from machine import TouchPad, Pin,SPIimport utime#MAX7219软SPI实现vspi = SPI(2, sck=Pin(21), mosi=Pin(19), miso=Pin(18), baudrate=10000000)display = Max7219(vspi, Pin(18))#清空屏幕display.clear()# 设置亮度#设置数码管亮度亮度范围(0-15)默认为最大亮度15bright=10display.write_num(12345678)
2.保存运行
如果如下(示例):
总结
这个8位数码管可以显示8位数字
ESP32-8位数码管相关推荐
- 物联网开发笔记(23)- 使用Micropython开发ESP32开发板之控制4位数码管
上一节我们讲解了如何控制单个数码管,这一节我们来一起学一下如何控制4位数码管. 一.目的 使用MicroPython开发ESP32控制4位数码管 二.环境 ESP32+数码管+Thonny IDE+电 ...
- Micropython ESP32驱动CH455控制4位数码管
Micropython ESP32驱动CH455控制4位数码管 1.硬件 CH455驱动4位共阴数码管的原理图如下所示. ESP32-S模块,用GPIO4作为SCL和GPIO16作为SDA. 2.软件 ...
- ESP32 TM1637显示4位数码管
文章目录 简介 结果 源码 简介 TM1637驱动4位数码管(4 digital display)是一种比较常用的模块,也是比较常见的数码管驱动方式.为了在数码管上显示信息,尝试了库TM1637(不能 ...
- Ardino基础教程 16_一位数码管
实验十六:一位数码管 数码管是一种常见的普遍的显示数字的显示器件,日常生活中例如:电磁炉,全自动洗衣机,太阳能水温显示,电子钟--等等数不甚数.说以掌握数码管的显示原理,是很有必要的. 数码管是一种半 ...
- 2440 8字数码管 显示0到10 c语言,51单片机对8位数码管依次显示0-7的设计
共阳极数组0~9:display[]={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90} 共阳极数组A~F:display[]={0x88,0x83 ...
- void函数调用时显示不允许使用不完整的_4位数码管显示模块驱动
TM1637四位数码管模块是一个带时钟点的4位共阳数码管(0.36英寸)的显示模块,驱动芯片为TM1637,驱动方式为IIC,因此只需2根信号线即可使单片机控制4位8段数码管(数码管8级亮度可调). ...
- c语言数码管的动态显示时间,8位数码管动态显示时间,可调节,调节的数闪烁显示...
原标题:8位数码管动态显示时间,可调节,调节的数闪烁显示 // 时间,可调节, //调节时间时,调节的数闪烁显示: //比较两种闪烁的方法: #include #define uint unsigne ...
- 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...
- 定时器中断实验 编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。
编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms使两位数码管从00.01.02--98.99每间隔500ms加1显示. 程序: #include <reg51.h> ...
- 定时器中断实验 编写程序使定时器0或者定时器1工作在方式1,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。
编写程序使定时器0或者定时器1工作在方式1,定时500ms使两位数码管从00.01.02--98.99每间隔500ms加1显示. 程序: #include <reg51.h> #defin ...
最新文章
- jquery jcrop java_jcrop基本参数一览
- php----http协议 Cookie
- 云鲸扫拖一体机器人说明书_比老公更好用的扫拖一体机—自动洗拖布的云鲸扫拖机器人使用体验...
- 《ASP.NET Core 微服务实战》-- 读书笔记(第12章)
- [转]使用C#开发ActiveX控件
- BugkuCTF-MISC题爆照
- 06 - java 方法
- 解读新突破“中国量子计算机”,真比神威·太湖之光还厉害?
- 我和2000万人在B站刷凤凰传奇
- Struts2请求处理流程及源码分析
- DS18B20使用说明
- python-微信公众个性二维码生成-生成自己名片二维码-链接二维码【超酷】
- HTML:自定义修改鼠标指针
- 浅析智能访客机的应用
- 关于GetDC()和ReleaseDC()的问题
- codeforces1194B Yet Another Crosses Problem 思维
- itext给已有pdf添加页眉页脚
- Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)---zhangkaitao
- CAD-Cass小结(4)——Cass、CAD对图像校正与等高线矢量化
- ffffffffffffff
热门文章
- Mac使用技巧:关闭系统自动更新
- odb访问mysql数据库(odb的简单用法1)
- 理解 asyncio 来构建高性能 Python 网络程序 - Ricequant米筐量化
- Freeswitch 常用功能命令及配置详解2021-06-06
- esp32语音播放天气预报
- 联想d30做文件服务器,应对极限运算挑战 联想D30工作站评测
- 戴尔服务器H330阵列卡取消磁盘阵列教程
- python人脸对比相似度_Python比较两个图片相似度的方法
- 4k hidpi 黑苹果_不折腾不舒服 篇一:2K显示器不得不说的尴尬及解决方案,聊聊MacOS开启HiDPI...
- 如何调试 chrome插件