Advertisement
Guest User

CodeBackup

a guest
Oct 19th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include <FrequencyTimer2.h>
  3.  
  4.  
  5. #define A  { \
  6.     {0, 0, 0, 1, 1, 0, 0, 0}, \
  7.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  8.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  9.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  10.     {0, 1, 1, 1, 1, 1, 1, 0}, \
  11.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  12.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  13.     {0, 1, 0, 0, 0, 0, 1, 0}  \
  14. }
  15.  
  16. #define B { \
  17.     {0, 0, 1, 1, 0, 0, 0, 0},  \
  18.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  19.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  20.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  21.     {0, 0, 1, 1, 1, 0, 0, 0}, \
  22.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  23.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  24.     {0, 0, 1, 1, 1, 0, 0, 0} \
  25. }
  26.  
  27. #define C { \
  28.     {0, 0, 0, 1, 1, 0, 0, 0},  \
  29.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  30.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  31.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  32.     {0, 0, 1, 0, 0, 0, , 0}, \
  33.     {0, 0, 1, 0, 0, 0, , 0}, \
  34.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  35.     {0, 0, 0, 1, 1, 0, 0, 0} \
  36. }
  37.  
  38. #define D { \
  39.     {0, 0, 1, 1, 0, 0, 0, 0},  \
  40.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  41.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  42.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  43.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  44.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  45.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  46.     {0, 0, 1, 1, 1, 0, 0, 0} \
  47. }
  48.  
  49. #define E { \
  50.     {0, 0, 1, 1, 1, 1, 0, 0},  \
  51.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  52.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  53.     {0, 0, 1, 1, 1, 0, 0, 0}, \
  54.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  55.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  56.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  57.     {0, 0, 1, 1, 1, 1, 0, 0} \
  58. }
  59.  
  60. #define F { \
  61.     {0, 0, 1, 1, 1, 1, 0, 0},  \
  62.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  63.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  64.     {0, 0, 1, 1, 1, 0, 0, 0}, \
  65.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  66.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  67.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  68.     {0, 0, 1, 0, 0, 0, 0, 0} \
  69. }
  70.  
  71. #define G { \
  72.     {0, 0, 0, 1, 1, 0, 0, 0},  \
  73.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  74.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  75.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  76.     {0, 0, 1, 0, 1, 1, 0, 0}, \
  77.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  78.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  79.     {0, 0, 0, 1, 1, 1, 0, 0} \
  80. }
  81.  
  82. #define H { \
  83.     {0, 0, 1, 0, 0, 1, 0, 0},  \
  84.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  85.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  86.     {0, 0, 1, 1, 1, 1, 0, 0}, \
  87.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  88.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  89.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  90.     {0, 0, 1, 0, 0, 1, 0, 0} \
  91. }
  92.  
  93. #define I { \
  94.     {0, 1, 1, 1, 1, 1, 0, 0},  \
  95.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  96.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  97.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  98.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  99.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  100.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  101.     {0, 1, 1, 1, 1, 1, 0, 0} \
  102. }
  103.  
  104. #define J { \
  105.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  106.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  107.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  108.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  109.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  110.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  111.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  112.     {0, 0, 0, 1, 1, 0, 0, 0}  \
  113. }
  114.  
  115. #define K { \
  116.     {0, 0, 1, 0, 0, 1, 0, 0},  \
  117.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  118.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  119.     {0, 0, 1, 1, 0, 0, 0, 0}, \
  120.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  121.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  122.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  123.     {0, 0, 1, 0, 0, 1, 0, 0} \
  124. }
  125.  
  126. #define L { \
  127.     {0, 0, 1, 0, 0, 0, 0, 0},  \
  128.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  129.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  130.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  131.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  132.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  133.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  134.     {0, 0, 1, 1, 1, 1, 0, 0} \
  135. }
  136.  
  137. #define M { \
  138.     {1, 0, 0, 0, 0, 0, 1, 0},  \
  139.     {1, 1, 0, 0, 0, 1, 1, 0}, \
  140.     {1, 0, 1, 0, 1, 0, 1, 0}, \
  141.     {1, 0, 0, 1, 0, 0, 1, 0}, \
  142.     {1, 0, 0, 1, 0, 0, 1, 0}, \
  143.     {1, 0, 0, 1, 0, 0, 1, 0}, \
  144.     {1, 0, 0, 0, 0, 0, 1, 0}, \
  145.     {1, 0, 0, 0, 0, 0, 1, 0} \
  146. }
  147.  
  148. #define N { \
  149.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  150.     {0, 1, 1, 0, 0, 0, 1, 0}, \
  151.     {0, 1, 0, 1, 0, 0, 1, 0}, \
  152.     {0, 1, 0, 0, 1, 0, 1, 0}, \
  153.     {0, 1, 0, 0, 0, 1, 1, 0}, \
  154.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  155.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  156.     {0, 1, 0, 0, 0, 0, 1, 0}  \
  157. }
  158.  
  159. #define O { \
  160.     {0, 0, 0, 1, 1, 0, 0, 0}, \
  161.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  162.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  163.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  164.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  165.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  166.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  167.     {0, 0, 0, 1, 1, 0, 0, 0}  \
  168. }
  169.  
  170. #define P { \
  171.     {0, 0, 1, 1, 1, 0, 0, 0},  \
  172.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  173.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  174.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  175.     {0, 0, 1, 1, 1, 0, 0, 0}, \
  176.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  177.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  178.     {0, 0, 1, 0, 0, 0, 0, 0} \
  179. }
  180.  
  181. #define Q { \
  182.     {0, 0, 0, 1, 1, 0, 0, 0}, \
  183.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  184.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  185.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  186.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  187.     {0, 1, 0, 0, 1, 0, 1, 0}, \
  188.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  189.     {0, 0, 0, 1, 1, 0, 1, 0}  \
  190. }
  191.  
  192. #define R { \
  193.     {0, 0, 1, 1, 1, 0, 0, 0},  \
  194.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  195.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  196.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  197.     {0, 0, 1, 1, 1, 0, 0, 0}, \
  198.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  199.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  200.     {0, 0, 1, 0, 0, 1, 0, 0} \
  201. }
  202.  
  203. #define S { \
  204.     {0, 0, 0, 1, 1, 1, 1, 0}, \
  205.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  206.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  207.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  208.     {0, 0, 0, 1, 1, 1, 0, 0}, \
  209.     {0, 0, 0, 0, 0, 0, 1, 0}, \
  210.     {0, 0, 0, 0, 0, 0, 1, 0}, \
  211.     {0, 0, 1, 1, 1, 1, 0, 0}  \
  212. }
  213.  
  214. #define T { \
  215.     {0, 1, 1, 1, 1, 1, 0, 0},  \
  216.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  217.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  218.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  219.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  220.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  221.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  222.     {0, 0, 0, 1, 0, 0, 0, 0} \
  223. }
  224.  
  225. #define U { \
  226.     {0, 0, 1, 0, 0, 1, 0, 0},  \
  227.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  228.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  229.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  230.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  231.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  232.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  233.     {0, 0, 0, 1, 1, 0, 0, 0} \
  234. }
  235.  
  236. #define V { \
  237.     {0, 0, 1, 0, 0, 0, 1, 0},  \
  238.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  239.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  240.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  241.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  242.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  243.     {0, 0, 0, 1, 0, 1, 0, 0}, \
  244.     {0, 0, 0, 0, 1, 0, 0, 0} \
  245. }
  246.  
  247. #define W { \
  248.     {1, 0, 0, 0, 0, 0, 1, 0},  \
  249.     {1, 0, 0, 0, 0, 0, 1, 0}, \
  250.     {1, 0, 0, 0, 0, 0, 1, 0}, \
  251.     {1, 0, 0, 0, 0, 0, 1, 0}, \
  252.     {1, 0, 0, 1, 0, 0, 1, 0}, \
  253.     {0, 1, 0, 0, 1, 0, 1, 0}, \
  254.     {0, 0, 1, 0, 1, 1, 1, 0}, \
  255.     {0, 0, 0, 1, 0, 0, 1, 0} \
  256. }
  257.  
  258. #define X { \
  259.     {0, 1, 0, 0, 0, 0, 1, 0},  \
  260.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  261.     {0, 0, 1, 0, 0, 1, 0, 0}, \
  262.     {0, 0, 0, 1, 1, 0, 0, 0}, \
  263.     {0, 0, 0, 1, 1, 0, 0, 0}, \
  264.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  265.     {0, 0, 1, 0, 0, 0, 1, 0}, \
  266.     {0, 1, 0, 0, 0, 0, 1, 0} \
  267. }
  268.  
  269. #define Y { \
  270.     {0, 1, 0, 0, 0, 0, 1, 0},  \
  271.     {0, 1, 0, 0, 0, 0, 1, 0}, \
  272.     {0, 1, 0, 0, 0, 1, 0, 0}, \
  273.     {0, 0, 1, 0, 1, 0, 0, 0}, \
  274.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  275.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  276.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  277.     {0, 0, 0, 1, 0, 0, 0, 0} \
  278. }
  279.  
  280. #define Z { \
  281.     {0, 1, 1, 1, 1, 1, 1, 0},  \
  282.     {0, 0, 0, 0, 0, 1, 0, 0}, \
  283.     {0, 0, 0, 0, 1, 0, 0, 0}, \
  284.     {0, 0, 0, 1, 0, 0, 0, 0}, \
  285.     {0, 0, 1, 0, 0, 0, 0, 0}, \
  286.     {0, 1, 0, 0, 0, 0, 0, 0}, \
  287.     {0, 1, 0, 0, 0, 0, 0, 0}, \
  288.     {0, 1, 1, 1, 1, 1, 1, 0} \
  289. }
  290.  
  291. #define SPACE { \
  292.     {0, 0, 0, 0, 0, 0, 0, 0},  \
  293.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  294.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  295.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  296.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  297.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  298.     {0, 0, 0, 0, 0, 0, 0, 0}, \
  299.     {0, 0, 0, 0, 0, 0, 0, 0} \
  300. }
  301.  
  302. byte col = 0;
  303. byte leds[8][8];
  304.  
  305. int pins[17]= {  // pin[xx] on led matrix connected to nn on Arduino (-1 is dummy to make array start at pos 1)
  306.   -1, 5, 4, 3, 2, 50, 51, 52, 53, 13, 12, 11, 10, 9, 8, 7, 6};
  307. int cols[8] = {  // col[xx] of leds = pin yy on led matrix
  308.   pins[13], pins[3], pins[4], pins[10], pins[06], pins[11], pins[15], pins[16]};
  309. int rows[8] = {  // row[xx] of leds = pin yy on led matrix
  310.   pins[9], pins[14], pins[8], pins[12], pins[1], pins[7], pins[2], pins[5]};
  311.  
  312.  
  313. int pattern = 0;
  314. const int numPatterns = 5;        // set number of characters in string
  315. byte patterns[numPatterns][8][8] = {    // set string
  316.   SPACE,Z,E,R,O
  317. };
  318.  
  319. int patternOne = 0;
  320. const int numPatternsOne = 4;
  321. byte patternsOne[numPatternsOne][8][8] = {
  322.   SPACE,O,N,E
  323. };
  324.  
  325. int patternTwo = 0;
  326. const int numPatternsTwo = 4;
  327. byte patternsTwo[numPatternsTwo][8][8] = {
  328.   SPACE,T,W,O
  329. };
  330.  
  331. int patternThree = 0;
  332. const int numPatternsThree = 6;
  333. byte patternsThree[numPatternsThree][8][8] = {
  334.   SPACE,T,H,R,E,E
  335. };
  336.  
  337. int patternFour = 0;
  338. const int numPatternsFour = 5;
  339. byte patternsFour[numPatternsFour][8][8] = {
  340.   SPACE,F,O,U,R
  341. };
  342.  
  343. int patternFive = 0;
  344. const int numPatternsFive = 6;
  345. byte patternsFive[numPatternsFive][8][8] = {
  346.   SPACE,F,I,V,E
  347. };
  348.  
  349. int patternSix = 0;
  350. const int numPatternsSix = 4;
  351. byte patternsSix[numPatternsSix][8][8] = {
  352.   SPACE,S,I,X
  353. };
  354.  
  355. int patternSeven = 0;
  356. const int numPatternsSeven = 6;
  357. byte patternsSeven[numPatternsSeven][8][8] = {
  358.   SPACE,S,E,V,E,N
  359. };
  360.  
  361. int patternEight = 0;
  362. const int numPatternsEight = 6;
  363. byte patternsEight[numPatternsEight][8][8] = {
  364.   SPACE,E,I,G,H,T
  365. };
  366.  
  367. int patternNine = 0;
  368. const int numPatternsNine = 5;
  369. byte patternsNine[numPatternsNine][8][8] = {
  370.   SPACE,N,I,N,E
  371. };
  372.  
  373. int patternTen = 0;
  374. const int numPatternsTen = 4;
  375. byte patternsTen[numPatternsTen][8][8] = {
  376.   SPACE,T,E,N
  377. };
  378.  
  379. int patternEleven = 0;
  380. const int numPatternsEleven = 7;
  381. byte patternsEleven[numPatternsEleven][8][8] = {
  382.   SPACE,E,L,E,V,E,N
  383. };
  384.  
  385. int scrollSpeed;
  386. int analogPin = 0;          // set analog pin
  387. int sensorValue = 0;        // store the value coming from the sensor
  388. int mappedValue;            // store the new value remapped from 0 to 255
  389. int delayTime = 0;          // delay time between letters
  390. int numLoops = 0;           // this is the 'start at' counter/current count number so it only samples the audio once every 'numLoopsTotal' loops
  391. int numLoopsTotal = 2;      // samples the audio every this number of loops
  392. int ledPinNum = 48;         // LED output pin
  393. int ledTimeOn = 1;          // number of loops the LED is on
  394. int numQuiet = 1;
  395. int numQuietTotal = 2;
  396. int numLoud = 1;
  397. int numLoudTotal = 2;
  398.  
  399. boolean switcherQuiet = false;
  400. boolean switcherLoud = false;
  401.  
  402.  
  403. void setup() {
  404.   Serial.begin(9600);  
  405.   for (int i = 1; i <= 16; i++) {  // sets the pins as output
  406.     pinMode(pins[i], OUTPUT);
  407.   }
  408.   for (int i = 1; i <= 8; i++) {  // set up cols and rows
  409.     digitalWrite(cols[i - 1], LOW);
  410.   }
  411.   for (int i = 1; i <= 8; i++) {
  412.     digitalWrite(rows[i - 1], LOW);
  413.   }
  414.   clearLeds();
  415.   // Turn off toggling of pin 11
  416.   FrequencyTimer2::disable();
  417.   // Set refresh rate (interrupt timeout period)
  418.   FrequencyTimer2::setPeriod(2000);
  419.   // Set interrupt routine to be called
  420.   FrequencyTimer2::setOnOverflow(display);
  421.   setPattern(pattern);
  422.   pinMode(ledPinNum, OUTPUT);
  423. }
  424.  
  425.  
  426. void loop() {
  427.   int sensorValue = analogRead(analogPin);    
  428.   // print out the value you read:
  429.   mappedValue = map(sensorValue, 418, 900, 0, 255);
  430.   printValues();
  431.   digitalWrite(ledPinNum, HIGH);
  432.   delay(1);
  433.   digitalWrite(ledPinNum, LOW);
  434.  
  435.   //QUIET STRING
  436.   if (mappedValue <= 128) {
  437.     if (switcherQuiet) {
  438.       if (numQuiet < numQuietTotal){
  439.         //
  440.         for (int i = 1; i <= numPatterns; i++){
  441.           pattern = ++pattern % numPatterns;
  442.           scrollSpeed = 80;
  443.           slidePattern(pattern, scrollSpeed);
  444.         }
  445.         Serial.println("numPatterns");
  446.       }
  447.       if (numQuiet == numQuietTotal){
  448.         for (int i = 1; i <= numPatternsOne; i++){
  449.           patternOne = ++patternOne % numPatternsOne;
  450.           scrollSpeed = 80;
  451.           slidePatternOne(patternOne, scrollSpeed);
  452.         }
  453.         Serial.println("numPatternsOne");
  454.       }
  455.       if (numQuiet > numQuietTotal) {
  456.         delay(800);
  457.         for (int i = 1; i <= numPatternsTwo; i++){
  458.           patternTwo = ++patternTwo % numPatternsTwo;
  459.           scrollSpeed = 80;
  460.           slidePatternTwo(patternTwo, scrollSpeed);
  461.         }
  462.         Serial.println("numPatternsTwo");
  463.         numQuiet = 0;
  464.       }
  465.     }
  466.     if (!switcherQuiet) {
  467.       if (numQuiet < numQuietTotal){
  468.         //
  469.         for (int i = 1; i <= numPatternsThree; i++){
  470.           patternThree = ++patternThree % numPatternsThree;
  471.           scrollSpeed = 80;
  472.           slidePatternThree(patternThree, scrollSpeed);
  473.         }
  474.         Serial.println("numPatternsThree");
  475.       }
  476.       if (numQuiet == numQuietTotal){
  477.         for (int i = 1; i <= numPatternsFour; i++){
  478.           patternFour = ++patternFour % numPatternsFour;
  479.           scrollSpeed = 80;
  480.           slidePatternFour(patternFour, scrollSpeed);
  481.         }
  482.         Serial.println("numPatternsFour");
  483.       }
  484.       if (numQuiet > numQuietTotal) {
  485.         delay(800);
  486.         for (int i = 1; i <= numPatternsFive; i++){
  487.           patternFive = ++patternFive % numPatternsFive;
  488.           scrollSpeed = 80;
  489.           slidePatternFour(patternFive, scrollSpeed);
  490.         }
  491.         Serial.println("numPatternsFive");
  492.         numQuiet = 0;
  493.       }
  494.     }
  495.     switcherQuiet = !switcherQuiet;
  496.     numQuiet++;
  497.   }
  498.  
  499.   //LOUDNESS STRING
  500.   if (mappedValue > 128) {
  501.     if (switcherLoud) {
  502.       if (numLoud < numLoudTotal){
  503.         for (int i = 1; i <= numPatternsSix; i++){
  504.           patternSix = ++patternSix % numPatternsSix;
  505.           scrollSpeed = 80;
  506.           slidePatternSix(patternSix, scrollSpeed);
  507.         }
  508.         Serial.println("numPatternsSix");
  509.       }
  510.       if (numLoud == numLoudTotal){
  511.         for (int i = 1; i <= numPatternsSeven; i++){
  512.           patternSeven = ++patternSeven % numPatternsSeven;
  513.           scrollSpeed = 80;
  514.           slidePatternSeven(patternSeven, scrollSpeed);
  515.         }
  516.         Serial.println("numPatternsSeven");
  517.       }
  518.       if (numLoud > numLoudTotal) {
  519.         delay(800);
  520.         for (int i = 1; i <= numPatternsEight; i++){
  521.           patternEight = ++patternEight % numPatternsEight;
  522.           scrollSpeed = 80;
  523.           slidePatternEight(patternEight, scrollSpeed);
  524.         }
  525.         Serial.println("numPatternsEight");
  526.         numLoud = 0;
  527.       }
  528.  
  529.     }
  530.     if (!switcherLoud) {
  531.       if (numLoud < numLoudTotal){
  532.         for (int i = 1; i <= numPatternsNine; i++){
  533.           patternNine = ++patternNine % numPatternsNine;
  534.           scrollSpeed = 80;
  535.           slidePatternNine(patternNine, scrollSpeed);
  536.         }
  537.         Serial.println("numPatternsNine");
  538.       }
  539.       if (numLoud == numLoudTotal){
  540.         for (int i = 1; i <= numPatternsTen; i++){
  541.           patternTen = ++patternTen % numPatternsTen;
  542.           scrollSpeed = 100;
  543.           slidePatternTen(patternTen, scrollSpeed);
  544.         }
  545.         Serial.println("numPatternsTen");
  546.       }
  547.       if (numLoud > numLoudTotal) {
  548.         delay(800);
  549.         for (int i = 1; i <= numPatternsEleven; i++){
  550.           patternEleven = ++patternEleven % numPatternsEleven;
  551.           scrollSpeed = 100;
  552.           slidePatternEleven(patternEleven, scrollSpeed);
  553.         }
  554.         Serial.println("numPatternsEleven");
  555.         numLoud = 0;
  556.       }
  557.  
  558.     }
  559.  
  560.     numLoops++;
  561.     numLoud++;
  562.   }
  563.   delay(800);
  564. }
  565.  
  566. void clearLeds() {
  567.   // Clear display array
  568.   for (int i = 0; i < 8; i++) {
  569.     for (int j = 0; j < 8; j++) {
  570.       leds[i][j] = 0;
  571.     }
  572.   }
  573. }
  574.  
  575. void setPattern(int pattern) {
  576.   for (int i = 0; i < 8; i++) {
  577.     for (int j = 0; j < 8; j++) {
  578.       leds[i][j] = patterns[pattern][i][j];
  579.     }
  580.   }
  581. }
  582.  
  583. // Interrupt routine
  584. void display() {
  585.   digitalWrite(cols[col], HIGH);  // Turn whole previous column off
  586.   col++;
  587.   if (col == 8) {
  588.     col = 0;
  589.   }
  590.   for (int row = 0; row < 8; row++) {
  591.     if (leds[col][7 - row] == 1) {  
  592.       // This Value used to be LOW, I switched it to HIGH for
  593.       digitalWrite(rows[row], HIGH);  // Our LED MATRIX
  594.       // Turn on this led
  595.     }
  596.     else {  
  597.       // This Value used to be HIGH, I switched it to LOW for
  598.       digitalWrite(rows[row], LOW); // Our LED MATRIX
  599.       // Turn on this led
  600.     }
  601.   }
  602.   digitalWrite(cols[col], LOW); // Turn whole column on at once (for equal lighting times)
  603. }
  604.  
  605.  
  606. void printValues() {
  607.   Serial.print("sensorValue: ");
  608.   Serial.println(sensorValue);  
  609.   Serial.println();    
  610.   Serial.print("map 418 - 900 to 0 - 255                    : ");
  611.   Serial.println(mappedValue);
  612.   Serial.println();
  613.   delay(delayTime);
  614. }
  615.  
  616. void slidePattern(int pattern, int del) {
  617.   for (int l = 0; l < 8; l++) {
  618.     for (int i = 0; i < 7; i++) {
  619.       for (int j = 0; j < 8; j++) {
  620.         leds[j][i] = leds[j][i+1];
  621.       }
  622.     }
  623.     for (int j = 0; j < 8; j++) {
  624.       leds[j][7] = patterns[pattern][j][0 + l];
  625.     }
  626.     delay(del);
  627.   }
  628. }
  629.  
  630.  
  631. void slidePatternOne(int patternOne, int del) {
  632.   for (int l = 0; l < 8; l++) {
  633.     for (int i = 0; i < 7; i++) {
  634.       for (int j = 0; j < 8; j++) {
  635.         leds[j][i] = leds[j][i+1];
  636.       }
  637.     }
  638.     for (int j = 0; j < 8; j++) {
  639.       leds[j][7] = patternsOne[patternOne][j][0 + l];
  640.     }
  641.     delay(del);
  642.   }
  643. }
  644.  
  645. void slidePatternTwo(int patternTwo, int del) {
  646.   for (int l = 0; l < 8; l++) {
  647.     for (int i = 0; i < 7; i++) {
  648.       for (int j = 0; j < 8; j++) {
  649.         leds[j][i] = leds[j][i+1];
  650.       }
  651.     }
  652.     for (int j = 0; j < 8; j++) {
  653.       leds[j][7] = patternsTwo[patternTwo][j][0 + l];
  654.     }
  655.     delay(del);
  656.   }
  657. }
  658.  
  659. void slidePatternThree(int patternThree, int del) {
  660.   for (int l = 0; l < 8; l++) {
  661.     for (int i = 0; i < 7; i++) {
  662.       for (int j = 0; j < 8; j++) {
  663.         leds[j][i] = leds[j][i+1];
  664.       }
  665.     }
  666.     for (int j = 0; j < 8; j++) {
  667.       leds[j][7] = patternsThree[patternThree][j][0 + l];
  668.     }
  669.     delay(del);
  670.   }
  671. }
  672.  
  673. void slidePatternFour(int patternFour, int del) {
  674.   for (int l = 0; l < 8; l++) {
  675.     for (int i = 0; i < 7; i++) {
  676.       for (int j = 0; j < 8; j++) {
  677.         leds[j][i] = leds[j][i+1];
  678.       }
  679.     }
  680.     for (int j = 0; j < 8; j++) {
  681.       leds[j][7] = patternsFour[patternFour][j][0 + l];
  682.     }
  683.     delay(del);
  684.   }
  685. }
  686.  
  687. void slidePatternFive(int patternFive, int del) {
  688.   for (int l = 0; l < 8; l++) {
  689.     for (int i = 0; i < 7; i++) {
  690.       for (int j = 0; j < 8; j++) {
  691.         leds[j][i] = leds[j][i+1];
  692.       }
  693.     }
  694.     for (int j = 0; j < 8; j++) {
  695.       leds[j][7] = patternsFive[patternFive][j][0 + l];
  696.     }
  697.     delay(del);
  698.   }
  699. }
  700.  
  701. void slidePatternSix(int patternSix, int del) {
  702.   for (int l = 0; l < 8; l++) {
  703.     for (int i = 0; i < 7; i++) {
  704.       for (int j = 0; j < 8; j++) {
  705.         leds[j][i] = leds[j][i+1];
  706.       }
  707.     }
  708.     for (int j = 0; j < 8; j++) {
  709.       leds[j][7] = patternsSix[patternSix][j][0 + l];
  710.     }
  711.     delay(del);
  712.   }
  713. }
  714.  
  715. void slidePatternSeven(int patternSeven, int del) {
  716.   for (int l = 0; l < 8; l++) {
  717.     for (int i = 0; i < 7; i++) {
  718.       for (int j = 0; j < 8; j++) {
  719.         leds[j][i] = leds[j][i+1];
  720.       }
  721.     }
  722.     for (int j = 0; j < 8; j++) {
  723.       leds[j][7] = patternsSeven[patternSeven][j][0 + l];
  724.     }
  725.     delay(del);
  726.   }
  727. }
  728.  
  729. void slidePatternEight(int patternEight, int del) {
  730.   for (int l = 0; l < 8; l++) {
  731.     for (int i = 0; i < 7; i++) {
  732.       for (int j = 0; j < 8; j++) {
  733.         leds[j][i] = leds[j][i+1];
  734.       }
  735.     }
  736.     for (int j = 0; j < 8; j++) {
  737.       leds[j][7] = patternsEight[patternEight][j][0 + l];
  738.     }
  739.     delay(del);
  740.   }
  741. }
  742.  
  743. void slidePatternNine(int patternNine, int del) {
  744.   for (int l = 0; l < 8; l++) {
  745.     for (int i = 0; i < 7; i++) {
  746.       for (int j = 0; j < 8; j++) {
  747.         leds[j][i] = leds[j][i+1];
  748.       }
  749.     }
  750.     for (int j = 0; j < 8; j++) {
  751.       leds[j][7] = patternsNine[patternNine][j][0 + l];
  752.     }
  753.     delay(del);
  754.   }
  755. }
  756.  
  757. void slidePatternTen(int patternTen, int del) {
  758.   for (int l = 0; l < 8; l++) {
  759.     for (int i = 0; i < 7; i++) {
  760.       for (int j = 0; j < 8; j++) {
  761.         leds[j][i] = leds[j][i+1];
  762.       }
  763.     }
  764.     for (int j = 0; j < 8; j++) {
  765.       leds[j][7] = patternsTen[patternTen][j][0 + l];
  766.     }
  767.     delay(del);
  768.   }
  769. }
  770.  
  771. void slidePatternEleven(int patternEleven, int del) {
  772.   for (int l = 0; l < 8; l++) {
  773.     for (int i = 0; i < 7; i++) {
  774.       for (int j = 0; j < 8; j++) {
  775.         leds[j][i] = leds[j][i+1];
  776.       }
  777.     }
  778.     for (int j = 0; j < 8; j++) {
  779.       leds[j][7] = patternsEleven[patternEleven][j][0 + l];
  780.     }
  781.     delay(del);
  782.   }
  783. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement