74HC595驱动7x11点阵屏(LED-7X11-JHM)DEMO

主图

起因

由于我之前做了一个点阵时钟 ,但是无奈LED点阵屏价格比较贵,所以想找一个价格较为便宜的点阵来做便宜一点的点阵方案,再淘宝上看到有那种五毛钱一个的7x11的LED点阵,所以就想着试试搞一下这种点阵屏,这个由于是7x11的点阵,没有比较好的驱动芯片,只能自己想办法,此时就想起以前用的74HC595芯片,用这个芯片来驱动LED点阵试试。

淘宝截图

原理

  • 关于74HC595相关原理的可以参考我这篇 Arduino+2 片 74hc595 驱动 8x8 (共阳) 点阵 (1008BS)

由于点阵是7x11的格式,不是那种标准的8x8,所以代码的处理上都有些许的麻烦,所以可以把三个LED点阵看成一个整体,所以就是 7x33 的格式,需要的引脚就是 33+7= 40 个IO口,然后一个74HC595是可以控制8个IO口,这里用5个74HC595芯片即可。

原理图

立创PCB地址

74HC595驱动7x11点阵屏DEMO验证PCB

成品图

成品图1
成品图2

取模方法

  • 这是在线取模地址:点阵取模工具

这个取模主要是受代码控制,我这里的取模是直接用8x8的点阵取模逻辑,所以最末尾列是没有点亮的,这里可自行修改代码,具体请参考我的截图,不做过多解释

取模方法

arduino代码

  • 这里用ESP8266的代码为例,其他板子的代码只需要改改引脚地址即可
int latchPin = D6;
int clockPin = D7;
int dataPin = D5;
/**这里为啥是 7 - 57:表示每一行显示的内容5:前面第一个是表示每行的行号,后面四个表示每八个一列显示的内容所以这里取模的时候,第一列的值是固定的,后面每一列为一组,而不是一行为一组
*/
uint8_t nums_font[7][5] = {{0x3f, 0xe0, 0x7e, 0x10, 0x18},{0x5f, 0xa0, 0x81, 0x28, 0x3c},{0x6f, 0xee, 0xa5, 0x44, 0x7e},{0x77, 0x28, 0x81, 0x44, 0xff},{0x7b, 0xee, 0x99, 0x7c, 0x18},{0x7d, 0x0a, 0x81, 0x44, 0x18},{0x7e, 0x0e, 0x7e, 0x44, 0x18}};void setup() {Serial.begin(115200);pinMode(latchPin, OUTPUT);pinMode(clockPin, OUTPUT);pinMode(dataPin, OUTPUT);
}void loop() {// 首先我们先获取数字取模的结果// 这里为啥会是7,因为纵向只有七列for (int i = 0; i < 7; i++) {digitalWrite(latchPin, LOW);// 这里为啥是5?因为横向33列是由 4片74hc595 + 第5片74hc595的第一个引脚控制的for (int j = 0; j < 5; j++) {shiftOut(dataPin, clockPin, LSBFIRST, nums_font[i][(5-j)%5]);}digitalWrite(latchPin, HIGH);delay(1);}
}

尾巴

这里本来是想适配我那个点阵时钟代码的,但是由于这个的显示方式是逐行扫描,延迟只有1ms左右,所以搞起来很麻烦,需要一点时间去适配,希望后续可以搞定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/63753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阻塞队列的安全实现,定时器的安全实现(面试易考),超详细

一、&#x1f49b; 如何实现一个线程安全的阻塞队列 目前&#xff0c;当前代码是循环队列&#xff08;还没有进行改动&#xff09; head和tail的判空判断满两种方法: 1.浪费一个格子&#xff0c;当前走到head的前一个位置&#xff0c;就认为队列满的 2.单独搞一个变量&#xff…

机器学习基础之《特征工程(4)—特征降维》

一、什么是特征降维 降维是指在某些限定条件下&#xff0c;降低随机变量&#xff08;特征&#xff09;个数&#xff0c;得到一组“不相关”主变量的过程 1、降维 降低维度 ndarry 维数&#xff1a;嵌套的层数 0维&#xff1a;标量&#xff0c;具体的数0 1 2 3... …

AAAI论文阅读

文章目录 Open-Vocabulary Multi-Label Classifcation via Multi-Modal Knowledge Transfer——知识蒸馏的范畴Med-EASi: Finely Annotated Dataset and Models for Controllable Simplifcation of Medical Texts——医学领域数据集构建“Nothing Abnormal”: Disambiguating M…

Unity游戏源码分享-植物大战僵尸素材与源码

Unity游戏源码分享-植物大战僵尸素材与源码 完整版本下载地址&#xff1a; https://download.csdn.net/download/Highning0007/88191862

配置Arduino+ESP32走过的巨坑

项目场景&#xff1a; 前几天去淘宝买了块ESP32拿来用&#xff0c;配置Arduino最新版ESP32 2.0.11走过的巨坑。 问题描述 先安装好了ArduinoIDE最新版&#xff08;教程里介绍去官网下&#xff09;&#xff0c;然后配置ESP32开发板&#xff0c;后面发现安装速度惊人。 去找加速…

C语言 ——函数指针变量

1、概念&#xff1a; 数组指针 - 是指针-是指向数组的指针&#xff0c;是存放数组地址的指针 函数指针 - 是指针 是指向函数的指针 - 是存放函数地址的指针!! 如上所示&#xff0c;函数也是具有地址的&#xff0c;而存放函数地址的指针变量成为函数指针变量。 而有如上所示&a…

用python来爬取某鱼的商品信息(1/2)

目录 前言 第一大难题——找到网站入口 曲线救国 模拟搜索 第二大难题——登录 提一嘴 登录cookie获取 第一种 第二种 第四大难题——无法使用导出的cookie 原因 解决办法 最后 出现小问题 总结 前言 本章讲理论&#xff0c;后面一节讲代码 拿来练练手的&#xff…

Maven的安装与配置(包含所有细节)

一、idea版本和maven配对 这里是很多新手都会遇到的大坑&#xff0c;一定要先将自己的idea版本和maven进行版本配配对。 Maven3.6.3版本兼容问题 注意&#xff1a;针对一些老项目 还是尽量采用 3.6.3版本&#xff0c;针对idea各个版本的兼容性就很兼容 IDEA 2022 兼容maven 3.8…

对于生产者消费者/shutdown/close的补充

信号量解决生产者消费者/读写者问题_右大臣的博客-CSDN博客 一点补充 模拟简单的string&#xff0c;循环队列&#xff0c;vector_右大臣的博客-CSDN博客 补充总结 写一个循环队列 用个循环队列去表示class myqueue{ vector<int>qq capacity 容量 front 头 rear 尾…

Vue组件库

Vue组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目&#xff08;yarn&#xff09; D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh pa…

HCIP的BGP基础实验

一、实验需求 除R5的5.5.5.0环回外&#xff0c;其他所有的环回均可互相一访问。 二、实验步骤 1.配置ip 2.建立邻居关系 2.1 R1和R2建立直连的EBGP邻居关系 [r1]bgp 1 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 12.1.1.2 as-number 2 要建的话双方都要建下面配置R2 [r2]bgp…

SpringCloudGateway配置跨域设置以及如何本地测试跨域

问题背景 有个服务A &#xff0c;自身对外提供服务&#xff0c;几个系统的前端页面也在调用&#xff0c;使用springboot 2.6.8开发的&#xff0c;自身因为有前端直接调用已经配置了跨域。 现在有网关服务&#xff0c;一部分前端通过网关访问服务A&#xff08;因为之前没有网关…