32x8 матрица от Sureelectronics
- Войдите на сайт для отправки комментариев
Сб, 14/05/2011 - 01:33
Матрицу подключил используя: demo16x24scroll.zip, немного поправил под 32x8 и убрал всё кроме скроллинга. Всё работает отлично, но только с латиницей! Помогите с перекодировкой на кириллицу!
Правленный код для 32x8: demo32x8scroll_only.zip
Засвети фотки))) Сам заказал себе матрицу от Sureelectronics) Правда чуть больше 32х16 Р7 красно/зеленую - сижу жду её)
в архиве есть font2.h вот с этим нужно плясать. Да и еще - есть небольшие заморочки с ARDUINO IDE и русским языком. Там сначала юникод, потом асци кодировки идут переводы. Может лучше сделать такую библиотеку-массив с русскими буквами и пробовать эксперементировать. Как вариант набить русский шрифт красивый) и потом писать перевод с ASCI в масив и т.п. очень надеюсь у вас получится, пока сам не имею этой матрицы для экспериментов
Оффтопик: Вах вах вах, жду свою уже не могу. Через ибэй заказывали? Как долго шла посылка?
Как в работе эта тема? Ярко светит? Я хочу сделать большие часы со всякими функциями и анимациями
в архиве есть font2.h вот с этим нужно плясать. Да и еще - есть небольшие заморочки с ARDUINO IDE и русским языком. Там сначала юникод, потом асци кодировки идут переводы. Может лучше сделать такую библиотеку-массив с русскими буквами и пробовать эксперементировать. Как вариант набить русский шрифт красивый) и потом писать перевод с ASCI в масив и т.п. очень надеюсь у вас получится, пока сам не имею этой матрицы для экспериментов
С этой перекодировкой я уже всю голову сломал... Нашёл как сделать, а прикрутить не получается)
Кто подскажет?
Из LoLShield:
Оффтопик: Вах вах вах, жду свою уже не могу. Через ибэй заказывали? Как долго шла посылка?
Как в работе эта тема? Ярко светит? Я хочу сделать большие часы со всякими функциями и анимациями
Я с сайта Sure'a заказывал... шла пару недель (до Питера)... яркость отличная..
Буду просто счастлив когда по русски заговорит)
Вот отличная программка для рисования шрифтов ...
font.zip
Антивирус ничего не нашел, но открывать не стал. Если можно поподробнее, что за программа, так как на сайте на котором хостится пусто.
Программа чистая 100%.. перезалью на файлообменник через 20 мин
вот скрины:
Как раз то что долго искал и не мог найти, спасибо большое anriko. Сейчас испробую. Рисует замечательно, еще и код готовит полностью))))
Кстати эти массивы которые срздаёт прога - проверял у себя, работают?
Как раз то что долго искал и не мог найти, спасибо большое anriko. Сейчас испробую. Рисует замечательно, еще и код готовит полностью))))
Кстати эти массивы которые срздаёт прога - проверял у себя, работают?
Да... работают на ура)
Ааа теперь вообще не могу дождаться своей матрицы.
Микросхему реальнрого времени подключали уже?
Неа... но вот тут хороший пример:
www.arduino.cc/playground/Main/HT1632C
Ну так если всё красиво рисуется, русский как я понимаю уже нарисовали. Для тестов можно легко тогда вывести русские буквы. Но не прямым текстом, а выводить номер ячейки массива с определнной буквой. Тоесть для слова Аня вывести три значения последовательно, если зная номера позиции массивов с буквами А, н, и я)
В том то и дело .. хочется чтоб красиво было всё) ... я тут прикрутил кое-что (коряво конечно) и не все русские буквы показывает, но это мелочи:
#include "MatrixDisplay.h" #include "DisplayToolbox.h" #include "font.h" #define DEMOTIME 30000 // 30 seconds max on each demo is enough. #define DISPDELAY 100 // Each "display" lasts this long #define LONGDELAY 1000 // This delay BETWEEN demos // Macro to make it the initDisplay function a little easier to understand #define setMaster(dispNum, CSPin) initDisplay(dispNum,CSPin,true) #define setSlave(dispNum, CSPin) initDisplay(dispNum,CSPin,false) // 4 = Number of displays // Data = 10/ // WR == 11 // True. Do you want a shadow buffer? (A scratch pad) // Init Matrix MatrixDisplay disp(4,11,10, true); // Pass a copy of the display into the toolbox DisplayToolbox toolbox(&disp); // Prepare boundaries uint8_t X_MAX = 0; uint8_t Y_MAX = 0; PROGMEM prog_uchar utf_recode[] = { 0x41,0xa0,0x42,0xa1,0xe0,0x45,0xa3,0xa4,0xa5,0xa6,0x4b,0xa7, 0x4d,0x48,0x4f,0xa8,0x50,0x43,0x54,0xa9,0xaa,0x58,0xe1,0xab,0xac,0xe2, 0xad,0xae,0x62,0xaf,0xb0,0xb1,0x61,0xb2,0xb3,0xb4,0xe3,0x65,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0x6f,0xbe,0x70,0x63,0xbf,0x79,0xe4,0x78, 0xe5,0xc0,0xc1,0xe6,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7 }; uint16_t utf_hi_char; void setup() { // Fetch bounds (dynamically work out how large this display is) X_MAX = (disp.getDisplayCount() * (disp.getDisplayWidth()-1)+1)+8; Y_MAX = disp.getDisplayHeight(); // Prepare displays disp.setMaster(0,4); // disp.setSlave(1,5); // disp.setSlave(2,6); // disp.setSlave(3,7); Serial.begin(9600); } void loop() { demoText(); // Bouncy hello } // Text bouncing around void demoText() { int y=Y_MAX-7; int x=32; boolean textDir = false; boolean textRight = false; for (int i=0; i < 128; i++) { // if(x>=X_MAX) textRight = false; // else if(x<=0) textRight = true; // if(textRight) x++; x--; drawString(x,y,"ТЕСТ "); disp.syncDisplays(); delay(100); disp.clear(); } } /* * Copy a character glyph from the myfont data structure to * display memory, with its upper left at the given coordinate * This is unoptimized and simply uses setPixel() to draw each dot. */ void drawChar(uint8_t x, uint8_t y, char c) { uint8_t dots; if (c >= 'A' && c <= 'Z' || (c >= 'a' && c <= 'z') ) { c &= 0x1F; // A-Z maps to 1-26 } else if (c >= '0' && c <= '9') { c = (c - '0') + 27; } else if (c == ' ') { c = 0; // space } for (char col=0; col<= 7; col++) { dots = pgm_read_byte_near(&myfont[c][col]); for (char row=0; row <= 7; row++) { if (dots & (64>>row)) // only 7 rows. toolbox.setPixel(x+col, y+row, 1); else toolbox.setPixel(x+col, y+row, 0); } } } // Write out an entire string (Null terminated) void drawString(uint8_t x, uint8_t y, char* c) { for(char i=0; i< strlen(c); i++) { //drawChar(x, y, c[i]); reRus(x, y, c[i]); if (c[i] >= '0' && c[i] <= '9') { x+=7; } else x+=4;} } void reRus(uint8_t x, uint8_t y, uint8_t r) { uint8_t out_char=r; uint8_t character; if (r>=0x80) { // UTF-8 handling if (r >= 0xc0) { utf_hi_char = r - 0xd0; } else { r &= 0x3f; if (!utf_hi_char && (r == 1)) character = 0xa2; // Ё else if ((utf_hi_char == 1) && (r == 0x11)) character = 0xb5; // ё else character = pgm_read_byte_near(utf_recode + r + (utf_hi_char<<6) - 0x10); drawChar(x, y, character); } } else drawChar(x+3, y, out_char); }Урра!!! Ясегодня получил посылку из китая))) Sure electronix молодцы, посылка шла ровно 2 недели))) Даже не ожидал, отправили авиа почтой оказывается)))
Лапоть огромный такой))) Размером почти лист А4. Фотки будут в моей теме завтра. 32х16 5мм светодиоды красно-зелено-оранжевые.
Ваши примеры не пойдут( у меня всё основано на 4х чипах которые с букевой С, HT1632C. Но это не проблема уже нашел кучу всего. Ксатати тот последний пример на часы который вы запостили выше, как раз для меня)
А вся новая линейка на HT1632C.. У меня тоже.. Тоже думаю пару матриц 32х16 заказать)
Если бы они делали такие панели ргб по хорошей цене им бы просто цены бы не было) Я на своей нашел пару пузырьков воздуха в районе светодиодов, у себя таких не замечали?
Как успехи с выводом русского?
Программа для рисования шрифтов выложите пожалуйста еще раз, а то ссылка устарела. А программа действительно то что надо.
Проглядел я вопрос, Adessit! ... русский полностью вывел, но медленней строка бежит.. а с монитором так вообще ползёт. Скоро опять вернусь к этой матрице.. на работе решил часы сделать с термометром... да на стену её)
Рисуем шрифты: Font.zip
Всем привет. Получил матрицу 32x16. Если не трудно, не могли бы вы обновить ссылку на программу шрифтов и дать ссылку на самый элементарный пример подключения HT1632C к Arduino UNO. Пока не выходит что то у меня. И еще вопрос насколько сложно спалить матрицу неверным подключением к Arduino, а то я перешел уже на метод ненаучного тыка?
Привет всем! Что то тема утихла с матрицами, а авторы пропали). Скажите получилось ли у кого нибудь нормально сделать отображения руского текста в прокрутке.
Матрицу подключил используя: demo16x24scroll.zip, немного поправил под 32x8 и убрал всё кроме скроллинга. Всё работает отлично, но только с латиницей! Помогите с перекодировкой на кириллицу!
Правленный код для 32x8: demo32x8scroll_only.zip
Перезалейте пожалуйста. У кого есть.
в этой библиотеке есть русский http://code.google.com/p/ht1632c/wiki/Documentation
правда в КОИ-8
Я тупо переписывал код шрифта под русские буквы.
Добрый день! Перезалейте пожалуйст: demo32x8scroll_only.zip