LOL shield – first Iteration – Aneta Genova 

Here is my first LOL shield iteration.

 

Code:

 
#include <Charliplexing.h> //Imports the library, which needs to be
const int buttonPin = A4;     // the number of the pushbutton pin
byte line = 0;       //Row counter
char buffer[10];
int value;
int buttonState = 0;

void setup()
{ Serial.begin(9600);
LedSign::Init();  //Initializes the screen
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop()
{
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed. if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
Serial.println(‘low’);

delay(300);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
}

else {
Serial.println(‘0000909090909090’);

delay(300);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
delay(300);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(255);
delay(300);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(511);
delay(300);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(255);
DisplayBitMap(511);
delay(300);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(255);
DisplayBitMap(511);
DisplayBitMap(511);
delay(300);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(255);
DisplayBitMap(511);
DisplayBitMap(1023);
delay(300);
DisplayBitMap(31);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(1023);
DisplayBitMap(2047);
delay(300);
DisplayBitMap(31);
DisplayBitMap(31);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(1023);
DisplayBitMap(2047);
delay(300);
DisplayBitMap(15);
DisplayBitMap(31);
DisplayBitMap(31);
DisplayBitMap(63);
DisplayBitMap(63);
DisplayBitMap(127);
DisplayBitMap(255);
DisplayBitMap(511);
DisplayBitMap(2047);
delay(300);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(31);
DisplayBitMap(31);
DisplayBitMap(31);
DisplayBitMap(63);
DisplayBitMap(255);
DisplayBitMap(511);
DisplayBitMap(2047);
delay(300);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(31);
DisplayBitMap(63);
DisplayBitMap(511);
DisplayBitMap(2047);
DisplayBitMap(4095);
delay(300);
DisplayBitMap(1);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(31);
DisplayBitMap(1023);
DisplayBitMap(2047);
DisplayBitMap(8191);
delay(300);
DisplayBitMap(0);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(63);
DisplayBitMap(1023);
DisplayBitMap(4095);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(1023);
DisplayBitMap(8191);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(15);
DisplayBitMap(2047);
DisplayBitMap(16383);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(15);
DisplayBitMap(255);
DisplayBitMap(8191);
DisplayBitMap(16383);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(2047);
DisplayBitMap(16383);
DisplayBitMap(16383);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(16383);
DisplayBitMap(16383);
DisplayBitMap(16383);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(14336);
DisplayBitMap(16380);
DisplayBitMap(16383);
DisplayBitMap(16383);
DisplayBitMap(16383);
delay(300);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(8192);
DisplayBitMap(12288);
DisplayBitMap(16368);
DisplayBitMap(16380);
DisplayBitMap(16383);
DisplayBitMap(16383);

}

void DisplayBitMap(int lineint)
{
//int data[9] = {95, 247, 123, 511, 255, 1, 5, 31, 15};

//for(line = 0; line < 9; line++) {
for (byte led=0; led<14; ++led) {
if (lineint & (1<<led)) {
LedSign::Set(led, line, 1);
} else {
LedSign::Set(led, line, 0);
}
}

line++;
if(line >= 9) line = 0;
}