Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char InputStr[] = "HELLO"; //valid numbers 0-9, symbols .-_= and letters ABCDEFGHIJLMNOPRSTU Some letters are displayed lower case
- const int SegAPin = 2;
- const int SegBPin = 3;
- const int SegCPin = 4;
- const int SegDPin = 5;
- const int SegEPin = 6;
- const int SegFPin = 7;
- const int SegGPin = 8;
- const int SegDpPin = 9;
- //const int ledPin = 12; //extra button activated led for testing
- //const int buttonPin = 13; //extra button pin for testing
- const int Dig0Pin = 14;
- const int Dig1Pin = 15;
- const int Dig2Pin = 16;
- const int Dig3Pin = 17;
- const int Dig4Pin = 18;
- const int DelayMS = 3;
- byte BinSegs0;
- byte BinSegs1;
- byte BinSegs2;
- byte BinSegs3;
- byte BinSegs4;
- //int buttonState = 0; // variable for reading the pushbutton status
- //long previousMillis = 0;
- //long interval = 1000;
- void setup() {
- pinMode(SegAPin, OUTPUT); //config segment pins
- pinMode(SegBPin, OUTPUT);
- pinMode(SegCPin, OUTPUT);
- pinMode(SegDPin, OUTPUT);
- pinMode(SegEPin, OUTPUT);
- pinMode(SegFPin, OUTPUT);
- pinMode(SegGPin, OUTPUT);
- pinMode(SegDpPin, OUTPUT);
- // pinMode(ledPin, OUTPUT); //extra button activated led for testing
- // pinMode(buttonPin, INPUT); //extra button pin for testing
- pinMode(Dig0Pin, OUTPUT); //config digit pins
- pinMode(Dig1Pin, OUTPUT);
- pinMode(Dig2Pin, OUTPUT);
- pinMode(Dig3Pin, OUTPUT);
- pinMode(Dig4Pin, OUTPUT);
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- BinSegs0 = BinCharXvert(InputStr[0]);
- BinSegs1 = BinCharXvert(InputStr[1]);
- BinSegs2 = BinCharXvert(InputStr[2]);
- BinSegs3 = BinCharXvert(InputStr[3]);
- BinSegs4 = BinCharXvert(InputStr[4]);
- }
- void loop() {
- digitalWrite(Dig0Pin, LOW);
- if (BinSegs0 & 1){
- digitalWrite(SegAPin, HIGH);}
- if (BinSegs0 & 2){
- digitalWrite(SegBPin, HIGH);}
- if (BinSegs0 & 4){
- digitalWrite(SegCPin, HIGH);}
- if (BinSegs0 & 8){
- digitalWrite(SegDPin, HIGH);}
- if (BinSegs0 & 16){
- digitalWrite(SegEPin, HIGH);}
- if (BinSegs0 & 32){
- digitalWrite(SegFPin, HIGH);}
- if (BinSegs0 & 64){
- digitalWrite(SegGPin, HIGH);}
- if (BinSegs0 & 128){
- digitalWrite(SegDpPin, HIGH);}
- delay(DelayMS);
- digitalWrite(Dig0Pin, HIGH);
- if (BinSegs0 & 1){
- digitalWrite(SegAPin, LOW);}
- if (BinSegs0 & 2){
- digitalWrite(SegBPin, LOW);}
- if (BinSegs0 & 4){
- digitalWrite(SegCPin, LOW);}
- if (BinSegs0 & 8){
- digitalWrite(SegDPin, LOW);}
- if (BinSegs0 & 16){
- digitalWrite(SegEPin, LOW);}
- if (BinSegs0 & 32){
- digitalWrite(SegFPin, LOW);}
- if (BinSegs0 & 64){
- digitalWrite(SegGPin, LOW);}
- if (BinSegs0 & 128){
- digitalWrite(SegDpPin, LOW);}
- digitalWrite(Dig1Pin, LOW);
- if (BinSegs1 & 1){
- digitalWrite(SegAPin, HIGH);}
- if (BinSegs1 & 2){
- digitalWrite(SegBPin, HIGH);}
- if (BinSegs1 & 4){
- digitalWrite(SegCPin, HIGH);}
- if (BinSegs1 & 8){
- digitalWrite(SegDPin, HIGH);}
- if (BinSegs1 & 16){
- digitalWrite(SegEPin, HIGH);}
- if (BinSegs1 & 32){
- digitalWrite(SegFPin, HIGH);}
- if (BinSegs1 & 64){
- digitalWrite(SegGPin, HIGH);}
- if (BinSegs1 & 128){
- digitalWrite(SegDpPin, HIGH);}
- delay(DelayMS);
- digitalWrite(Dig1Pin, HIGH);
- if (BinSegs1 & 1){
- digitalWrite(SegAPin, LOW);}
- if (BinSegs1 & 2){
- digitalWrite(SegBPin, LOW);}
- if (BinSegs1 & 4){
- digitalWrite(SegCPin, LOW);}
- if (BinSegs1 & 8){
- digitalWrite(SegDPin, LOW);}
- if (BinSegs1 & 16){
- digitalWrite(SegEPin, LOW);}
- if (BinSegs1 & 32){
- digitalWrite(SegFPin, LOW);}
- if (BinSegs1 & 64){
- digitalWrite(SegGPin, LOW);}
- if (BinSegs1 & 128){
- digitalWrite(SegDpPin, LOW);}
- digitalWrite(Dig2Pin, LOW);
- if (BinSegs2 & 1){
- digitalWrite(SegAPin, HIGH);}
- if (BinSegs2 & 2){
- digitalWrite(SegBPin, HIGH);}
- if (BinSegs2 & 4){
- digitalWrite(SegCPin, HIGH);}
- if (BinSegs2 & 8){
- digitalWrite(SegDPin, HIGH);}
- if (BinSegs2 & 16){
- digitalWrite(SegEPin, HIGH);}
- if (BinSegs2 & 32){
- digitalWrite(SegFPin, HIGH);}
- if (BinSegs2 & 64){
- digitalWrite(SegGPin, HIGH);}
- if (BinSegs2 & 128){
- digitalWrite(SegDpPin, HIGH);}
- delay(DelayMS);
- digitalWrite(Dig2Pin, HIGH);
- if (BinSegs2 & 1){
- digitalWrite(SegAPin, LOW);}
- if (BinSegs2 & 2){
- digitalWrite(SegBPin, LOW);}
- if (BinSegs2 & 4){
- digitalWrite(SegCPin, LOW);}
- if (BinSegs2 & 8){
- digitalWrite(SegDPin, LOW);}
- if (BinSegs2 & 16){
- digitalWrite(SegEPin, LOW);}
- if (BinSegs2 & 32){
- digitalWrite(SegFPin, LOW);}
- if (BinSegs2 & 64){
- digitalWrite(SegGPin, LOW);}
- if (BinSegs2 & 128){
- digitalWrite(SegDpPin, LOW);}
- digitalWrite(Dig3Pin, LOW);
- if (BinSegs3 & 1){
- digitalWrite(SegAPin, HIGH);}
- if (BinSegs3 & 2){
- digitalWrite(SegBPin, HIGH);}
- if (BinSegs3 & 4){
- digitalWrite(SegCPin, HIGH);}
- if (BinSegs3 & 8){
- digitalWrite(SegDPin, HIGH);}
- if (BinSegs3 & 16){
- digitalWrite(SegEPin, HIGH);}
- if (BinSegs3 & 32){
- digitalWrite(SegFPin, HIGH);}
- if (BinSegs3 & 64){
- digitalWrite(SegGPin, HIGH);}
- if (BinSegs3 & 128){
- digitalWrite(SegDpPin, HIGH);}
- delay(DelayMS);
- digitalWrite(Dig3Pin, HIGH);
- if (BinSegs3 & 1){
- digitalWrite(SegAPin, LOW);}
- if (BinSegs3 & 2){
- digitalWrite(SegBPin, LOW);}
- if (BinSegs3 & 4){
- digitalWrite(SegCPin, LOW);}
- if (BinSegs3 & 8){
- digitalWrite(SegDPin, LOW);}
- if (BinSegs3 & 16){
- digitalWrite(SegEPin, LOW);}
- if (BinSegs3 & 32){
- digitalWrite(SegFPin, LOW);}
- if (BinSegs3 & 64){
- digitalWrite(SegGPin, LOW);}
- if (BinSegs3 & 128){
- digitalWrite(SegDpPin, LOW);}
- digitalWrite(Dig4Pin, LOW);
- if (BinSegs4 & 1){
- digitalWrite(SegAPin, HIGH);}
- if (BinSegs4 & 2){
- digitalWrite(SegBPin, HIGH);}
- if (BinSegs4 & 4){
- digitalWrite(SegCPin, HIGH);}
- if (BinSegs4 & 8){
- digitalWrite(SegDPin, HIGH);}
- if (BinSegs4 & 16){
- digitalWrite(SegEPin, HIGH);}
- if (BinSegs4 & 32){
- digitalWrite(SegFPin, HIGH);}
- if (BinSegs4 & 64){
- digitalWrite(SegGPin, HIGH);}
- if (BinSegs4 & 128){
- digitalWrite(SegDpPin, HIGH);}
- delay(DelayMS);
- digitalWrite(Dig4Pin, HIGH);
- if (BinSegs4 & 1){
- digitalWrite(SegAPin, LOW);}
- if (BinSegs4 & 2){
- digitalWrite(SegBPin, LOW);}
- if (BinSegs4 & 4){
- digitalWrite(SegCPin, LOW);}
- if (BinSegs4 & 8){
- digitalWrite(SegDPin, LOW);}
- if (BinSegs4 & 16){
- digitalWrite(SegEPin, LOW);}
- if (BinSegs4 & 32){
- digitalWrite(SegFPin, LOW);}
- if (BinSegs4 & 64){
- digitalWrite(SegGPin, LOW);}
- if (BinSegs4 & 128){
- digitalWrite(SegDpPin, LOW);}
- }
- byte BinCharXvert(char XvertXChar)
- {
- if (XvertXChar == '0')
- return 63;
- else if (XvertXChar == '1')
- return 6;
- else if (XvertXChar == '2')
- return 91;
- else if (XvertXChar == '3')
- return 79;
- else if (XvertXChar == '4')
- return 102;
- else if (XvertXChar == '5')
- return 109;
- else if (XvertXChar == '6')
- return 124;
- else if (XvertXChar == '7')
- return 7;
- else if (XvertXChar == '8')
- return 127;
- else if (XvertXChar == '9')
- return 111;
- else if (XvertXChar == '-')
- return 64;
- else if (XvertXChar == '.')
- return 128;
- else if (XvertXChar == '_')
- return 8;
- else if (XvertXChar == '=')
- return 72;
- else if (XvertXChar == 'A')
- return 119;
- else if (XvertXChar == 'B')
- return 124;
- else if (XvertXChar == 'C')
- return 88;
- else if (XvertXChar == 'D')
- return 94;
- else if (XvertXChar == 'E')
- return 121;
- else if (XvertXChar == 'F')
- return 113;
- else if (XvertXChar == 'G')
- return 61;
- else if (XvertXChar == 'H')
- return 116;
- else if (XvertXChar == 'I')
- return 16;
- else if (XvertXChar == 'J')
- return 30;
- else if (XvertXChar == 'L')
- return 56;
- else if (XvertXChar == 'M')
- return 212;
- else if (XvertXChar == 'N')
- return 84;
- else if (XvertXChar == 'O')
- return 92;
- else if (XvertXChar == 'P')
- return 115;
- else if (XvertXChar == 'R')
- return 80;
- else if (XvertXChar == 'S')
- return 109;
- else if (XvertXChar == 'T')
- return 120;
- else if (XvertXChar == 'U')
- return 28;
- else
- return 0;
- }
- /*
- void loop() {
- //say hello
- digitalWrite(Dig0Pin, LOW); //set digit pin (A0/14) to low
- digitalWrite(SegBPin, HIGH);//set seg pins B,C,E,F,G to high (letter H)
- digitalWrite(SegCPin, HIGH);
- digitalWrite(SegEPin, HIGH);
- digitalWrite(SegFPin, HIGH);
- digitalWrite(SegGPin, HIGH);
- delay(DelayMS); //DELAY AND RESET ALL PINS!
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- digitalWrite(SegAPin, LOW); //set all segments to LOW
- digitalWrite(SegBPin, LOW);
- digitalWrite(SegCPin, LOW);
- digitalWrite(SegDPin, LOW);
- digitalWrite(SegEPin, LOW);
- digitalWrite(SegFPin, LOW);
- digitalWrite(SegGPin, LOW);
- digitalWrite(SegDpPin, LOW);
- digitalWrite(Dig1Pin, LOW); //set digit pin (A1/15) to low
- digitalWrite(SegAPin, HIGH);//set seg pins A,D,E,F,G to high (letter E)
- digitalWrite(SegDPin, HIGH);
- digitalWrite(SegEPin, HIGH);
- digitalWrite(SegFPin, HIGH);
- digitalWrite(SegGPin, HIGH);
- delay(DelayMS); //DELAY AND RESET ALL PINS!
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- digitalWrite(SegAPin, LOW); //set all segments to LOW
- digitalWrite(SegBPin, LOW);
- digitalWrite(SegCPin, LOW);
- digitalWrite(SegDPin, LOW);
- digitalWrite(SegEPin, LOW);
- digitalWrite(SegFPin, LOW);
- digitalWrite(SegGPin, LOW);
- digitalWrite(SegDpPin, LOW);
- digitalWrite(Dig2Pin, LOW); //set digit pin (A2/16) to low
- digitalWrite(SegDPin, HIGH);//set seg pins D,E,F to high (letter L)
- digitalWrite(SegEPin, HIGH);
- digitalWrite(SegFPin, HIGH);
- delay(DelayMS); //DELAY AND RESET ALL PINS!
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- digitalWrite(SegAPin, LOW); //set all segments to LOW
- digitalWrite(SegBPin, LOW);
- digitalWrite(SegCPin, LOW);
- digitalWrite(SegDPin, LOW);
- digitalWrite(SegEPin, LOW);
- digitalWrite(SegFPin, LOW);
- digitalWrite(SegGPin, LOW);
- digitalWrite(SegDpPin, LOW);
- digitalWrite(Dig3Pin, LOW); //set digit pin (A3/17) to low
- digitalWrite(SegDPin, HIGH);//set seg pins D,E,F to high (letter L)
- digitalWrite(SegEPin, HIGH);
- digitalWrite(SegFPin, HIGH);
- delay(DelayMS); //DELAY AND RESET ALL PINS!
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- digitalWrite(SegAPin, LOW); //set all segments to LOW
- digitalWrite(SegBPin, LOW);
- digitalWrite(SegCPin, LOW);
- digitalWrite(SegDPin, LOW);
- digitalWrite(SegEPin, LOW);
- digitalWrite(SegFPin, LOW);
- digitalWrite(SegGPin, LOW);
- digitalWrite(SegDpPin, LOW);
- digitalWrite(Dig4Pin, LOW); //set digit pin (A4/18) to low
- digitalWrite(SegAPin, HIGH);//set seg pins A,B,C,D,E,F to high (letter O)
- digitalWrite(SegBPin, HIGH);
- digitalWrite(SegCPin, HIGH);
- digitalWrite(SegDPin, HIGH);
- digitalWrite(SegEPin, HIGH);
- digitalWrite(SegFPin, HIGH);
- delay(DelayMS); //DELAY AND RESET ALL PINS!
- digitalWrite(Dig0Pin, HIGH); //set all digit pins to HIGH
- digitalWrite(Dig1Pin, HIGH);
- digitalWrite(Dig2Pin, HIGH);
- digitalWrite(Dig3Pin, HIGH);
- digitalWrite(Dig4Pin, HIGH);
- digitalWrite(SegAPin, LOW); //set all segments to LOW
- digitalWrite(SegBPin, LOW);
- digitalWrite(SegCPin, LOW);
- digitalWrite(SegDPin, LOW);
- digitalWrite(SegEPin, LOW);
- digitalWrite(SegFPin, LOW);
- digitalWrite(SegGPin, LOW);
- digitalWrite(SegDpPin, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement