极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19119|回复: 1

arduino 驱动16*16点阵电压问题?

[复制链接]
发表于 2013-9-10 12:27:45 | 显示全部楼层 |阅读模式
本帖最后由 洛克王国专用号 于 2013-9-10 12:27 编辑

     手头有一块16*16  双色点阵屏,其行是由16个C2500驱动,其列是由4片TPIC6B595N 来控制双色LED,现在用arduino 已经点亮了点阵屏,但发现行电压接9V,就不会出现显示汉字的横线条LED灯偏暗,但心里没有底,下图中三级管接9v电压是否太高,一般接多少伏范围电压,请高人回复下?

1.电路图




2.arduino 代码
chinese.h 文件代码:

unsigned char HZ[]=
{
/*--  文字:  祝  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x20,0x00,0x11,0xF8,0x11,0x08,0xFD,0x08,0x05,0x08,0x09,0x08,0x11,0x08,0x39,0xF8,
0x54,0x90,0x94,0x90,0x10,0x90,0x10,0x90,0x11,0x12,0x11,0x12,0x12,0x12,0x14,0x0E,

/*--  文字:  全  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x00,0x01,0x00,0x02,0x80,0x04,0x40,0x08,0x30,0x10,0x1C,0x3F,0xF8,0x41,0x00,
0x01,0x00,0x01,0x10,0x1F,0xF8,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x00,

/*--  文字:  国  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x7F,0xFC,0x40,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x04,0x4F,0xE4,
0x41,0x44,0x41,0x24,0x41,0x24,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,


0x0A,0x00,0x09,0x00,0x11,0xBC,0x11,0x04,0x34,0x04,0x24,0x04,0x64,0x04,0xA4,0x04,
0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x14,0x24,0x08,0x00,0x00,//们3

/*--  文字:  教  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x20,0x08,0x20,0x7F,0x20,0x0A,0x7E,0xFF,0xC4,0x08,0x44,0x10,0xC4,0x3E,0x48,
0xC4,0x28,0x08,0x28,0x0F,0x10,0xF8,0x10,0x08,0x28,0x08,0xC8,0x2B,0x06,0x10,0x04,

/*--  文字:  师  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x00,0x0B,0xFE,0x48,0x20,0x48,0x20,0x4B,0xFE,0x4A,0x22,0x4A,0x22,0x4A,0x22,
0x4A,0x22,0x52,0x22,0x52,0x2A,0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,0x00,0x20,

/*--  文字:  节  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x20,0x04,0x20,0x00,0x00,0x3F,0xF8,0x02,0x08,
0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x28,0x02,0x10,0x02,0x00,0x02,0x00,0x02,0x00,

/*--  文字:  日  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00,0x00,0x00,0x00,

/*--  文字:  快  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x20,0x80,0x20,0x80,0x20,0x80,0x37,0xF8,0xA8,0x88,0xA8,0x88,0xA0,0x88,0x2F,0xFE,
0x20,0x80,0x21,0x40,0x21,0x40,0x21,0x20,0x22,0x10,0x22,0x18,0x24,0x0E,0x28,0x04,

/*--  文字:  乐  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x30,0x01,0xF8,0x1F,0x00,0x10,0x80,0x10,0x80,0x10,0x80,0x3F,0xFC,0x10,0x80,
0x08,0x80,0x0C,0x90,0x18,0x88,0x30,0x8C,0x24,0x86,0x42,0x84,0x01,0x00,0x00,0x00,

/*--  文字:  !  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,

/*--  文字:  身  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x00,0x04,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x08,0x14,0x0F,0xF6,0x08,0x14,
0x08,0x18,0x7F,0xFE,0x00,0x70,0x01,0x90,0x06,0x10,0x18,0x10,0x60,0x50,0x00,0x20,


/*--  文字:  体  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x40,0x18,0x40,0x10,0x40,0x20,0x40,0x37,0xFC,0x60,0xC0,0xA0,0xE0,0x21,0x60,
0x21,0x50,0x22,0x48,0x24,0x4E,0x2B,0xF4,0x20,0x40,0x20,0x40,0x20,0x40,0x00,0x00,

/*--  文字:  健  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x20,0x10,0x20,0x2D,0xF8,0x24,0x28,0x65,0xFE,0xA8,0x28,0x2F,0xF8,0x22,0x20,
0x22,0xF8,0x32,0x20,0x2D,0xFC,0x24,0x20,0x2A,0x20,0x31,0xA0,0x20,0xFC,0x00,0x00,


/*--  文字:  康  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x00,0x00,0x80,0x3F,0xFE,0x20,0x80,0x2F,0xF8,0x20,0x88,0x3F,0xFE,0x20,0x88,
0x2F,0xF8,0x28,0x80,0x24,0xC8,0x22,0xD8,0x24,0xA0,0x58,0x98,0x4A,0x8E,0x81,0x04,

/*--  文字:  !  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,

};

2. showChinese.ino 代码

/*
const int r_serPin = 11;  //MOSI
const int rckPin = 10;  //SS
const int srckPin = 13;  //SCK
const int g_serPin = 12; //MISO
*/

const int u_rowPins[] ={2,3,4,5,6,7,8,9}; //A0 = 14 connect led  anode +
const int d_rowPins[] ={A0,A1,A2,A3,A4,A5,0,1};

#include "chinese.h"
#include <SPI.h>
const int slaveSelectPin = 10;

void setup(){
   for(int i = 0; i<8; i++){
     pinMode(u_rowPins,OUTPUT);
     pinMode(d_rowPins,OUTPUT);
  //   digitalWrite(u_rowPins,HIGH);
   //  digitalWrite(d_rowPins,HIGH);
   }
   pinMode(12, INPUT); //595 使能
  pinMode (slaveSelectPin, OUTPUT);
  //initialize SPI
  SPI.begin();
}


void SPI_595_OUT(unsigned char i){
      digitalWrite(slaveSelectPin,LOW);
      SPI.transfer(i);
      digitalWrite(slaveSelectPin,HIGH);
}
//======行扫描
//unsigned RU[] = { 0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,0x00};

void loop(){
  int a=0;
// unsigned char  d=0;
  for( a = 0;a<32*15;a=a+32){
      for(char b =0; b<100;b++){  
  for(unsigned char i = 0;i<16;i++){
     SPI_595_OUT(HZ[i*2+a]);
     SPI_595_OUT(HZ[1+i*2+a]);
     
     if(i<8)
           for(int k = 0; k<8;k++){
              if(k==i) {
              digitalWrite(u_rowPins[k],HIGH);
              delayMicroseconds(300);
              }
              else{
              digitalWrite(u_rowPins[k],LOW);
              }
            }
    else
        {
            for(int k = 0; k<8;k++){
              if(k==(i-8)){
                 digitalWrite(d_rowPins[k],HIGH);
                 delayMicroseconds(300);
              }
              else{
                digitalWrite(d_rowPins[k],LOW);
              }
           }
        }
     
            
        for(int m=0;m<8;m++){
           digitalWrite(u_rowPins[m],LOW);
           digitalWrite(d_rowPins[m],LOW);
        }      
   }
  }
}a=0; //d++;if(d>3)d=0;  
}
     
3.成果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-9-10 13:17:36 | 显示全部楼层
led屏一般接5V的吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 11:28 , Processed in 0.035414 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表