// //******************************************
// // USE write() in replace to digitalWrite()
// // The diagram uses 16x16 matrix. Note that the 16th adress will not work
// // This will work with 15x15 boards
// //******************************************
#include "MUX_iParol.h"
//Create your array below
byte listOne[] = {98,112,114,128};
byte listTwo[] = {82,83,84,96,97,99,100,111,115,126,127,129,130,142,143,144};
byte listThree[] = {53,67,68,69,81,85,95,101,109,110,116,117,125,131,141,145,157,158,159,173};
byte listFour[] = {23,37,38,39,51,52,54,65,79,52,66,80,94,55,71,87,54,70,86,102,109, 93,107,108,123,124,140,156,172,139,155,171,103,118,119,133,147,161,175,132,146,160,174,187,188,189,203};
byte listFive[] = {7,8,9,21,22,23,24,25,35,36,40,41,49,50,56,57,63,64,72,73,77,78,88,89,91,92,104,105,106,120,121,122,134,135,137,138,153,154,169,170,185,186,201,202,217,218,148,149,162,163,176,177,190,191,204,205,219};
byte listSix[] = {5,6,19,20,33,34,47,48,61,62,76,10,11,26,27,42,43,58,59,74,75,90,136,151,152,167,168,183,184,199,200, 215 ,216, 150, 165, 164, 179, 178, 193, 192, 207,206, 221, 220};
byte listSeven[] = {3,4,17,18,31,32,46,12,13,28,29,44,45,60,166,181, 182,197,198,213,214,180,194,195,208,209,222,
223};
byte listEight[] = {1,2,16,14,15,30,210,225,224,196,211,212};
byte listDisolve1[] = {7,8,9,23,217,218,219,203};
byte listDisolve2[] = {6,10,22,24,38,188,202,204,216,220};
byte listDisolve3[] = {4,5,11,12,20,21,25,26,39,40,36,37,68,52,53,54,158,172,173,174,186,187,188,189,190,200,201,202,203,204,205,206,214,215,216,217,218,219,220,221,222};
byte listDisolve4[] = {3,19,35,51,67,83,69,55,41,27,13,213,199,185,171,157,143,159,175,191,207,223};
byte listDisolve5[] = {1,17,33,49,65,81,97,113,99,85,71,57,43,29,15,211,197,183,169,155,141,127,129,145,161,177,193,209,225};
byte listDisolve6[] = {16,32,48,64,80,96,112,126,140,154,168,182,196,210,194,178,162,146,130,114,30,44,58,72,86,100};
byte listDisolve7[] = {31,47,63,79,95,111,125,139,153,167,181,45,59,73,87,101,115,131,147,163,179,195};
byte listDisolve8[] = {46,62,78,94,110,124,138,152,166,61,77,93,109,123,137,151,60,75,74,89,88,103,102,117,116,165,180,149,164,133,148,132};
byte listDisolve9[] = {76,136,90,150};
byte listDisolve10[] = {91,92,108,121,122,104,105,118,134,135};
byte listDisolve11[] = {106,119};
byte listSmallHeart1[] = {51,35,50, 65,19,34,49,64,79,18,33,63,78};
byte listSmallHeart2[] = {27,42,72,87,28,43,58,73,88,44,59,74,60};
byte listSmallHeart3[] = {137,152,182,197,138,153,168,183,198,154,169,184,170};
byte listSmallHeart4[] = {146,161,191,206,147,162,177,192,207,163,178,193,179};
void setup() {
//You don't need to write anything here
iParol_Init();
}
void loop() {
//Call your user-defined functions here
smallHeart1();
layerOne();
layerTwo();
layerThree();
layerFour();
layerFive();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix();
layerFive();
layerFour();
layerThree();
layerTwo();
layerOne2();
layerTwo();
layerThree();
layerFour();
layerFive();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix();
layerFive();
layerFour();
layerThree();
layerTwo2();
layerThree();
layerFour();
layerFive();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix();
layerFive();
layerFour();
layerThree2();
layerFour();
layerFive();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix();
layerFive();
layerFour2();
layerFive();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix();
layerFive2();
layerSix();
layerSeven();
layerEight();
layerSeven();
layerSix2();
layerSeven();
layerEight();
layerSeven2();
layerEight2();
allOn();
secondDis1();
secondDis2();
secondDis3();
smallHeart1();
}
//Create your own user-defined funtions here
void layerOne(){
for(int i=0; i<=3; i++){
write(listOne[i],HIGH);
}
delay(1000);
for(int i=0; i<=3; i++){
write(listOne[i],LOW);
}
}
void layerTwo(){
for(int i=0; i<=15; i++){
write(listTwo[i], HIGH);
}
delay(1000);
for(int i=0; i<=15; i++){
write(listTwo[i], LOW);
}
}
void layerThree(){
for(int i=0; i<=19; i++){
write(listThree[i],HIGH);
}
delay(1000);
for(int i=0; i<=19; i++){
write(listThree[i],LOW);
}
}
void layerFour(){
for(int i=0; i<=45; i++){
write(listFour[i], HIGH);
}
delay(1000);
for(int i=0; i<=45 ; i++){
write(listFour[i], LOW);
}
}
void layerFive(){
for(int i=0; i<=56; i++){
write(listFive[i], HIGH);
}
delay(1000);
for(int i=0; i<=56; i++){
write(listFive[i], LOW);
}
}
void layerSix(){
for(int i=0;i<=43; i++){
write(listSix[i], HIGH);
}
delay(1000);
for(int i=0;i<=43; i++){
write(listSix[i], LOW);
}
}
void layerSeven(){
for(int i=0; i<=27; i++){
write(listSeven[i], HIGH);
}
delay(1000);
for(int i=0; i<=27; i++){
write (listSeven[i],LOW);
}
}
void layerEight(){
for(int i=0; i<=11; i++){
write(listEight[i],HIGH);
}
delay(1000);
for(int i=0; i<=11; i++){
write(listEight[i],LOW);
}
}
void layerOne2(){
for(int i=0; i<=3; i++){
write(listOne[i],HIGH);
}
delay(1000);
}
void layerTwo2(){
for(int i=0; i<=15; i++){
write(listTwo[i], HIGH);
}
delay(1000);
}
void layerThree2(){
for(int i=0; i<=19; i++){
write(listThree[i],HIGH);
}
delay(1000);
}
void layerFour2(){
for(int i=0; i<=45; i++){
write(listFour[i], HIGH);
}
delay(1000);
}
void layerFive2(){
for(int i=0; i<=56; i++){
write(listFive[i], HIGH);
}
delay(1000);
}
void layerSix2(){
for(int i=0;i<=43; i++){
write(listSix[i], HIGH);
}
}
void layerSeven2(){
for(int i=0; i<=27; i++){
write(listSeven[i], HIGH);
}
delay(1000);
}
void layerEight2(){
for(int i=0; i<=11; i++){
write(listEight[i],HIGH);
}
delay(1000);
}
void allOn(){
for(int i=1; i<=225;i++){
write(i, HIGH);
}
delay(1000);
}
void secondDis1(){
for(int i=0; i<=7; i++){
write(listDisolve1[i],LOW);
}
delay(1000);
}
void secondDis2(){
for(int i=0; i<=9; i++){
write(listDisolve2[i], LOW);
}
delay(1000);
}
void secondDis3(){
for(int i=0; i<=49; i++){
write(listDisolve3[i], LOW);
}
}
void smallHeart1(){
for(int i=0;i<=12; i++)
write(listSmallHeart1[i], HIGH);
delay(500);
}