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

news2025/2/26 7:33:22

主图

起因

由于我之前做了一个点阵时钟 ,但是无奈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 - 5
   7:表示每一行显示的内容
   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.coloradmin.cn/o/869589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ajax 笔记(一)—— Ajax 入门

笔记目录 1. Ajax 入门1.1 Ajax 概念1.2 axios 使用1.2.1 URL1.2.2 URL 查询参数1.2.3 小案例-查询地区列表1.2.4 常用请求方法和数据提交1.2.5 错误处理 1.3 HTTP 协议1.3.1 请求报文1.3.2 响应报文 1.4 接口文档1.5 案例1.5.1 用户登录&#xff08;主要业务&#xff09;1.5.2…

SpringBoot案例-部门管理-根据id查询

目录 根据页面原型&#xff0c;明确需求 查看接口文档 思路分析 接口功能实现 控制层&#xff08;Controller类&#xff09; 业务层&#xff08;Service类&#xff09; 业务类 业务实现类 持久层&#xff08;Mapper类&#xff09; 接口测试 前后端联调 根据页面原型&…

JlinkV8 - 8步修复Jlink固件

现象 用着用着Jlink设备可以检测到&#xff0c;但是MDK检测不到设备序列号&#xff0c;换一个Jlink即可正常识别与烧录&#xff0c;很大概率是Jlink固件丢了&#xff0c;我用的山寨版本&#xff0c;市面基本是山寨版本 解决办法 1、查看Jlink的芯片型号&#xff0c;比如我打开…

练习第30天

选择 多线程可以提高CPU利用率 不能提高内存的利用率 A B A C A B A B C 编程 最难的问题最难的问题__牛客网 #include <iostream> #include <string> #include <unordered_map> using namespace std;//给个字符串翻译出来 // int main() {unordered_…

怎么开通Tik Tok海外娱乐公会呢?

TikTok作为全球知名的社交媒体平台&#xff0c;吸引了数亿用户的关注和参与。许多公司和个人渴望通过开通TikTok直播公会进入这一领域&#xff0c;以展示自己的创造力和吸引更多粉丝。然而&#xff0c;成为TikTok直播公会并非易事&#xff0c;需要满足一定的门槛和申请找cmxyci…

小体积,大能量!邂逅飞凌OKMX6ULL开发板

机缘巧合参加了飞凌嵌入式的试用活动&#xff0c;也很幸运被任命为新品体验官&#xff0c;那么看下是哪一款核心板和底板吧。 →核心板&#xff1a;FETMX6ULL-C核心板 FETMX6ULL-C核心板采用NXP i.MX6ULL处理器开发设计&#xff0c;采用低功耗的ARM Cortex-A7架构&#xff0c…

MySQL语句总和之MySQL数据库与表结构操作

目录 1、启动MySQL服务 2、进入MySQL数据库 3、退出数据库 4、查看MySQL数据库所有库 5、创建、删除、使用、查看所处库操作 6、创建表 7、查看表结构 8、表结构操作 1&#xff09;修改表名 2&#xff09;自增长操作 3)添加一个address字段放在Phone字段后面 4)添加…

题34(在排序数组中查找元素的第一个和最后一个位置)

使用二分查找 此题的关键在于找到左端点和右端点 找中点 两种操作 左端点用第一个方式 右端点用第二种&#xff0c;避免死循环 二分模板 class Solution { public:vector<int> searchRange(vector<int>& nums, int target) {if(nums.size()0) return{-…

项目管理师基础之项目管理计划和项目文件

项目管理过程中&#xff0c;会使用并产生两大类文件&#xff1a;项目管理计划和项目文件。内容一般如下&#xff1a; 整个项目生命周期需要收集、分析和转化大量的数据。从各个过程收集项目数据&#xff0c;并在项目团队内共享。在各个过程中所收集的数据经过结合相关背景的分…

(6)所有角色数据分析-6

http://t.csdn.cn/KrurEhttp://t.csdn.cn/KrurE &#xff08;5&#xff09;中的页面&#xff0c;倾向于向用户展示所有数据&#xff0c;但却没有对数据进行比较、分析&#xff0c;用户不能直观的感受到各种数据之间的关系与变化幅度&#xff0c;所以&#xff0c;下面将向用户提…

强大的公式编辑器 —— MathType最新版本安装与使用

强大的公式编辑器 —— MathType最新版本安装与使用 由于使用了很长时间的机械硬盘出现坏道&#xff0c;安装在其中的MathType6.9&#xff08;精简版&#xff09;也没办法使用了&#xff0c;本来想安装个高版本的MathType&#xff0c;比如MathType7.4&#xff0c;但在网上苦苦…

HTTP请求性能分析 - 简单

使用随手可得的工具&#xff0c;尽量少的前置要求&#xff0c;来完成任务。 0. 目录 1. 前言2. 分析工具2.1 基于Chrome DevTools 的Timing2.1.1 关于Network标签页下的Timing部分2.1.2 一些注意项 2.2 基于Curl 命令 3. 剩下的工作 1. 前言 对于业务开发选手而言&#xff0c;…

阿里云服务器搭建Magento电子商务网站图文教程

本文阿里云百科分享使用阿里云服务器手动搭建Magento电子商务网站全流程&#xff0c;Magento是一款开源电商网站框架&#xff0c;其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。Magento使用PHP开发&#xff0c;支持版本范围从PHP 5.6到PHP 7.1&#xff0c;并使…

建设全球研发中心城市,长沙的“破”与“立”

文 | 智能相对论 作者 | 范柔丝 顺应全球科技革命和产业变革浪潮&#xff0c;响应国家和全省发展战略&#xff0c;向全球研发中心城市见可而进的长沙&#xff0c;落地动作不断。 省委书记沈晓明在2023互联网岳麓峰会上前瞻性地为长沙擘画“全球研发中心城市”的蓝图后&#…

每期一个小窍门: go 的小接口多组合思想

go中的接口更加灵活 通过隐式约定实现 类似奥卡姆剃刀 尽量把小功能抽象成为一个独立接口复杂接口最好由简单子功能接口组合而来传参如无必要, 勿扩大接口范围, 保持简单

AI绘画(2)stable diffusion绘制人像

使用AI绘画&#xff0c;看起来很简单&#xff0c;但要画好就很难&#xff0c;又是另一回事。使用AI绘画&#xff0c;是有着技巧和窍门。 现在&#xff0c;我们开始stable diffusion的一个心得分享。今天教程的主题是画人物。 由于是stable diffusion的输入文本是英文&#xff…

GB/T28181设备接入端如何应用到数字城管场景?

什么是数字城管&#xff1f; 数字城管&#xff0c;又称“数字化城市管理”或“智慧城管”&#xff0c;是一种采用信息化手段和移动通信技术来处理、分析和管理整个城市的所有城管部件和城管事件信息&#xff0c;促进城市管理现代化的信息化措施。 数字城管通过建立城市管理信息…

Ubantu安装Docker(完整详细)

先在官网上查看对应的版本:官网 然后根据官方文档一步一步跟着操作即可 必要准备 要成功安装Docker Desktop&#xff0c;必须&#xff1a; 满足系统要求 拥有64位版本的Ubuntu Jammy Jellyfish 22.04&#xff08;LTS&#xff09;或Ubuntu Impish Indri 21.10。 Docker Deskto…

无涯教程-Perl - pos函数

描述 此函数用于查找最后匹配的子字符串的偏移量或位置。如果指定了SCALAR,它将返回该标量变量上最后一个匹配项的偏移量。 您还可以为此函数分配一个值(例如pos($foo) 20;),以更改下一个匹配操作的起点。 偏移是从第零位置开始的计数器。 语法 以下是此函数的简单语法- …

百度网盘非会员倍速播放(电脑端)

百度网盘非会员倍速播放&#xff08;电脑端&#xff09; 1. 打开edge浏览器&#xff0c;点击右上角的三个点后&#xff0c;选择“扩展” 2. 选择“管理扩展” 3. 选择“获取MicrosoftEdge扩展” 4. 搜索“Global Speed” 5. 选择Global Speed:视频速度控制&#xff0c;然…