网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月13日漏签0天
arduino吧 关注:75,595贴子:230,814
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回arduino吧
>0< 加载中...

【arduino】新手关于74HC595和8*8矩阵LED的问题

  • 只看楼主
  • 收藏

  • 回复
  • 宥愆
  • 崭露头角
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
使用74HC595连到8*8LED矩阵的L上,arduino的5-12口连到8*8LED矩阵的C上
但是之后出现了问题,大概如下:
比如想要电亮第三行第二排,成功之后,
之后再想点亮第四行第五个,上传之后第四行第二排和第五排都亮了不知道是什么原因。
比如我想点亮心形图案,就变成这样了:

连接可能不太清晰,大致如下:

代码:
int big = 2;
int push =3;
int datain = 4;
int lineSignal[8] = {0,0,0,0,0,0,0,0};//8*8矩阵LED的行信号
int col[8]{5,6,7,8,9,10,11,12};//8*8矩阵LED的列数字端口
int matrix[8][8]={//代表8*8LED的输入矩阵
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,1,0,0,1,0,0,
0,1,1,1,1,1,1,0,
0,1,1,1,1,1,1,0,
0,0,1,1,1,1,0,0,
0,0,0,1,1,0,0,0,
0,0,0,0,0,0,0,0,
};
void setup() {
// put your setup code here, to run once:
pinMode(big, OUTPUT);
pinMode(push, OUTPUT);
pinMode(datain, OUTPUT);
digitalWrite(big, LOW);
for(int i=0;i<8;i++){
pinMode(col[i],OUTPUT);
digitalWrite(col[i],HIGH) ;
pushDataIn(LOW);
}
digitalWrite(big,HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
showMatrix(matrix);
delay(10000);
}
void pushDataIn(int i){
digitalWrite(push,LOW);
digitalWrite(datain , i);
digitalWrite(push,HIGH);
}
//根据矩阵电亮8*8LED矩阵
void showMatrix(int matrix[8][8]){
for(int i=0;i<8;i++){
for(int j =0;j<8;j++){
if(matrix[i][j] == 1){
digitalWrite(col[j],LOW);
lineSignal[i] = 1;
}
}
}
digitalWrite(big, LOW);
for(int i = 0 ;i <8 ; i++){
pushDataIn(lineSignal[i]);
}
digitalWrite(big,HIGH);
}


  • 宥愆
  • 崭露头角
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
问题应该是逐行扫出来再点亮行 所以不对 但是不知道应该怎么解决。。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回arduino吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示