Guest User

8x8 matrica Arduino

a guest
Jun 12th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.33 KB | None | 0 0
  1.  
  2. #include <MaxMatrix.h>
  3. #include <avr/pgmspace.h>
  4.  
  5. const unsigned char PROGMEM karakter[] = {
  6. 3, 8, 0,0,0,0,0, // space
  7. 1, 8, 95,0,0,0,0, //!
  8. 3, 8, 3,0,3,0,0, //"
  9. 5, 8, 20,62,20,62,20, //#
  10. 4, 8, 36,106,43,18,0, //$
  11. 5, 8, 99,19,8,100,99, //%
  12. 5, 8, 54,73,86,32,80, //&
  13. 1, 8, 3,0,0,0,0, //'
  14. 3, 8, 28,34,65,0,0, //(
  15. 3, 8, 65,34,28,0,0, //)
  16. 5, 8, 40, 24, 14, 24, 24,// *
  17. 5, 8, 8,8,62,8,8, //+
  18. 2, 8, 176,112,0,0,0, //,
  19. 4, 8, 8,8,8,8,0, //-
  20. 2, 8, 96,96,0,0,0, //.
  21. 4, 8, 96,24,6,1,0, // /
  22. 4, 8, 62,65,65,62,0, //0
  23. 3, 8, 66,127,64,0,0, //1
  24. 4, 8, 98,81,73,70, 0, //2
  25. 4, 8, 34,65,73,54,0, //3
  26. 4, 8, 24,20,18,127, 0, //4
  27. 4, 8, 39,69,69,57,0, //5
  28. 4, 8, 62,73,73,48,0, //6
  29. 4, 8, 97,17,9,7,0, //7
  30. 4, 8, 54,73,73,54,0, //8
  31. 4, 8, 6,73,73,62,0, //9
  32. 2, 8, 80,0,0,0,0, //:
  33. 2, 8, 128,80,0,0,0, //;
  34. 3, 8, 16,40,68,0,0, //<
  35. 3, 8, 20,20,20,0,0, //=
  36. 3, 8, 68,40,16,0,0, //>
  37. 4, 8, 2,89,9,6,0, //?
  38. 5, 8, 62,73,85,93,14, //@
  39. 4, 8, 126,17,17,126,0, //A
  40. 4, 8, 127,73,73,54,0, //B
  41. 4, 8, 62,65,65,34,0, //C
  42. 4, 8, 127,65,65,62,0, //D
  43. 4, 8, 127,73,73,65,0, //E
  44. 4, 8, 127,9,9,1,0, // F
  45. 4, 8, 62,65,73,122, 0, //G
  46. 4, 8, 127,8,8,127,0, //H
  47. 3, 8, 65,127,65,0,0, //I
  48. 4, 8, 48,64,65,63,0, //J
  49. 4, 8, 127,8,20,99,0, //K
  50. 4, 8, 127,64,64,64,0, //L
  51. 5, 8, 127,2,12,2,127, //M
  52. 5, 8, 127,4,8,16,127, //N
  53. 4, 8, 62,65,65,62,0, //O
  54. 4, 8, 127,9,9,6,0, //P
  55. 4, 8, 62,65,65,190,0, //Q
  56. 4, 8, 127,9,9,118,0, //R
  57. 4, 8, 70,73,73,50,0, //S
  58. 5, 8, 1,1,127,1,1, //T
  59. 4, 8, 63,64,64,63,0, //U
  60. 5, 8, 15,48,64,48,15, //V
  61. 5, 8, 63,64,56,64,63, //W
  62. 5, 8, 99,20,8,20,99, //X
  63. 5, 8, 7,8,112,8,7, //Y
  64. 4, 8, 97,81,73,71, 0, //Z
  65. 2, 8, 127,65,0,0,0, //[
  66. 4, 8, 1,6,24,96,0, //\ backlsash
  67. 2, 8, 65,127,0,0,0, //]
  68. 3, 8, 2,1,2,0,0, // hat
  69. 4, 8, 64,64,64,64,0, //_
  70. 2, 8, 1,2,0,0,0, //`
  71. 4, 8, 32,84,84,120,0, //a
  72. 4, 8, 127,68,68,56,0, //b
  73. 4, 8, 56,68,68,40,0, //c
  74. 4, 8, 56,68,68,127,0, //d
  75. 4, 8, 56,84,84,24,0, //e
  76. 3, 8, 4,126,5,0,0, //f
  77. 4, 8, 152,164,164,120,0, //g
  78. 4, 8, 127,4,4,120,0, //h
  79. 3, 8, 68,125,64,0,0, //i
  80. 4, 8, 64,128,132,125,0, //j
  81. 4, 8, 127,16,40,68,0, //k
  82. 3, 8, 65,127,64,0,0, //l
  83. 5, 8, 124,4,124,4,120, //m
  84. 4, 8, 120,4,4,120,0, //n
  85. 4, 8, 56,68,68,56,0, //o
  86. 4, 8, 252,36,36,24,0, //p
  87. 4, 8, 24,36,36,252,0, //q
  88. 4, 8, 124,8,4,4,0, //r
  89. 4, 8, 72,84,84,36,0, //s
  90. 3, 8, 4,63,68,0,0, //t
  91. 4, 8, 60,64,64,60,0, //u
  92. 5, 8, 28,32,64,32,28, //v
  93. 5, 8, 60,64,60,64,60, //w
  94. 5, 8, 68,40,16,40,68, //x
  95. 4, 8, 156,160,160,124,0,//y
  96. 3, 8, 100,84,76,0,0, //z
  97. 3, 8, 8,54,65,0,0, //{
  98. 1, 8, 127,0,0,0,0, //|
  99. 3, 8, 65,54,8,0,0, //}
  100. 4, 8, 8,4,8,4,0, //~
  101. };
  102.  
  103. char tekst[]= "Veliki pozdrav za citaoce casopisa Svet Kompjutera!   ";
  104. byte bafer[10];
  105.  
  106. MaxMatrix m8x8(10, 11, 13, 1); // DIN, CS, CLK, broj modula
  107.  
  108. void setup(){
  109.   m8x8.init(); // inicijalizacija modula
  110.   m8x8.setIntensity(0); // jacina svetlosti 0-15
  111. }
  112.  
  113. void loop(){
  114.   ispisi_tekst(tekst, 50);
  115. }
  116.  
  117. void skrolovanje_levo(char znak, int brzina){
  118.   if (znak < 32) return; //ako nije vidljiv, izlazak
  119.   memcpy_P(bafer, karakter + 7*(znak-32), 7); //kopiraj definiciju
  120.   m8x8.writeSprite(32, 0, bafer);
  121.   m8x8.setColumn(32 + bafer[0], 0);
  122.  
  123.   for (int x=0; x<bafer[0]+1; x++)
  124.   {
  125.     delay(brzina);
  126.     m8x8.shiftLeft(false, false);
  127.   }
  128. }
  129.  
  130. void ispisi_tekst(char* znak, int brzina){
  131.   while (*znak != 0){ // dok ne dodjemo do kraja niza
  132.     skrolovanje_levo(*znak, brzina);
  133.     znak++; // sledeci znak
  134.   }
  135. }
Add Comment
Please, Sign In to add comment