Advertisement
olelek

max7219_matrix.ino

Jun 4th, 2015
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 23.92 KB | None | 0 0
  1.  
  2. const byte din = 5;
  3. const byte cs = 6;
  4. const byte clk = 7;
  5. const uint8_t usmiech_a[4][8] ={  {0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00}, //powiększający uśmiech
  6.                         {0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00},
  7.                         {0x00, 0x18, 0x24, 0x5A, 0x5A, 0x24, 0x18, 0x00},
  8.                         {0x3C, 0x42, 0xA9, 0x85, 0x85, 0xA9, 0x42, 0x3C}
  9.                      };
  10.  
  11.  
  12. // Font: CP852.pf
  13.  
  14. const byte font[256][8] =
  15. {
  16.         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},       // Char 000 (.)
  17.         {0x7E, 0x81, 0xA9, 0x8D, 0x8D, 0xA9, 0x81, 0x7E},       // Char 001 (.)
  18.         {0x7E, 0xFF, 0xD7, 0xF3, 0xF3, 0xD7, 0xFF, 0x7E},       // Char 002 (.)
  19.         {0x70, 0xF8, 0xFC, 0x7E, 0xFC, 0xF8, 0x70, 0x00},       // Char 003 (.)
  20.         {0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00},       // Char 004 (.)
  21.         {0x1C, 0x5C, 0xF9, 0xFF, 0xF9, 0x5C, 0x1C, 0x00},       // Char 005 (.)
  22.         {0x08, 0x1C, 0x3D, 0xFF, 0x3D, 0x1C, 0x08, 0x00},       // Char 006 (.)
  23.         {0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00},       // Char 007 (.)
  24.         {0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF},       // Char 008 (.)
  25.         {0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00},       // Char 009 (.)
  26.         {0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF},       // Char 010 (.)
  27.         {0x0E, 0x1F, 0x11, 0x11, 0xBF, 0xFE, 0xE0, 0xF0},       // Char 011 (.)
  28.         {0x00, 0x72, 0xFA, 0x8F, 0x8F, 0xFA, 0x72, 0x00},       // Char 012 (.)
  29.         {0x03, 0x07, 0xFF, 0xFE, 0xA0, 0xA0, 0xE0, 0xE0},       // Char 013 (.)
  30.         {0x03, 0xFF, 0xFE, 0xA0, 0xA0, 0xA6, 0xFE, 0xFC},       // Char 014 (.)
  31.         {0x5A, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x5A},       // Char 015 (.)
  32.         {0xFE, 0x7C, 0x7C, 0x38, 0x38, 0x10, 0x10, 0x00},       // Char 016 (.)
  33.         {0x10, 0x10, 0x38, 0x38, 0x7C, 0x7C, 0xFE, 0x00},       // Char 017 (.)
  34.         {0x00, 0x24, 0x66, 0xFF, 0xFF, 0x66, 0x24, 0x00},       // Char 018 (.)
  35.         {0x00, 0xFA, 0xFA, 0x00, 0x00, 0xFA, 0xFA, 0x00},       // Char 019 (.)
  36.         {0x60, 0xF0, 0x90, 0xFE, 0xFE, 0x80, 0xFE, 0xFE},       // Char 020 (.)
  37.         {0x02, 0x5B, 0xFD, 0xA5, 0xBF, 0x9A, 0xC0, 0x40},       // Char 021 (.)
  38.         {0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x00},       // Char 022 (.)
  39.         {0x01, 0x29, 0x6D, 0xFF, 0xFF, 0x6D, 0x29, 0x01},       // Char 023 (.)
  40.         {0x00, 0x20, 0x60, 0xFE, 0xFE, 0x60, 0x20, 0x00},       // Char 024 (.)
  41.         {0x00, 0x08, 0x0C, 0xFE, 0xFE, 0x0C, 0x08, 0x00},       // Char 025 (.)
  42.         {0x10, 0x10, 0x10, 0x54, 0x7C, 0x38, 0x10, 0x00},       // Char 026 (.)
  43.         {0x10, 0x38, 0x7C, 0x54, 0x10, 0x10, 0x10, 0x00},       // Char 027 (.)
  44.         {0x3C, 0x3C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00},       // Char 028 (.)
  45.         {0x10, 0x38, 0x7C, 0x10, 0x10, 0x7C, 0x38, 0x10},       // Char 029 (.)
  46.         {0x0C, 0x1C, 0x3C, 0x7C, 0x7C, 0x3C, 0x1C, 0x0C},       // Char 030 (.)
  47.         {0x60, 0x70, 0x78, 0x7C, 0x7C, 0x78, 0x70, 0x60},       // Char 031 (.)
  48.         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},       // Char 032 ( )
  49.         {0x00, 0x60, 0xFA, 0xFA, 0x60, 0x00, 0x00, 0x00},       // Char 033 (!)
  50.         {0x00, 0xE0, 0xE0, 0x00, 0xE0, 0xE0, 0x00, 0x00},       // Char 034 (")
  51.         {0x28, 0xFE, 0xFE, 0x28, 0xFE, 0xFE, 0x28, 0x00},       // Char 035 (#)
  52.         {0x24, 0x74, 0xD6, 0xD6, 0x5C, 0x48, 0x00, 0x00},       // Char 036 ($)
  53.         {0x62, 0x66, 0x0C, 0x18, 0x30, 0x66, 0x46, 0x00},       // Char 037 (%)
  54.         {0x0C, 0x5E, 0xF2, 0xBA, 0xEC, 0x5E, 0x12, 0x00},       // Char 038 (&)
  55.         {0x20, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00},       // Char 039 (')
  56.         {0x00, 0x38, 0x7C, 0xC6, 0x82, 0x00, 0x00, 0x00},       // Char 040 (()
  57.         {0x00, 0x82, 0xC6, 0x7C, 0x38, 0x00, 0x00, 0x00},       // Char 041 ())
  58.         {0x10, 0x54, 0x7C, 0x38, 0x38, 0x7C, 0x54, 0x10},       // Char 042 (*)
  59.         {0x10, 0x10, 0x7C, 0x7C, 0x10, 0x10, 0x00, 0x00},       // Char 043 (+)
  60.         {0x00, 0x01, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00},       // Char 044 (,)
  61.         {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00},       // Char 045 (-)
  62.         {0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00},       // Char 046 (.)
  63.         {0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00},       // Char 047 (/)
  64.         {0x7C, 0xFE, 0x82, 0x92, 0x82, 0xFE, 0x7C, 0x00},       // Char 048 (0)
  65.         {0x02, 0x42, 0xFE, 0xFE, 0x02, 0x02, 0x00, 0x00},       // Char 049 (1)
  66.         {0x46, 0xCE, 0x9A, 0x92, 0xF6, 0x66, 0x00, 0x00},       // Char 050 (2)
  67.         {0x44, 0xC6, 0x92, 0x92, 0xFE, 0x6C, 0x00, 0x00},       // Char 051 (3)
  68.         {0x18, 0x38, 0x68, 0xCA, 0xFE, 0xFE, 0x0A, 0x00},       // Char 052 (4)
  69.         {0xE4, 0xE6, 0xA2, 0xA2, 0xBE, 0x9C, 0x00, 0x00},       // Char 053 (5)
  70.         {0x3C, 0x7E, 0xD2, 0x92, 0x9E, 0x0C, 0x00, 0x00},       // Char 054 (6)
  71.         {0xC0, 0xC0, 0x8E, 0x9E, 0xF0, 0xE0, 0x00, 0x00},       // Char 055 (7)
  72.         {0x6C, 0xFE, 0x92, 0x92, 0xFE, 0x6C, 0x00, 0x00},       // Char 056 (8)
  73.         {0x60, 0xF2, 0x92, 0x96, 0xFC, 0x78, 0x00, 0x00},       // Char 057 (9)
  74.         {0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},       // Char 058 (:)
  75.         {0x00, 0x01, 0x67, 0x66, 0x00, 0x00, 0x00, 0x00},       // Char 059 (;)
  76.         {0x10, 0x38, 0x6C, 0xC6, 0x82, 0x00, 0x00, 0x00},       // Char 060 (<)
  77.         {0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x00},       // Char 061 (=)
  78.         {0x00, 0x82, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00},       // Char 062 (>)
  79.         {0x40, 0xC0, 0x8A, 0x9A, 0xF0, 0x60, 0x00, 0x00},       // Char 063 (?)
  80.         {0x7C, 0xFE, 0x82, 0xBA, 0xBA, 0xF8, 0x78, 0x00},       // Char 064 (@)
  81.         {0x3E, 0x7E, 0xC8, 0xC8, 0x7E, 0x3E, 0x00, 0x00},       // Char 065 (A)
  82.         {0x82, 0xFE, 0xFE, 0x92, 0x92, 0xFE, 0x6C, 0x00},       // Char 066 (B)
  83.         {0x38, 0x7C, 0xC6, 0x82, 0x82, 0xC6, 0x44, 0x00},       // Char 067 (C)
  84.         {0x82, 0xFE, 0xFE, 0x82, 0xC6, 0x7C, 0x38, 0x00},       // Char 068 (D)
  85.         {0x82, 0xFE, 0xFE, 0x92, 0xBA, 0x82, 0xC6, 0x00},       // Char 069 (E)
  86.         {0x82, 0xFE, 0xFE, 0x92, 0xB8, 0x80, 0xC0, 0x00},       // Char 070 (F)
  87.         {0x38, 0x7C, 0xC6, 0x82, 0x8A, 0xCE, 0x4E, 0x00},       // Char 071 (G)
  88.         {0xFE, 0xFE, 0x10, 0x10, 0xFE, 0xFE, 0x00, 0x00},       // Char 072 (H)
  89.         {0x00, 0x82, 0xFE, 0xFE, 0x82, 0x00, 0x00, 0x00},       // Char 073 (I)
  90.         {0x0C, 0x0E, 0x02, 0x82, 0xFE, 0xFC, 0x80, 0x00},       // Char 074 (J)
  91.         {0x82, 0xFE, 0xFE, 0x10, 0x38, 0xEE, 0xC6, 0x00},       // Char 075 (K)
  92.         {0x82, 0xFE, 0xFE, 0x82, 0x02, 0x06, 0x0E, 0x00},       // Char 076 (L)
  93.         {0xFE, 0xFE, 0x70, 0x38, 0x70, 0xFE, 0xFE, 0x00},       // Char 077 (M)
  94.         {0xFE, 0xFE, 0x60, 0x30, 0x18, 0xFE, 0xFE, 0x00},       // Char 078 (N)
  95.         {0x38, 0x7C, 0xC6, 0x82, 0xC6, 0x7C, 0x38, 0x00},       // Char 079 (O)
  96.         {0x82, 0xFE, 0xFE, 0x92, 0x90, 0xF0, 0x60, 0x00},       // Char 080 (P)
  97.         {0x78, 0xFC, 0x84, 0x8E, 0xFE, 0x7A, 0x00, 0x00},       // Char 081 (Q)
  98.         {0x82, 0xFE, 0xFE, 0x90, 0x98, 0xFE, 0x66, 0x00},       // Char 082 (R)
  99.         {0x44, 0xE6, 0xB2, 0x9A, 0xCE, 0x44, 0x00, 0x00},       // Char 083 (S)
  100.         {0xC0, 0x82, 0xFE, 0xFE, 0x82, 0xC0, 0x00, 0x00},       // Char 084 (T)
  101.         {0xFE, 0xFE, 0x02, 0x02, 0xFE, 0xFE, 0x00, 0x00},       // Char 085 (U)
  102.         {0xF8, 0xFC, 0x06, 0x06, 0xFC, 0xF8, 0x00, 0x00},       // Char 086 (V)
  103.         {0xFE, 0xFE, 0x0C, 0x18, 0x0C, 0xFE, 0xFE, 0x00},       // Char 087 (W)
  104.         {0xC2, 0xE6, 0x3C, 0x18, 0x3C, 0xE6, 0xC2, 0x00},       // Char 088 (X)
  105.         {0xE0, 0xF2, 0x1E, 0x1E, 0xF2, 0xE0, 0x00, 0x00},       // Char 089 (Y)
  106.         {0xE2, 0xC6, 0x8E, 0x9A, 0xB2, 0xE6, 0xCE, 0x00},       // Char 090 (Z)
  107.         {0x00, 0xFE, 0xFE, 0x82, 0x82, 0x00, 0x00, 0x00},       // Char 091 ([)
  108.         {0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00},       // Char 092 (\)
  109.         {0x00, 0x82, 0x82, 0xFE, 0xFE, 0x00, 0x00, 0x00},       // Char 093 (])
  110.         {0x10, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x10, 0x00},       // Char 094 (^)
  111.         {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01},       // Char 095 (_)
  112.         {0x00, 0x00, 0xC0, 0xE0, 0x20, 0x00, 0x00, 0x00},       // Char 096 (`)
  113.         {0x04, 0x2E, 0x2A, 0x2A, 0x3C, 0x1E, 0x02, 0x00},       // Char 097 (a)
  114.         {0x82, 0xFE, 0xFC, 0x12, 0x12, 0x1E, 0x0C, 0x00},       // Char 098 (b)
  115.         {0x1C, 0x3E, 0x22, 0x22, 0x36, 0x14, 0x00, 0x00},       // Char 099 (c)
  116.         {0x0C, 0x1E, 0x12, 0x92, 0xFC, 0xFE, 0x02, 0x00},       // Char 100 (d)
  117.         {0x1C, 0x3E, 0x2A, 0x2A, 0x3A, 0x18, 0x00, 0x00},       // Char 101 (e)
  118.         {0x12, 0x7E, 0xFE, 0x92, 0xC0, 0x40, 0x00, 0x00},       // Char 102 (f)
  119.         {0x19, 0x3D, 0x25, 0x25, 0x1F, 0x3E, 0x20, 0x00},       // Char 103 (g)
  120.         {0x82, 0xFE, 0xFE, 0x10, 0x20, 0x3E, 0x1E, 0x00},       // Char 104 (h)
  121.         {0x00, 0x22, 0xBE, 0xBE, 0x02, 0x00, 0x00, 0x00},       // Char 105 (i)
  122.         {0x06, 0x07, 0x01, 0x01, 0xBF, 0xBE, 0x00, 0x00},       // Char 106 (j)
  123.         {0x82, 0xFE, 0xFE, 0x08, 0x1C, 0x36, 0x22, 0x00},       // Char 107 (k)
  124.         {0x00, 0x82, 0xFE, 0xFE, 0x02, 0x00, 0x00, 0x00},       // Char 108 (l)
  125.         {0x3E, 0x3E, 0x18, 0x1C, 0x38, 0x3E, 0x1E, 0x00},       // Char 109 (m)
  126.         {0x3E, 0x3E, 0x20, 0x20, 0x3E, 0x1E, 0x00, 0x00},       // Char 110 (n)
  127.         {0x1C, 0x3E, 0x22, 0x22, 0x3E, 0x1C, 0x00, 0x00},       // Char 111 (o)
  128.         {0x21, 0x3F, 0x1F, 0x25, 0x24, 0x3C, 0x18, 0x00},       // Char 112 (p)
  129.         {0x18, 0x3C, 0x24, 0x25, 0x1F, 0x3F, 0x21, 0x00},       // Char 113 (q)
  130.         {0x22, 0x3E, 0x1E, 0x32, 0x20, 0x38, 0x18, 0x00},       // Char 114 (r)
  131.         {0x12, 0x3A, 0x2A, 0x2A, 0x2E, 0x24, 0x00, 0x00},       // Char 115 (s)
  132.         {0x00, 0x20, 0x7C, 0xFE, 0x22, 0x24, 0x00, 0x00},       // Char 116 (t)
  133.         {0x3C, 0x3E, 0x02, 0x02, 0x3C, 0x3E, 0x02, 0x00},       // Char 117 (u)
  134.         {0x38, 0x3C, 0x06, 0x06, 0x3C, 0x38, 0x00, 0x00},       // Char 118 (v)
  135.         {0x3C, 0x3E, 0x0E, 0x1C, 0x0E, 0x3E, 0x3C, 0x00},       // Char 119 (w)
  136.         {0x22, 0x36, 0x1C, 0x08, 0x1C, 0x36, 0x22, 0x00},       // Char 120 (x)
  137.         {0x39, 0x3D, 0x05, 0x05, 0x3F, 0x3E, 0x00, 0x00},       // Char 121 (y)
  138.         {0x32, 0x26, 0x2E, 0x3A, 0x32, 0x26, 0x00, 0x00},       // Char 122 (z)
  139.         {0x10, 0x10, 0x7C, 0xEE, 0x82, 0x82, 0x00, 0x00},       // Char 123 ({)
  140.         {0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00},       // Char 124 (|)
  141.         {0x82, 0x82, 0xEE, 0x7C, 0x10, 0x10, 0x00, 0x00},       // Char 125 (})
  142.         {0x40, 0xC0, 0x80, 0xC0, 0x40, 0xC0, 0x80, 0x00},       // Char 126 (~)
  143.         {0x1E, 0x22, 0x42, 0x82, 0x42, 0x22, 0x1E, 0x00},       // Char 127 (.)
  144.         {0x30, 0x78, 0xCD, 0x85, 0x87, 0xCE, 0x48, 0x00},       // Char 128 (.)
  145.         {0xBC, 0xBE, 0x02, 0x02, 0xBC, 0xBE, 0x02, 0x00},       // Char 129 (.)
  146.         {0x1C, 0x3E, 0x6A, 0xEA, 0xBA, 0x18, 0x00, 0x00},       // Char 130 (.)
  147.         {0x44, 0xAE, 0xAA, 0xAA, 0xBC, 0x5E, 0x02, 0x00},       // Char 131 (.)
  148.         {0x84, 0xAE, 0x2A, 0x2A, 0xBE, 0x9E, 0x02, 0x00},       // Char 132 (.)
  149.         {0x5C, 0x5E, 0xA2, 0xA2, 0x5C, 0x5E, 0x02, 0x00},       // Char 133 (.)
  150.         {0x1C, 0x3E, 0x62, 0xE2, 0xB6, 0x14, 0x00, 0x00},       // Char 134 (.)
  151.         {0x1C, 0x3E, 0x22, 0x23, 0x37, 0x14, 0x00, 0x00},       // Char 135 (.)
  152.         {0x02, 0x06, 0xFC, 0xFE, 0x32, 0x62, 0x40, 0x00},       // Char 136 (.)
  153.         {0x9C, 0xBE, 0x2A, 0x2A, 0xBA, 0x98, 0x00, 0x00},       // Char 137 (.)
  154.         {0x5C, 0xFE, 0xA2, 0x22, 0x62, 0xFE, 0x9C, 0x00},       // Char 138 (.)
  155.         {0x2C, 0x7E, 0x52, 0x12, 0x3E, 0x6C, 0x40, 0x00},       // Char 139 (.)
  156.         {0x40, 0xA2, 0xBE, 0xBE, 0x42, 0x00, 0x00, 0x00},       // Char 140 (.)
  157.         {0x22, 0x26, 0x2E, 0x6A, 0xF2, 0xB2, 0x22, 0x00},       // Char 141 (.)
  158.         {0x9E, 0xBE, 0x68, 0x48, 0x68, 0xBE, 0x9E, 0x00},       // Char 142 (.)
  159.         {0x1C, 0x3E, 0x22, 0x62, 0xE2, 0xB6, 0x14, 0x00},       // Char 143 (.)
  160.         {0x22, 0x3E, 0x3E, 0x6A, 0xEA, 0xA2, 0x00, 0x00},       // Char 144 (.)
  161.         {0xFE, 0xFE, 0x02, 0x42, 0xC2, 0x82, 0x02, 0x00},       // Char 145 (.)
  162.         {0xFC, 0xFE, 0x02, 0x42, 0xC2, 0x80, 0x00, 0x00},       // Char 146 (.)
  163.         {0x4C, 0xDE, 0x92, 0x92, 0xDE, 0x4C, 0x00, 0x00},       // Char 147 (.)
  164.         {0x9C, 0xBE, 0x22, 0x22, 0xBE, 0x9C, 0x00, 0x00},       // Char 148 (.)
  165.         {0xFE, 0xFE, 0x82, 0xC2, 0x42, 0xC2, 0x82, 0x00},       // Char 149 (.)
  166.         {0xFC, 0xFE, 0x82, 0xC2, 0x42, 0xC0, 0x80, 0x00},       // Char 150 (.)
  167.         {0x12, 0x3A, 0x2A, 0x6A, 0xEA, 0xAE, 0x24, 0x00},       // Char 151 (.)
  168.         {0x00, 0x12, 0x3A, 0x6A, 0xEA, 0xAE, 0x24, 0x00},       // Char 152 (.)
  169.         {0xBC, 0xFE, 0x42, 0x42, 0x42, 0xFE, 0xBC, 0x00},       // Char 153 (.)
  170.         {0xBC, 0xBE, 0x02, 0x02, 0x02, 0xBE, 0xBC, 0x00},       // Char 154 (.)
  171.         {0xA0, 0xE0, 0x7E, 0x7E, 0xE0, 0xA0, 0x00, 0x00},       // Char 155 (.)
  172.         {0x90, 0xD0, 0x7C, 0x7E, 0xD2, 0x92, 0x02, 0x00},       // Char 156 (.)
  173.         {0x04, 0xFE, 0xFE, 0x32, 0x62, 0x42, 0x02, 0x00},       // Char 157 (.)
  174.         {0x44, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0x44, 0x00},       // Char 158 (.)
  175.         {0x00, 0x9C, 0xFE, 0x62, 0x62, 0xF6, 0x94, 0x00},       // Char 159 (.)
  176.         {0x04, 0x2E, 0x2A, 0x6A, 0xFE, 0x9E, 0x02, 0x00},       // Char 160 (.)
  177.         {0x00, 0x00, 0x22, 0x7E, 0xFE, 0x82, 0x00, 0x00},       // Char 161 (.)
  178.         {0x0C, 0x1E, 0x12, 0x32, 0x7E, 0x4C, 0x00, 0x00},       // Char 162 (.)
  179.         {0x1C, 0x1E, 0x22, 0x62, 0x5E, 0x1E, 0x02, 0x00},       // Char 163 (.)
  180.         {0x3C, 0x7C, 0xD0, 0x96, 0xD3, 0x7D, 0x3D, 0x00},       // Char 164 (.)
  181.         {0x04, 0x2E, 0x2A, 0x2A, 0x3D, 0x1F, 0x03, 0x01},       // Char 165 (.)
  182.         {0x22, 0xA6, 0xE6, 0x6A, 0x7A, 0xF2, 0xA2, 0x00},       // Char 166 (.)
  183.         {0x00, 0x92, 0xD6, 0x56, 0x5A, 0xDA, 0x92, 0x00},       // Char 167 (.)
  184.         {0xFE, 0xFE, 0x92, 0x93, 0x93, 0x83, 0x82, 0x00},       // Char 168 (.)
  185.         {0x1C, 0x3E, 0x2A, 0x2B, 0x3B, 0x19, 0x00, 0x00},       // Char 169 (.)
  186.         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},       // Char 170 (.)
  187.         {0x00, 0x12, 0x16, 0x56, 0xDA, 0x9A, 0x12, 0x00},       // Char 171 (.)
  188.         {0x1C, 0xBE, 0xE2, 0x62, 0x62, 0xF6, 0x94, 0x00},       // Char 172 (.)
  189.         {0x12, 0x3A, 0x2B, 0x2B, 0x2F, 0x24, 0x00, 0x00},       // Char 173 (.)
  190.         {0x10, 0x38, 0x6C, 0x44, 0x10, 0x38, 0x6C, 0x44},       // Char 174 (.)
  191.         {0x44, 0x6C, 0x38, 0x10, 0x44, 0x6C, 0x38, 0x10},       // Char 175 (.)
  192.         {0x55, 0x00, 0xAA, 0x00, 0x55, 0x00, 0xAA, 0x00},       // Char 176 (.)
  193.         {0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA},       // Char 177 (.)
  194.         {0xBB, 0xFF, 0x55, 0xEE, 0xBB, 0x55, 0xFF, 0xEE},       // Char 178 (.)
  195.         {0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00},       // Char 179 (.)
  196.         {0x08, 0x08, 0x08, 0xFF, 0xFF, 0x00, 0x00, 0x00},       // Char 180 (.)
  197.         {0x1E, 0x3E, 0x28, 0x68, 0xE8, 0xBE, 0x1E, 0x00},       // Char 181 (.)
  198.         {0x5E, 0xBE, 0xA8, 0xA8, 0xA8, 0xBE, 0x5E, 0x00},       // Char 182 (.)
  199.         {0xBE, 0xFE, 0x6A, 0x6A, 0xEA, 0xA2, 0x22, 0x00},       // Char 183 (.)
  200.         {0x44, 0xE6, 0xB3, 0x9B, 0xCE, 0x44, 0x00, 0x00},       // Char 184 (.)
  201.         {0x28, 0x28, 0xEF, 0xEF, 0x00, 0xFF, 0xFF, 0x00},       // Char 185 (.)
  202.         {0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00},       // Char 186 (.)
  203.         {0x28, 0x28, 0x2F, 0x2F, 0x20, 0x3F, 0x3F, 0x00},       // Char 187 (.)
  204.         {0x28, 0x28, 0xE8, 0xE8, 0x08, 0xF8, 0xF8, 0x00},       // Char 188 (.)
  205.         {0x66, 0x66, 0x4A, 0xCA, 0xD2, 0x76, 0x66, 0x00},       // Char 189 (.)
  206.         {0x00, 0x12, 0x16, 0x5E, 0x5A, 0x12, 0x00, 0x00},       // Char 190 (.)
  207.         {0x08, 0x08, 0x08, 0x0F, 0x0F, 0x00, 0x00, 0x00},       // Char 191 (.)
  208.         {0x00, 0x00, 0x00, 0xF8, 0xF8, 0x08, 0x08, 0x08},       // Char 192 (.)
  209.         {0x08, 0x08, 0x08, 0xF8, 0xF8, 0x08, 0x08, 0x08},       // Char 193 (.)
  210.         {0x08, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x08},       // Char 194 (.)
  211.         {0x00, 0x00, 0x00, 0xFF, 0xFF, 0x08, 0x08, 0x08},       // Char 195 (.)
  212.         {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08},       // Char 196 (.)
  213.         {0x08, 0x08, 0x08, 0xFF, 0xFF, 0x08, 0x08, 0x08},       // Char 197 (.)
  214.         {0x9E, 0xFE, 0x68, 0x68, 0x68, 0xFE, 0x9E, 0x00},       // Char 198 (.)
  215.         {0x84, 0xEE, 0x6A, 0x6A, 0xFC, 0x9E, 0x02, 0x00},       // Char 199 (.)
  216.         {0x00, 0x00, 0xF8, 0xF8, 0x08, 0xE8, 0xE8, 0x28},       // Char 200 (.)
  217.         {0x00, 0x00, 0x3F, 0x3F, 0x20, 0x2F, 0x2F, 0x28},       // Char 201 (.)
  218.         {0x28, 0x28, 0xE8, 0xE8, 0x08, 0xE8, 0xE8, 0x28},       // Char 202 (.)
  219.         {0x28, 0x28, 0x2F, 0x2F, 0x20, 0x2F, 0x2F, 0x28},       // Char 203 (.)
  220.         {0x00, 0x00, 0xFF, 0xFF, 0x00, 0xEF, 0xEF, 0x28},       // Char 204 (.)
  221.         {0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28},       // Char 205 (.)
  222.         {0x28, 0x28, 0xEF, 0xEF, 0x00, 0xEF, 0xEF, 0x28},       // Char 206 (.)
  223.         {0x00, 0x5A, 0x3C, 0x24, 0x24, 0x3C, 0x5A, 0x00},       // Char 207 (.)
  224.         {0x0C, 0x1E, 0x52, 0x52, 0xFC, 0xFE, 0x42, 0x00},       // Char 208 (.)
  225.         {0x10, 0xFE, 0xFE, 0x92, 0x82, 0xFE, 0x7C, 0x00},       // Char 209 (.)
  226.         {0xA2, 0xFE, 0x7E, 0x62, 0xE2, 0xBE, 0x1C, 0x00},       // Char 210 (.)
  227.         {0xA2, 0xBE, 0x3E, 0x2A, 0xAA, 0xA2, 0x00, 0x00},       // Char 211 (.)
  228.         {0x8C, 0x5E, 0x52, 0x92, 0x12, 0xFE, 0xFE, 0x00},       // Char 212 (.)
  229.         {0x3E, 0x3E, 0xB0, 0x58, 0x4C, 0xBE, 0x3E, 0x00},       // Char 213 (.)
  230.         {0x00, 0x22, 0x7E, 0xFE, 0xA2, 0x00, 0x00, 0x00},       // Char 214 (.)
  231.         {0x40, 0xA2, 0xBE, 0xBE, 0xA2, 0x40, 0x00, 0x00},       // Char 215 (.)
  232.         {0x9C, 0xFE, 0x6A, 0x6A, 0xFA, 0x98, 0x00, 0x00},       // Char 216 (.)
  233.         {0x08, 0x08, 0x08, 0xF8, 0xF8, 0x00, 0x00, 0x00},       // Char 217 (.)
  234.         {0x00, 0x00, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08},       // Char 218 (.)
  235.         {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},       // Char 219 (.)
  236.         {0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F},       // Char 220 (.)
  237.         {0x00, 0x80, 0x83, 0xFD, 0xFD, 0x80, 0x80, 0x00},       // Char 221 (.)
  238.         {0x3C, 0x3E, 0x42, 0xA2, 0x42, 0x3E, 0x3C, 0x00},       // Char 222 (.)
  239.         {0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0},       // Char 223 (.)
  240.         {0x1C, 0x3E, 0x22, 0x62, 0xE2, 0xBE, 0x1C, 0x00},       // Char 224 (.)
  241.         {0x3F, 0x7F, 0x54, 0x54, 0x7C, 0x28, 0x00, 0x00},       // Char 225 (.)
  242.         {0x5C, 0xBE, 0xA2, 0xA2, 0xA2, 0xBE, 0x5C, 0x00},       // Char 226 (.)
  243.         {0x3E, 0x3E, 0x30, 0x58, 0xCC, 0xBE, 0x3E, 0x00},       // Char 227 (.)
  244.         {0x3E, 0x3E, 0x10, 0x60, 0xE0, 0xBE, 0x1E, 0x00},       // Char 228 (.)
  245.         {0x3E, 0xBE, 0xD0, 0x60, 0x60, 0xFE, 0x9E, 0x00},       // Char 229 (.)
  246.         {0x12, 0xB2, 0xFA, 0x6A, 0xEE, 0xA6, 0x24, 0x00},       // Char 230 (.)
  247.         {0x00, 0xB2, 0xEA, 0x6A, 0xEA, 0xA6, 0x00, 0x00},       // Char 231 (.)
  248.         {0x3E, 0x3E, 0x28, 0x6C, 0xEE, 0xBA, 0x10, 0x00},       // Char 232 (.)
  249.         {0x3C, 0x3E, 0x02, 0x42, 0xC2, 0xBE, 0x3C, 0x00},       // Char 233 (.)
  250.         {0x3E, 0x3E, 0x58, 0xD0, 0xA0, 0x20, 0x20, 0x00},       // Char 234 (.)
  251.         {0x7C, 0xFE, 0x82, 0x02, 0x42, 0xFE, 0xBC, 0x00},       // Char 235 (.)
  252.         {0x30, 0x39, 0x0D, 0x45, 0xC7, 0xBE, 0x3C, 0x00},       // Char 236 (.)
  253.         {0x60, 0x70, 0x1A, 0x4E, 0xCC, 0xF8, 0x70, 0x00},       // Char 237 (.)
  254.         {0x00, 0x40, 0xFC, 0xFF, 0x47, 0x01, 0x01, 0x00},       // Char 238 (.)
  255.         {0x00, 0x00, 0x00, 0x40, 0xC0, 0x80, 0x00, 0x00},       // Char 239 (.)
  256.         {0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00},       // Char 240 (.)
  257.         {0x40, 0xC0, 0x80, 0x00, 0x40, 0xC0, 0x80, 0x00},       // Char 241 (.)
  258.         {0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x00},       // Char 242 (.)
  259.         {0x80, 0xC0, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00},       // Char 243 (.)
  260.         {0x80, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0x80, 0x00},       // Char 244 (.)
  261.         {0x02, 0x5B, 0xFD, 0xA5, 0xBF, 0xDA, 0x40, 0x00},       // Char 245 (.)
  262.         {0x00, 0x10, 0x10, 0xD6, 0xD6, 0x10, 0x10, 0x00},       // Char 246 (.)
  263.         {0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x00, 0x00},       // Char 247 (.)
  264.         {0x00, 0x60, 0xF0, 0x90, 0xF0, 0x60, 0x00, 0x00},       // Char 248 (.)
  265.         {0x00, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00},       // Char 249 (.)
  266.         {0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00},       // Char 250 (.)
  267.         {0x5C, 0xDE, 0x82, 0x02, 0x5C, 0xDE, 0x82, 0x00},       // Char 251 (.)
  268.         {0xBE, 0xFE, 0x68, 0xEC, 0xAE, 0x3A, 0x10, 0x00},       // Char 252 (.)
  269.         {0xBE, 0xFE, 0x48, 0xD0, 0xB0, 0x20, 0x20, 0x00},       // Char 253 (.)
  270.         {0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00},       // Char 254 (.)
  271.         {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}        // Char 255 (.)
  272. };
  273.  
  274.  
  275. //Dane wprowadzane kolumnami od dołu
  276. const byte cyferki[10][8] = {
  277.                               {0x00, 0x7C, 0x82, 0x92, 0x82, 0x7C, 0x00, 0x00},//0
  278.                               {0x00, 0x42, 0x42, 0xFE, 0x02, 0x02, 0x00, 0x00},//1
  279.                               {0x42, 0x86, 0x8A, 0x92, 0xA2, 0x46, 0x00, 0x00},//2
  280.                               {0x44, 0x82, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00},//3
  281.                               {0x18, 0x28, 0x48, 0xCA, 0xFE, 0x0A, 0x00, 0x00},//4
  282.                               {0xE4, 0xA2, 0xA2, 0xA2, 0xA2, 0x9C, 0x00, 0x00},//5
  283.                               {0x7C, 0x52, 0x92, 0x92, 0x12, 0x0C, 0x00, 0x00},//6
  284.                               {0xC0, 0x80, 0x8E, 0x90, 0xA0, 0xC0, 0x00, 0x00},//7
  285.                               {0x6C, 0x92, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00},//8
  286.                               {0x60, 0x92, 0x92, 0x92, 0x94, 0x78, 0x00, 0x00}//9
  287.                             };                
  288.                            
  289. void setup(){
  290.   pinMode(din, OUTPUT);
  291.   pinMode(cs, OUTPUT);
  292.   pinMode(clk, OUTPUT);
  293.  
  294.       m_testmode(0); //wyłączamy tryb testu
  295.     m_jasnosc(0x1); //jasność na minimum
  296.     m_cols(7);//skanuj wszystkie kolumny
  297.     m_power(1); //wybudzenie sterownika
  298.     spiword(0x0900); // bez dekodowania cyfr, bezpośrednie sterowanie
  299. m_setmatrix(usmiech_a[3]);
  300. }
  301. int i;
  302. void loop(){
  303.  
  304. }
  305.  
  306. //Wysyła słowo (16-bit) i zatwierdza
  307. void spiword(int data)
  308. {
  309.     shiftOut(din, clk, MSBFIRST, data >>8);
  310.     shiftOut(din, clk, MSBFIRST, data & 0xFF);
  311.  
  312.     digitalWrite(cs, HIGH);
  313.     digitalWrite(cs, LOW);
  314. }
  315.  
  316. //Ustawia jasność w zakresie 0x0-0xF
  317. void m_jasnosc(int level)
  318. {
  319.     const int bright = 0x0A00;
  320.     spiword(bright+(level & 0x0F));
  321. }
  322.  
  323. //włącza wyświetlacz 0-wyłączony, 1-włączony
  324. void m_power(bool stan)
  325. {
  326.     const int shutdown = 0x0C00;
  327.     spiword(shutdown+stan);
  328. }
  329.  
  330. //ustawia ilość wyświetlanych kolumn od 0x0 do 0x7
  331. void m_cols(uint8_t cols)
  332. {
  333.     const int s_cols=0x0B00;
  334.     spiword(s_cols+(cols & 0x7));
  335. }
  336.  
  337. //0-tryb normalny, 1-tryb testu
  338. void m_testmode(bool stan)
  339. {
  340.     const int test_m = 0x0F00;
  341.     spiword(test_m+stan);
  342. }
  343. //Wpisuje dane do kolumny 0-7
  344. void m_setcol(uint8_t col, uint8_t data)
  345. {
  346.     //const int kolumny[8] = {0x0100, 0x0500, 0x0700, 0x0300, 0x0400, 0x0800, 0x0600, 0x0200};
  347.     const int kolumny[8] = {0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800};
  348.     //const int wiersze[8] = {0x08, 0x80, 0x04, 0x10, 0x01, 0x20, 0x02, 0x40};
  349.     const int wiersze[8] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
  350.    
  351.     int data_d = ((data & 0x01)>>0)*wiersze[0]+
  352.                 ((data & 0x02)>>1)*wiersze[1]+
  353.                 ((data & 0x04)>>2)*wiersze[2]+
  354.                 ((data & 0x08)>>3)*wiersze[3]+
  355.                 ((data & 0x10)>>4)*wiersze[4]+
  356.                 ((data & 0x20)>>5)*wiersze[5]+
  357.                 ((data & 0x40)>>6)*wiersze[6]+
  358.                 ((data & 0x80)>>7)*wiersze[7];
  359.     spiword(kolumny[col]+data_d);
  360. }
  361.  
  362. void m_setmatrix(uint8_t cols[8])
  363. {
  364.     for(int i=0;i<8;i++){
  365.         m_setcol(i,cols[i]);
  366.     }
  367. }
  368.  
  369. void m_setmatrix(const uint8_t cols[8])
  370. {
  371.     for(int i=0;i<8;i++){
  372.         m_setcol(i,cols[i]);
  373.     }
  374. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement