使用自己开发的app远程控制MAX7219点阵屏幕

使用自己开发的app远程控制MAX7219点阵屏幕

一.功能介绍:

1.可以固定显示想显示的内容
2.点阵屏幕在无指令的时候3秒换一次内容
3.可以通过云量app进行内容更改

二.芯片介绍:

MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器
与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一
个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存
储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。MAX7221与SPI™、QSPI™
以及 MICROWIRE™相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。
一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需
要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。
整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存
器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。
在应用时要求3V的操作电压或segment blinking,可以查阅MAX6951数据资料。
引脚图:
max7219
时序图:
时序图

三.实现原理:

我使用的控制方法跟网上流传的有一点不一样,可能很多人不是很懂我的这种驱动方法,
底层驱动我是使用的是<LedControl.h>这个库文件,因为这个库文件最大支持串联个数好像是12个还是多少个,我们这里使用了16个8*8的点阵屏幕,所以我就改了一下方法,使用了两路同时驱动的方法
上半屏我用8个max7219驱动下半屏在用另外8个就可以了,只是这样就用掉了6个io口。
实现app远程控制的原理更简单了,我们只需要使用mqtt通信协议就可以了,当然mqtt可以使用免费的也可以自己搭建一个,我这里是我自己搭建的一个mqtt服务器。
.
app部分:开发app有很多开发平台,而我这里选择的是一个中文的一个开发平台E4A,可以适合不会java的人,用户只需要提前定义好固定内容就可以,然后通过mqtt发送给单片机。
.
单片机部分:只需要使用mqtt通信协议接收订阅的主题消息就可以了,我们这里定义的比较简单,当主题消息内容为1时显示什么,为2就显示什么,就这么简单
接线:
上半屏:
DIN = D0
CS1 = D1
CLK = D2
下半屏:
DIN = D7
CS1 = D6
CLK = D5

接线图:
在这里插入图片描述
下半屏同方法

四.代码部分:

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <Ticker.h>
#include <LedControl.h>

int DIN1 = D0;
int CS1 =  D1;
int CLK1 = D2;
int DIN = D7;
int CS =  D6;
int CLK = D5;

LedControl LC1 = LedControl(DIN,CLK,CS,8);
LedControl LC2 = LedControl(DIN1,CLK1,CS1,8);
 
// 设置wifi接入信息(请根据您的WiFi信息进行修改)
const char* ssid = "H3C";  //WiFi名
const char* passwor密码d = "";//密码,如果没密码就不写
const char* mqttServer = "192.168.1.1";//mqtt服务器IP
// 如以上MQTT服务器无法正常连接,请前往以下页面寻找解决方案
// http://www.taichi-maker.com/public-mqtt-broker/
 
Ticker ticker;
WiFiClient wifiClient;
PubSubClient mqttClient(wifiClient);
 
int count,jsq;    // Ticker计数用变量
byte hai16[][32] = {
   
0x00,0x00,0x24,0x14,0x8C,0xC4,0x96,0xA5,0xCC,0x94,0x24,0x00,0x8C,0x02,0x60,0x10,
0x00,0x40,0x40,0x22,0x15,0x08,0x24,0x42,0xFC,0x08,0x10,0x20,0x01,0x7E,0x04,0x04,/*"滚",0*/

0x00,0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,/*"出",1*/

0x00,0x00,0x08,0x08,0x68,0x88,0x08,0x08,0xFF,0x08,0x08,0xC8,0x28,0x08,0x08,0x00,
0x00,0x21,0x21,0x11,0x11,0x09,0x05,0x03,0xFF,0x03,0x05,0x09,0x11,0x11,0x21,0x21,/*"来",2*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,/*"!",3*/

0x00,0x00,0x00,0xFE,0x52,0x52,0x52,0xFE,0x00,0x88,0x48,0xFF,0x68,0x88,0x08,0x00,
0x00,0x30,0x08,0x03,0x72,0x42,0x42,0x5B,0x44,0x40,0x40,0x3B,0x00,0x00,0x31,0x40,/*"想",4*/

0x00,0x18,0x28,0x08,0x08,0xC8,0x08,0x0F,0x18,0x20,0x40,0x07,0xF8,0x60,0x80,0x00,
0x00,0x18,0x06,0x01,0x00,0x7F,0x80,0x40,0x03,0x0C,0x10,0x00,0xFF,0x00,0x00,0x01,/*"你",5*/

0x00,0x00,0x00,0x02,0x06,0x0A,0x12,0x22,0xE2,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x40,0x00,0x00,0x00,0x00,0x00,/*"了",6*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,/*"!",7*/

0x00,0x20,0xA0,0x2C,0x22,0x20,0xFF,0x20,0x20,0x22,0x23,0xFE,0x24,0x24,0x24,0x20,
0x00,0xF8,0x41,0x22,0x14,0x0C,0x13,0x20,0x40,0x41,0x02,0x7F,0x84,0x48,0x08,0x00,/*"我",8*/

0x00,0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,/*"出",9*/

0x00,0x04,0x04,0x74,0x54,0x54,0x54,0x54,0xFF,0x54,0x54,0x54,0x54,0x74,0x04,0x04,
0x00,0x04,0x04,0x1F,0x15,0x15,0x15,0x15,0x7F,0x95,0x55,0x15,0x15,0x15,0x04,0x04,/*"事",10*/

0x00,0x00,0x00,0x02,0x06
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值