int timer = 900; //LED ON TIMING FOR ONE COLUM
int HALL_SENS = 2; // HALL SENSOR INPUT PIN
int State = 0; // HALL SENSOR SENSED FLAG
int lastState = 0; // HALL SENSOR SENSED FLAG LAST SCAN
long count; //TIME COUNTER FOR CHANGIING DISPLAY PRINTING
boolean space[]={0,0,0,0,0}; // SINGLE SPACE BAR
boolean A[]={1,1,1,1,1,0,0,1,0,1,1,1,1,1,1};//BIT MAP FOR A
boolean B[]={1,1,1,1,1,1,0,1,0,1,1,1,1,1,1};//BIT MAP FOR B
boolean C[]={1,1,1,1,1,1,0,0,0,1,1,0,0,0,1};//BIT MAP FOR C
boolean D[]={1,1,1,1,1,1,0,0,0,1,0,1,1,1,0};//BIT MAP FOR D
boolean E[]={1,1,1,1,1,1,0,1,0,1,1,0,1,0,1};//BIT MAP FOR E
boolean F[]={1,1,1,1,1,0,0,1,0,1,0,0,1,0,1};//BIT MAP FOR F
boolean G[]={1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1};//BIT MAP FOR G
boolean H[]={1,1,1,1,1,0,0,1,0,0,1,1,1,1,1};//BIT MAP FOR H
boolean I[]={1,0,0,0,1,1,1,1,1,1,1,0,0,0,1};//BIT MAP FOR I
boolean J[]={1,1,0,0,0,1,0,0,0,0,1,1,1,1,1};//BIT MAP FOR J
boolean K[]={1,1,1,1,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1};//BIT MAP FOR K
boolean L[]={1,1,1,1,1,1,0,0,0,0,1,0,0,0,0};//BIT MAP FOR L
boolean M[]={1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1};//BIT MAP FOR M
boolean N[]={1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1};//BIT MAP FOR N
boolean O[]={1,1,1,1,1,1,0,0,0,1,1,1,1,1,1};//BIT MAP FOR O
boolean P[]={1,1,1,1,1,0,0,1,0,1,0,0,1,1,1};//BIT MAP FOR P
boolean Q[]={1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0};//BIT MAP FOR Q
boolean R[]={1,1,1,1,1,0,1,1,0,1,1,0,1,1,1};//BIT MAP FOR R
boolean S[]={1,0,1,1,1,1,0,1,0,1,1,1,1,0,1};//BIT MAP FOR S
boolean T[]={0,0,0,0,1,1,1,1,1,1,0,0,0,0,1};//BIT MAP FOR T
boolean U[]={1,1,1,1,1,1,0,0,0,0,1,1,1,1,1};//BIT MAP FOR U
boolean V[]={0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1};//BIT MAP FOR V
boolean W[]={1,1,1,1,1,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,1,1,1,1,1};//BIT MAP FOR W
boolean X[]={1,0,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,0,1};//BIT MAP FOR X
boolean Y[]={0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1};//BIT MAP FOR Y
boolean Z[]={1,1,0,0,1,1,0,1,0,1,1,0,0,1,1};//BIT MAP FOR Z
boolean exclamationmark[]={1,0,1,1,1,1,0,1,1,1};//BIT MAP FOR !
int m;//MARKER MEMORY FOR CHARECTER PRINTING LOOP
void setup() {// SETUP FOR INITIALISE SERIAL PORT AND DEFINE INPUT & OUTPUTS
Serial.begin(115200);
for (int Pin = 3; Pin <=7; Pin++) {
pinMode(Pin, OUTPUT);
digitalWrite(Pin,LOW);}
pinMode(HALL_SENS, INPUT_PULLUP);}
void loop() {// MAIN LOOP
State = digitalRead(HALL_SENS);
if (State != lastState){
if (State == LOW) {
if(count >= 0 & count < 20001){//Ashish
WriteLetter3Width(A);
WriteLetter1Width(space);
WriteLetter3Width(S);
WriteLetter1Width(space);
WriteLetter3Width(H);
WriteLetter1Width(space);
WriteLetter3Width(I);
WriteLetter1Width(space);
WriteLetter3Width(S);
WriteLetter1Width(space);
WriteLetter3Width(H);
WriteLetter1Width(space);
WriteLetter3Width(I);
WriteLetter1Width(space);
WriteLetter3Width(S);
WriteLetter2Width(exclamationmark);
WriteLetter1Width(space);
}
if(count > 20001 & count < 40001 ){//Great
WriteLetter4Width(G);
WriteLetter1Width(space);
WriteLetter3Width(R);
WriteLetter1Width(space);
WriteLetter3Width(E);
WriteLetter1Width(space);
WriteLetter3Width(A);
WriteLetter1Width(space);
WriteLetter3Width(T);
WriteLetter1Width(space);
WriteLetter2Width(exclamationmark);
WriteLetter1Width(space);}}
lastState = State;}
count++;
if(count > 40001) {count = 0;}}
void WriteLetter5Width(boolean letter[]){// FUNCTION FOR 5 WIDTH CHARECTERS M,N,Q,V,W,X,Y
m=0;
for (int n=0; n<=4; n++){
for (int Pin = 7; Pin >=3; Pin--) {
digitalWrite(Pin, letter[m]);
m=m+1;}
delayMicroseconds(timer);}}
void WriteLetter4Width(boolean letter[]){// FUNCTION FOR 4 WIDTH CHARECTERS G,K
m=0;
for (int n=0; n<=3; n++){
for (int Pin = 7; Pin >=3; Pin--) {
digitalWrite(Pin, letter[m]);
m=m+1;}
delayMicroseconds(timer);}}
void WriteLetter3Width(boolean letter[]){// FUNCTION FOR 3 WIDTH CHARECTERS A,B,C,D,E,F,H,I,J,L,O,P,R,S,T,U,V,Z
m=0;
for (int n=0; n<=2; n++){
for (int Pin = 7; Pin >=3; Pin--) {
digitalWrite(Pin, letter[m]);
m=m+1;}
delayMicroseconds(timer);}}
void WriteLetter2Width(boolean letter[]){// FUNCTION FOR 2 WIDGH CHARECTERS !
m=0;
for (int n=0; n<=1; n++){
for (int Pin = 7; Pin >=3; Pin--) {
digitalWrite(Pin, letter[m]);
m=m+1;}
delayMicroseconds(timer);}}
void WriteLetter1Width(boolean letter[]){// FUNCTION FOR SINGLE WIDHT CHARECTERS "SPACE BAR"
m=0;
for (int Pin = 7; Pin >=3; Pin--) {
digitalWrite(Pin, space[m]);
m=m+1;}
delayMicroseconds(timer);}
Comments
Please log in or sign up to comment.