Here is what it looked like when it first came to life. I was sending the code for making a smiley face.
This is what it looks like with an Arduino running the code that is listed below.
This is what it looks like connected to an Arduino Pins 1-6, and a 5 volt 2.5 amp AC adapter. For the schematic and pin connections see my older post on this sign.
Here is the code to make it work;
//********************************************//
// Name : LED 24x40 array Driver
// Author : Bob Davis
// Date : 12 May, 2013
// Version : 1.0
//********************************************//
// Pins for the clocks and data
int TCLK = 1;
int TSerial = 5;
int BCLK = 6;
int BSerial = 3;
int Strobe = 4;
int OutEnable = 2;
// arrays to say Arduino
byte Tbitmap[][8] = { //red characters
{0, 4, 10, 17, 17, 31, 17, 17}, //A
{0, 0,0,0,0,0,0,0},
{0, 28, 18, 17, 17, 17, 18, 28}, //D
{0, 0,0,0,0,0,0,0},
{0, 14, 04, 04, 04, 04, 04, 14}, //I
{0, 17, 25, 25, 21, 19, 19, 17}, //N
{0, 14, 17, 17, 17, 17, 17, 14}, //O
};
byte Bbitmap[][8] = { //green characters
{0, 4, 10, 17, 17, 31, 17, 17}, //A
{0, 30, 17, 17, 30, 20, 18, 17}, //R
{0, 0,0,0,0,0,0,0},
{0, 17, 17, 17, 17, 17, 17, 14}, //U
{0, 14, 04, 04, 04, 04, 04, 14}, //I
{0, 0,0,0,0,0,0,0},
{0, 14, 17, 17, 17, 17, 17, 14}, //O
};
// Set the pins to output to the array
void setup() {
pinMode(TCLK, OUTPUT);
pinMode(TSerial, OUTPUT);
pinMode(BCLK, OUTPUT);
pinMode(BSerial, OUTPUT);
pinMode(Strobe, OUTPUT);
pinMode(OutEnable, OUTPUT);
}
void loop() {
for (int row = 0; row < 8; row++){ //there are actually 16 rows
for (int character = 7; character >=0; character--){
for (int shiftbit = 0; shiftbit < 6; shiftbit++){
digitalWrite(TSerial, HIGH);
digitalWrite(BSerial, HIGH);
if bitRead(Tbitmap[character][row],shiftbit) digitalWrite(TSerial, LOW);
if bitRead(Bbitmap[character][row],shiftbit) digitalWrite(BSerial, LOW);
digitalWrite(TCLK, HIGH);
digitalWrite(TCLK, LOW);
digitalWrite(BCLK, HIGH);
digitalWrite(BCLK, LOW);
} }
digitalWrite(OutEnable, HIGH); // turns off display
if (row==0) digitalWrite(OutEnable, LOW); // turns on display
//latch the data
digitalWrite(Strobe, LOW);
digitalWrite(Strobe, HIGH);
digitalWrite(OutEnable, LOW); // turns on display
delay(.5);
} }


Sorry you could help me with this project.
ReplyDeleteI want you to first show an A, then R, and so on.
That is, not to spread the whole word arduino at once.
Thank you...