用Arduino和Max7219Led点阵模块制作一个属于你的表白神器

MAKER-Yang 2017-07-06 07:46:44
这个不算是搬运贴吧
先上代码
int CLK = 2;
int CS = 1;
int DIN = 0; //这里定义了那三个脚
unsigned char disp1[38][8]={
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E},//L
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O
{0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x18},//V
{0x7E,0x40,0x40,0x7E,0x40,0x40,0x40,0x7E},//E
{0x66,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C,0x18},//TX
};




void Delay(double x)
{
double i;
for(i=0;i<x;i++);
}


void setup() {
// put your setup code here, to run once:
pinMode(CLK,OUTPUT);
pinMode(CS,OUTPUT);
pinMode(DIN,OUTPUT); //让三个脚都是输出状态
}


void loop() {
// put your main code here, to run repeatedly:
unsigned char i,j;
Delay_xms(50);
Init_MAX7219();
while(1)
{
for(j=0;j<38;j++)
{
for(i=1;i<9;i++)
Write_Max7219(i,disp1[j][i-1]);
Delay(80000);
}
}
}
void Delay_xms(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<112;j++);
}
//--------------------------------------------
//功能:向MAX7219(U3)写入字节
//入口参数:DATA
//出口参数:无
//说明:
void Write_Max7219_byte(unsigned char DATA)
{
unsigned char i;
digitalWrite(CS,LOW);
for(i=8;i>=1;i--)
{
digitalWrite(CLK,LOW);
if(DATA&0X80)
digitalWrite(DIN,HIGH);
else
digitalWrite(DIN,LOW);
DATA<<=1;
digitalWrite(CLK,HIGH);
}
}
//-------------------------------------------
//功能:向MAX7219写入数据
//入口参数:address、dat
//出口参数:无
//说明:
void Write_Max7219(unsigned char address,unsigned char dat)
{
digitalWrite(CS,LOW);
Write_Max7219_byte(address); //写入地址,即数码管编号
Write_Max7219_byte(dat); //写入数据,即数码管显示数字
digitalWrite(CS,HIGH);
}


void Init_MAX7219(void)
{
Write_Max7219(0x09, 0x00); //译码方式:BCD码
Write_Max7219(0x0a, 0x03); //亮度
Write_Max7219(0x0b, 0x07); //扫描界限;4个数码管显示
Write_Max7219(0x0c, 0x01); //掉电模式:0,普通模式:1
Write_Max7219(0x0f, 0x00); //显示测试:1;测试结束,正常显示:0
}
这个是我参考原帖所修改的程序
注意,前三行的代码要根据你自己的arduino版的Max7219的引脚来定的
这三个引脚是自定义的

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E},//L 拿这个来举列
0x00是Ascii编码
这个编码有它独特的对照表
废话不多说上图

大家可以根据这个表来设计你喜欢的图案和文字
如果说比较懒的朋友们(比如楼主)
可以使用8X8点阵取模软件
也是非常好用的哦
只要复制粘贴一下哦

下面给大家看楼主做的效果图,表白妹子的好东西啊






原贴http://www.geek-workshop.com/thread-15043-1-1.html
下面附上所使用的工具下载地址
http://pan.baidu.com/s/1eRWKabC

最后楼主祝大家表白到心仪的妹子哦~
...全文
1324 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashyidea 2017-07-06
  • 打赏
  • 举报
回复
作者是位初一的学生,今天下午刚完成的作品,超级炫!
前段时间在创客群里看到一个点阵LED屏做的超级萌萌哒的小玩偶,有声音LED屏就会有动画,非常有趣,恰好我有一个点阵LED,于是决定自己也做一个,在instructables上找了下发现真的有这个东西叫Lip Syncing Robot原版是直接把点阵屏焊上去Arduino pro mini的,我买的那个是用MAX7219驱动,看了一下作者的程序试着改成芯片驱动的,改到一半不会了,问了一下作者用MAX7219的程序怎么写,第二天作者回复我了,现在任何一款Arduino都可以做了,还留了许多引脚方便以后添加新功能。 有音乐或声音,点阵LED屏的表情就会动,声音越大嘴巴张得越大,没有声音就不开口了卖萌了,哈哈哈 搭配一台MP3小音响在旁边播放的话食用效果更佳[偷笑],不过后来发现用纽扣电池供电不稳定,大家最好改用小的锂电供电 看完是不是感觉有点萌,想做一只玩,或者想做来送女孩子,女朋友呢,下面就放出怎么做的和一些程序建模文件。 零件: 8X8点阵LED(MAX7219)(32mm x 32mm) Arduino pro mini(其它的Arduino板子也可以) 声音传感器 开关按钮 纽扣电池(最好改用小锂电) 杜邦线(导线) 外壳(需3D打印) 自己到某宝上选购零件吧,Arduino pro mini需要买一个USB转TTL的模块做程序下载器,第一次玩的要买一个 外壳文件自己找3D打印机打印出来 电路按照上图接就ok了,当然你也可以修改程序里的引脚,按自己想的去接。声音传感器把原来的排针去掉,不然装不进外壳 DIN—-D2 C S —-D3 SLK —-D4 OUT—-A4 程序附件下载解压后,用Arduino IDE打开程序烧录进去pro mini就可以去卖萌了。 LED-Matrix-Editor这是个在线编辑点阵LED图案的工具,可以自己改成自己喜欢的图案,然后复制代码到表情包程序里修改表情。 转自DF社区-好奇吖斌

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧