LED-матрица + MAX7219 + MaxMatrix.lib
- Войдите на сайт для отправки комментариев
Пнд, 17/11/2014 - 18:44
Друзья, уперся в проблему и не знаю куда дальше копать.
Есть светодиодная матрица , управляемая MAX7219. Под это чудо написана замечательная библиотека http://code.google.com/p/arudino-maxmatrix-library/
Все бы ничего, но при использовании примера с этого сайта нет возможности вывода русских букв.
Есть возможность указывать необходимый для вывода текст либо через порт, либо считывать его из строки. При вводе кириллицы из порта - на дисплее появляется необходимый символ и в мониторе порта указыватся его правильный номер.
А вот из стринга
char string1[] = "Привет";
считать правильно кириллицу не получается.
/* ################################################################################ # File Name: MAX7219_5.ino # Board: Arduino UNO # Programming Language: Wiring / C /Processing /Fritzing / Arduino IDE # # Objective: Scrolling LED dot Matrix # # Operation: Scrolls a message over a 16x8 LED dot matrix # # Author: Marcelo Moraes # Date: July 9th, 2013 # Place: Sorocaba - SP - Brazil # ################################################################################ This code is a public example. */ //****************************************************************************** // visit this web page for further information about MaxMatrix library // https://code.google.com/p/arudino-maxmatrix-library/ //****************************************************************************** #include <MaxMatrix.h> #include <avr/pgmspace.h> PROGMEM unsigned char CH[] = { 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 0 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! 1 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " 2 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // # 3 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ 4 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % 5 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & 6 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // ' 7 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( 8 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) 9 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // * 10 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + 11 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , 12 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // - 13 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . 14 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / 15 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 16 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 17 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 18 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 19 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 20 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 21 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 22 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 23 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 24 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 25 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : 26 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ; 27 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // < 28 3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // = 29 3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // > 30 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? 31 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @ 32 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A 33 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B 34 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C 35 4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D 36 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E 37 4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F 38 4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G 39 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H 40 3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I 41 4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J 42 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K 43 4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L 44 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M 45 5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N 46 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O 47 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P 48 4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q 49 4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R 50 4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S 51 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T 52 4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U 53 5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V 54 5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W 55 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X 56 5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y 57 4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z 58 2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [ 59 4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash 60 2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ] 61 3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat 62 4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _ 63 2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // ` 64 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a 65 4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b 66 3, 8, B00111000, B01000100, B01000100, B00000000, B00000000, // c 67 4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d 68 4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e 69 3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f 70 4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g 71 4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h 72 3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i 73 4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j 74 4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k 75 3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l 76 5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m 77 4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n 78 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o 79 4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p 80 4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q 81 4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r 82 4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s 83 3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t 84 4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u 85 5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v 86 5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w 87 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x 88 4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y 89 3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z 90 3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // { 91 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // | 92 3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // } 93 4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~ 94 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 95 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 96 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 97 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 98 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 99 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 100 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 101 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 102 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 103 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 104 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 105 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 106 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 107 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 108 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 109 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 110 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 111 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 112 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 113 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 114 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 115 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 116 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 117 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 118 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 119 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 120 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 121 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 122 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 123 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 124 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 125 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 126 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 127 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 128 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 129 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 130 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 131 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 132 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 133 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 134 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 135 4, 8, B01111100, B01010101, B01010101, B01010100, B00000000, // Ё Ё 136 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 137 4, 8, B00111110, B01001001, B01001001, B00100010, B00000000, // Є Є 138 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 139 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 140 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 141 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 142 3, 8, B00000001, B11111110, B00000001, B00000000, B00000000, // ? Ї 143 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 144 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 145 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // І І 146 1, 8, B01111010, B00000000, B00000000, B00000000, B00000000, // і і 147 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 148 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 149 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 150 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 151 4, 8, B00111000, B01010101, B01010101, B00001000, B00000000, // ё ё 152 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 153 4, 8, B00111000, B01010100, B01010100, B01010100, B00000000, // є є 154 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 155 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 156 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 157 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // ? 158 3, 8, B00000010, B01111000, B00000010, B00000000, B00000000, // ? ї 159 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A А 160 4, 8, B01111111, B01001001, B01001001, B00110001, B00000000, // Б Б 161 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B В 162 4, 8, B01111111, B00000001, B00000001, B00000001, B00000000, // Г Г 163 5, 8, B01100000, B00111111, B00100001, B00111111, B01100000, // Д Д 164 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E Е 165 5, 8, B01100011, B00010100, B01111111, B00010100, B01100011, // Ж Ж 166 4, 8, B01100011, B01000001, B01001001, B00110110, B00000000, // З З 167 5, 8, B01111111, B00010000, B00001000, B00000100, B01111111, // И И 168 5, 8, B01111111, B00100000, B00010001, B00001000, B01111100, // Й Й 169 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // К К 170 4, 8, B01111110, B00000001, B00000001, B01111111, B00000000, // Л Л 171 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M М 172 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H Н 173 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O О 174 4, 8, B01111111, B00000001, B00000001, B01111111, B00000000, // П П 175 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P Р 176 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C С 177 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T Т 178 4, 8, B01000111, B01001000, B01001000, B00111111, B00000000, // У У 179 5, 8, B00001110, B00010001, B01111111, B00010001, B00001110, // Ф Ф 180 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X Х 181 5, 8, B01111111, B01000000, B01000000, B01111111, B11000000, // Ц Ц 182 4, 8, B00000111, B00001000, B00001000, B01111111, B00000000, // Ч Ч 183 5, 8, B01111111, B01000000, B01111111, B01000000, B01111111, // Ш Ш 184 6, 8, B01111111, B01000000, B01111111, B01000000, B11111111, // Щ Щ 185 5, 8, B00001001, B01111111, B01001000, B01001000, B00110000, // Ъ Ъ 186 5, 8, B01111111, B01001000, B01001000, B00110000, B01111111, // Ы Ы 187 4, 8, B01111111, B01001000, B01001000, B00110000, B00000000, // Ь Ь 188 4, 8, B01001001, B01001001, B01001001, B00111110, B00000000, // Э Э 189 5, 8, B01111111, B00001000, B00111110, B01000001, B00111110, // Ю Ю 190 4, 8, B01000110, B00101001, B00011001, B01111111, B00000000, // Я Я 191 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a а 192 4, 8, B00111100, B01001010, B01001010, B00110000, B00000000, // б б 193 4, 8, B01111100, B01010100, B01010100, B00101000, B00000000, // в в 194 4, 8, B01111110, B00000100, B00000100, B00000100, B00000000, // г г 195 5, 8, B11000000, B01111000, B01000100, B01111100, B11000000, // д д 196 4, 8, B00111000, B01010100, B01010100, B01001000, B00000000, // е е 197 5, 8, B01000100, B00101000, B01111100, B00101000, B01000100, // ж ж 198 4, 8, B00000000, B01000100, B01010100, B00101000, B00000000, // з з 199 4, 8, B01111100, B00010000, B00001000, B01111100, B00000000, // и и 200 4, 8, B01111100, B00010001, B00001001, B01111100, B00000000, // й й 201 4, 8, B01111100, B00010000, B00101000, B01000100, B00000000, // к к 202 4, 8, B01000000, B01111000, B00000100, B01111100, B00000000, // л л 203 5, 8, B01111100, B00001000, B00010000, B00001000, B01111100, // м м 204 4, 8, B01111100, B00010000, B00010000, B01111100, B00000000, // н н 205 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // о о 206 4, 8, B01111100, B00000100, B00000100, B01111100, B00000000, // п п 207 4, 8, B01111100, B00010100, B00010100, B00001000, B00000000, // р р 208 3, 8, B00111000, B01000100, B01000100, B00000000, B00000000, // c с 209 5, 8, B00000100, B00000100, B01111100, B00000100, B00000100, // т т 210 4, 8, B01001100, B01010000, B01010000, B00111100, B00000000, // у у 211 5, 8, B00011000, B00100100, B01111100, B00100100, B00011000, // ф ф 212 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x х 213 5, 8, B01111100, B01000000, B01000000, B01111100, B11000000, // ц ц 214 4, 8, B00001100, B00010000, B00010000, B01111100, B00000000, // ч ч 215 5, 8, B01111100, B01000000, B01111100, B01000000, B01111100, // ш ш 216 5, 8, B01111100, B01000000, B01111100, B01000000, B11111100, // щ щ 217 5, 8, B00000100, B01111100, B01001000, B01001000, B00110000, // ъ ъ 218 5, 8, B01111100, B01010000, B00100000, B00000000, B01111100, // ы ы 219 4, 8, B01111100, B01010000, B01010000, B00100000, B00000000, // ь ь 220 4, 8, B01000100, B01010100, B01010100, B00111000, B00000000, // э э 221 5, 8, B01111100, B00010000, B00111000, B01000100, B00111000, // ю ю 222 4, 8, B01001000, B00110100, B00010100, B01111100, B00000000, // я я 223 }; int data = 8; // DIN pin of MAX7219 module int load = 9; // CS pin of MAX7219 module int clock = 10; // CLK pin of MAX7219 module int maxInUse = 4; //change this variable to set how many MAX7219's you'll use MaxMatrix m(data, load, clock, maxInUse); // define module byte buffer[10]; // active sentenses char string1[] = "Привет"; char string2[] = " I am glad to show you my Arduino scrolling dot Matrix "; char string3[] = " using MAX7219 IC "; char string4[] = " Visit my blog at: http://arduinobymyself.blogspot.com.br "; char string5[] = " There you will find a lot of projects with Arduino. "; char string6[] = " Thanks for watching =) "; // just for tests char string7[] = " A B C D E F G H I J K L M N O P Q R S T U V X W Y Z "; char string8[] = " a b c d e f g h i j k l m n o p q r s t u v x w y z "; char string9[] = " 1 2 3 4 5 6 7 8 9 0 - = "; char string10[] = " ! @ # $ % ¨ & * ( ) _ + "; char string11[] = " ' , . ; ~ ] ´ [ | < > : ^ } ` { / ? "; char string12[] = " Hello ! "; void setup(){ m.init(); // module initialize m.setIntensity(5); // dot matix intensity 0-15 Serial.begin(9600); // serial communication initialize } void loop(){ // this is the code if you want to entering a message via serial console while (Serial.available() > 0){ byte c = Serial.read(); Serial.println(c, DEC); printCharWithShift(c, 100); } delay(100); m.shiftLeft(false, true); // print the active sentences printStringWithShift(string1, 100); } void printCharWithShift(unsigned char c, int shift_speed){ if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7*c, 7); m.writeSprite(32, 0, buffer); m.setColumn(32 + buffer[0], 0); // Serial.println(c, DEC); for (int i=0; i<buffer[0]+1; i++) { delay(shift_speed); m.shiftLeft(false, false); } } void printStringWithShift(char* s, int shift_speed){ while (*s != 0){ printCharWithShift(*s, shift_speed); s++; Serial.println(*s, DEC); } } void printString(char* s) { int col = 0; while (*s != 0) { if (*s < 32) continue; char c = *s - 32; memcpy_P(buffer, CH + 7*c, 7); m.writeSprite(col, 0, buffer); m.setColumn(col + buffer[0], 0); col += buffer[0] + 1; s++; Serial.println(c, DEC); } }
За вывод отдельного символа отвечает:
void printCharWithShift(unsigned char c, int shift_speed){ if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7*c, 7); m.writeSprite(32, 0, buffer); m.setColumn(32 + buffer[0], 0); // Serial.println(c, DEC); for (int i=0; i<buffer[0]+1; i++) { delay(shift_speed); m.shiftLeft(false, false); } }
За вывод номера символа из строки отвечает кусок кода:
void printStringWithShift(char* s, int shift_speed){ while (*s != 0){ printCharWithShift(*s, shift_speed); s++; Serial.println(*s, DEC); } }
Приветствую!..
Насчет кирилицы, ИМХО компилятор кодировку не понимает... :(
У меня при использовании дпнного скетча появляются "паразитные" точки.. некоторые буквы/цифры в составе слов(идущие друг за другом) отображаются некорректно. никто не сталкивался с подобным?
купил вот такую китайскую мартицу
http://ru.aliexpress.com/item/1pcs-MAX7219-dot-matrix-module-microcontro...
залил данный скетч, с одной стороны вроде как работает, надпись "Hello" ползен, но вот сдвиг идет неправильно.
поидее бегущая строка должна двигаться вдоль длинны модуля, тоесть каждый символ должен приходить по каждому из 4х модулей образуя бегущее слово.
у меня же бегущая строка идет поперек модуля. тоесть получаеться сразу 4 бегущих строки каждая состоит из 1го модуля. при этом чтоб читать нужно перевернуть модуль, поставив его не горизхонтально а вертикально.
целый день ищу ответ на вопрос, как же перевернуть это безобразие в коде. но так и не смог найти ответ.
может кто сталкивался с такой проблемой? по сути нужно бегущую строку повернуть на 90 градусов...
Перепайка.
В вашем случае надо переписать шрифт повернув его на 90 град, и заменить команду
m.shiftLeft(
false
,
false
); на
m.shiftUp(
false
,
false
); или
m.shiftDown(
false
,
false
);
хотя точно не уверен.
перепайка увы не вариант, т.к. там все модули спаянв на одной плате, это нужно их резать, поворачивать и сново спаивать проводами.
поидее должен быть способ повернуть их программно.
ваш вариант я уже пробовал самостоятельно, до того как написать в этой теме, увы не помогло, точнее даже выдало ошибку.
почемуто
m.shiftUp(
false
,
false
); или
m.shiftDown(
false
,
false
);
выдает ошибку
Tablo.ino: In function 'void printCharWithShift(unsigned char, int)':
m.shiftRight(
false
,
false
) - компилит но ничего нет.
Попробуйте другую юиюлеотеку ledcontrol
для этой библиотеки нашел только один пример, их родной, там тоже буквы набок лежат.
блин нерадует меня перспектива пилить плату и переворачивать блоки, из за несовершенства кода (((
нашел видео с такой же проблемой
https://www.youtube.com/watch?v=9VgecVPoQOw но там хотябы сегменты разделяемые, у меня монолитная плата.
Ваша панелька работает под SPI под библиотекой Adafruit-GFX
matrix.setRotation(matrix.getRotation()+1); //1 - 90 2 - 180 3 - 270
спасибо! vov4ik увы для этих библиотек не смог найти рабочий скетч :( какието ошибки выдает. у вас случаем нет тестового скетча?
вот такое ругает
Странно если вы скачали и правильно установили всё должно работать, у меня на 2 матрицах нормально.
ARDUINO 1.6.4
Спасибо, действительно после обновления стало компилить скетч.
вот только какойто странный код, нашел где вбивать int pinCS = 9; / а где искать еще 2 других? )))
по догадкам чтото гдето попробовал поминять но вроде не то и не так ))
Какие догадки всё уже разжевал см сообщение №10
vov4ik - Большое спасибо за помощь! все заработало, теперь строка выводит текст как нужно!
жаль библиотека русский не поддерживает (
Так в чем поблема поддержите его, обычный шриф Standard ASCII 5x7 font содержится в файле glcdfont.c вроде как
Как менять уже выше писал англиские по клаве заменяются на руские, в скече пишется абракодабра на англиском, а бегунок русском.
тогда как я понимаю исчезнет английский шрифт? :)
если не секрет что вы делали на этих матрицах? какой проект?
Да англиский не будет
ничего поигрался с двумя матрицами и отложил.
тоесть вы както подсоеденили мыш от пк к ардуине и двигая ее точка двигалать по матрице? :) круто!
В вашем случае можно сделать круче подключить картридер-SD и выводить картинки на дисплей библиотека Adafruit-GFX позволяет это сделать
хм, интересно, но както сложно? а есть примеры как это сделать? какиен картинки нужны и каким скетчем их выводить?
Примеров нету, в этом и есть крутизна когда сам ручками.
Тут вроде не сложно подключить картридер-SD pin 11 = MOSI, pin 12 = MISO, pin 13 = SCK
#define SD_CS 4 // Chip select line for SD card
иницилизировать библиотеку
и вывети картинку bmpDraw("kartinka.bmp", 0, 0);
на карточке должен лежать фаил kartinka.bmp точечный рисунок формата 32х4
интересно а гиф можно сделать или подобие гифа :) из нескольких сменяющихся картинок.
а почему вы сами такое не делали, у вас же 2 матрицы! это 16х8 точек, можно какието глаза для робота сделать, могрвющие )
Какие догадки всё уже разжевал см сообщение №10
matrix.setRotation(matrix.getRotation()+1); //1 - 90 2 - 180 3 - 270
не работает.
Вот что помогает развернуть матрицы
matrix.setRotation(matrix.getRotation()+1); //1 - 90 2 - 180 3 - 270
не работает.
Вот что помогает развернуть матрицы
У меня работает, у SLOM как я понял тоже работает, поискал по библиотеке что крутит матрицу попробывал отписал.
у меня работает
Друзья всем привет, помогите пожалуйста разобраться с кодом.
Arduino NANO
есть два датчика BMP180 (выдаёт значение: давление; температура; высоту), Анимометр (выдаёт импульсы +5В, 100 имп./оборот)
и матрица, озвученная SLOMом выше 8*32, которая правильно работает по SPI c библиотекой Adafruit_GFX.h.
подскажите каким массивом заменить и как лучше поместить данные с датчиков, что бы это выводилось на матрицу и отбражалось в реальном времени при опросе датчиков раз в 1 сек.
вывод в таком виде: Wind 2 m/s Temp 25°C Pressure 760mmHg
чтото так и не получилось русифицировать Adafruit_GFX.h
может у когото получилось?
Ардуино ИДЕ предпожительно в WIN1251.
Русификация (к первуму сообщению)
чтото так и не получилось русифицировать Adafruit_GFX.h
может у когото получилось?
http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru...
Ардуино ИДЕ предпожительно в WIN1251.
Русификация (к первуму сообщению)
к сожалению неработает или неправильно вставил
а еще снова матрица повернулась, непойму как обратно в этом кде вращать направление движения.
307
// print the active sentences
308
printStringWithShiftWIN1251(string1, 100);
309
}
Есле не ошибаюсь, то еще
275
// active sentenses
276
unsigned char
string1[] =
"Привет"
;
большое спасибо, теперь текст на русском, неподскажете как повернуть его направление? на 90 градусов в право :)
vov4ik - Большое спасибо за помощь! все заработало, теперь строка выводит текст как нужно!
жаль библиотека русский не поддерживает (
скинь пожалуйста скетч, где работают матрицы с поворотом!
Так и не удалось его повернуть? этот скетч я использую с такой же матрицей, и та же проблема- тескт бежит в 4 строки поперек( Тоже новичок. кто-нибудь подскажет как переделать сектч чтобы русские буквы и бежали влево вдоль 4х матриц?
iGonch с MaxMatrix врядли получится.
Нужно взять библиотеки указанные SLOM в посте #38 <Adafruit_GFX.h> и <Max72xxPanel.h>
внести изменения в Adafruit_GFX как описано здесь и использовать для перекодирования исправленную функцию utf8rus от arduinec
Вот так например будет выглядеть код из #38 поста
Остается добавить чтение с сериал порта и все...
Спасибо большое. Попробую и отпишусь
если получиться выложите рабочий код.... а то когда я ковырял эту тему, так и не получилось русифицировать.
SLOM приведенный мною код рабочий. В библиотеке Adafruit_GFX надо поменять файл glcdfont.c (см. сылку выше).
Библиотеку заменил, но компилятор выдает ошибку
JasCo, скажите, можно ли с вами индивидуально встретиться (созвониться? Skype,...) и выяснить несколько вопросов? Я собираю контроллер электроплиты (и еще пару вещей) для 90-летней мамы, которая плохо слышит. Наличие бегущей строки необходимо. Я в Москве. Готов прислать линк на ТЗ и обсудить вопрос компенсации за помощь. у меня не очень много времени на выполнение. спасибо
Функцию можно скопипастить прямо из форума и вставить в свой файл - и будет работать.
В Arduino IDE есть возможность сосдавать вкладки (Ctrl+Shift+N) называешь вкладку как нибудь понятно и пишеш в них функции, что бы не загромождать основной файл. Можно эту функцию в отдельную вкладку сзкопипастить. Физически она ляжет в папку со скетчем.
в вашем #47 пусто... я написал вам вчера письмо.
и так и сяк пробую не выходит.... всеравно текст идет не руский а какаята белиберда...
фаил в библиотеке менял, код добовлял... может ктото свой код выложит? полностью целый.
Вот код который у меня работает
Вот библиотеки с которыми работет https://yadi.sk/d/g62lBjetrAGVi
и https://yadi.sk/d/IxWV0KzorAGae
В adafruit_GFX уже заменен файл glcdfont.c
У меня соеденино пять матриц и с начала гоняется надпись "Привет мир! Как поживаешь?"
затем можно ввести свою строку через терминал (влючить режим <конец строки>), эту строку будет гонять до ввода новой.