Сори - а уменя нет -как . В чем может дело. Старую заливыю работает. Попробую вечером залить новый DMD. Спасибо за помощь. Дело в том, что при заливке не ругается.
Все работает -Спасибо. Но просьба как исправить, чтобы после выполнения СТАРТ, СТОП и после сброса можно снова СТАРТОВАТЬ. Проблема такая -
1. при выполнение СТАРТ1, СТОП1 и СБРОС1 - не выполняет новый СТАРТ (а только после 2х нажатий на СТОП)
2. при выполнение СТАРТ1, СТАРТ2 потом СТОП1и СБРОС1 после (обнуления 1 таймера - таймер 2 продолжает считать) не разрешает делать (обнуленного таймера) СТАРТ1 до того как не сработает СТОП2 и СБРОС2.
Нужно чтобы СТАРТ разрешался всегда свободному 1ному каналу ТАИМЕРА при условии, что он сброшен 00.00.000.
Если есть возможность и драгоценное Ваше время помогите. Получается старт только друг за другом по 2 участника, и новый старт вазможен только после финиша 2х участника. Получается только пачками по 2участника.
Я выше просил все расписать как должно работать, но увы. То что Вы написали то я вам и сделал. Больше угадывать не буду. Хотя можете выслать мне ЛИТР Капитана Моргана и мы продолжим обучение )))
1. при выполнение СТАРТ1, СТОП1 и СБРОС1 - не выполняет новый СТАРТ (а только после 2х нажатий на СТОП)
2. при выполнение СТАРТ1, СТАРТ2 потом СТОП1и СБРОС1 после (обнуления 1 таймера - таймер 2 продолжает считать) не разрешает делать (обнуленного таймера) СТАРТ1 до того как не сработает СТОП2 и СБРОС2.
ВСЕ ЭТО РЕШИЛ, добавив Button2Count = 0 после СБРОСОВ. Но проблема со СТОПОМ сначало 1 останавливает потом 2 таймер а не наибольшее значение таймера.
Нет, все на много банальней. Вы не можете сформировать ТЗ и описать ТУ. Я больше не хочу угадывать что Вам нужно, а так как я алкоголик, я с радостью получу от Вас посылку с бутылкой рома и продолжу здесь делать то что Вам интересно. )))
Добрый день. Поделитесь пожалуйста русскими шрифтами для DMD. Тот который вы уже выкладывали, за него огромное спасибо, но он великоват для меня. Может есть шрифты поменьше. Скажу сразу, пробовал рисовать шрифт в программе, но видать из меня плохой шрифтохудожник :), а в инете готовых не нашел. Уж думал что можно как-то в обычном русском ttf перенести русские буквы на адреса англ., а потом импортировать в программу для создания шрифтов и экспортировать для ардуино, но что-то не получается пока. Поделитесь или расскажите как вы их делали. Заранее благодарен.
Доброго времени суток! Подскажите как модно уменьшить расстояние между точками в цифровом секундомере в панели P10 вот куски. 0:00.00 или точи занимают строго размер цифр? что- бы влезло в 1 панель P10. и это не возможно?
#include <SPI.h> //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
Чтобы модно уменьшить расстояние между точками печатайте не весь буфер а в цикле по буквенно. Переменная цикла и будет нужным смещением, и уменьшайте его когда идет печать точки.
Товарищи проконсультируйте пожалуйста немного по простому вопросу.
Собираюсь соединить Arduino Nano(+1 датчик с небольшим потреблением) и P10. Я правильно понимаю что можно организовать общее питание без дополнительной обвязки ? Подать на Vin и на панель - 7В к примеру ( судя по даташиту P10 поддерживает) и общую землю. На прототипе вроде всё нормально работает, даже от USB тока хватает(0.5 А) . Задача в общем запитать от прикуривателя, но там 12В. Думаю панели поплохеет. Нужна ли будет какая ещё обвязка или стабилизатора на Nano хватит?
Доброго! Нет не хватит. 1а панель при полном свечении будет потреблять 2Ампера. Я бы разломал зарядку ЮСБи от прикуривателя и выдрал бы из неё стаб. Как раз получится 5в 2а.
А если мне впринципе достаточно той яркости которую даёт P10 при 0.5А?
Про зарядку от прикуривателя я тоже думал, спасибо. Только не подавать же 5В от зарядки прямо на +5V ардуино , напряжение не стабилизированное и ардуину скорее всего будет "штормить". А на Vin (где есть стабилизатор) +5В вроде мало. Я собственно и хотел сделать на входе 7 чтобы и на Vin и на P10 сразу.
Всем привет!
Начну с того, что только буду изучать Arduino. UNO R3 китайская с али в пути.
Дак вот. Поставил задачу к следующему Новому году сделать сетку из RGB диодов на балкон, разрешением 32х48 либо 32х64.
В китае полно описаных в статье модулей.
! Мне же нужно вместо диодов в панели сделать сетку, желательно RGB, т.е. собрать\купить только саму плату розжига диодов. А к ней уже Arduino или же китайский контролер готовый.
Также видел управляемые диоды на WS2801 и APA102, но это за дорого.
Кто-то на TLC5940 делает.
Направьте меня на истеный путь с чего начать. Если не ясно описал задачу свою, уточню моменты.
Работет как то странно. Если подать общее питание на p10(отдельный VCC контакт на панели) и ардуино(Vin), но не соединять землю на панели с общей землёй ардуино - то работает, нормально. Как только заземлить выделенный GND вывод панели с землёй ардуины работает не стабильно, ардуина ребутается когда панель потребляет какой то повышенный ток (показывается много движущегося текста). Панели хватает земли с дата кабеля чтоли и достаточно VCC на Vin?
Подаю 4.5 или 6 вольт со стабилизированного источника(1.4 А) на Vin.
Что странно с USB хоть тускло но работает стабильно (с обоими подключёнными VCC->Vin и GND->GND ). Хотя тока она выдаёт максимум 0.5 А.
Здравствуйте –Вопрос. Нет готовых шрифтов для панели P-10 размером SystemFont (4x7) – пробовал через « GLCD Font Creator 2» . получаются в живую каля -баля .
-что бы уместить на 1 панели P-10 две строки по 000:00
как управлять сервоприводами знаю, подключил. но мне надо вывести угол отклонений на дисплей.
Вот скетч для работы сервоприводов.
#include <Servo.h>
const int servo1 = 4; // первая серва
const int servo2 = 10; // вторая серва
const int joyH = 3; // выход L/R джойстика Parallax
const int joyV = 4; // выход U/D джойстика Parallax
int servoVal; // переменная для хранения данных с аналогового пина
Servo myservo1; // создаем объект Servo для управления первой сервой
Servo myservo2; // создаем объект Servo для управления второй сервой
void setup() {
// Servo
myservo1.attach(servo1); // подключаем серву
myservo2.attach(servo2); // подключаем серву
// Инициализация серийного протокола связи
Serial.begin(9600);
}
void loop(){
// отображаем значения с джойстика с использованием серийного монитора
outputJoystick();
// считываем значение с джойстика по горизонтали (значение между 0 и 1023)
servoVal = analogRead(joyH);
servoVal = map(servoVal, 0, 1023, 0, 180); // масштабируем полученное значение для использования с серводвигателем (результат возвращается в диапазоне от 0 до 180)
myservo2.write(servoVal); // выводим ротор сервы в положение в соответствии с полученным масштабированным значением
// считываем значение джойстика вдоль вертикальной оси (значение от 0 до 1023)
servoVal = analogRead(joyV);
servoVal = map(servoVal, 0, 1023, 0, 180); //масштабируем полученное значение для использования с сервой (диапазон: от 0 до 180)
myservo1.write(servoVal); // выводим ротор второй сервы в соответствии с полученным масштабированным значением
delay(15); // ждем, пока серва обеспечит заданное положение
}
/**
* отображаем значения джойстика
*/
void outputJoystick(){
Serial.print(analogRead(joyH));
Serial.print ("---");
Serial.print(analogRead(joyV));
Serial.println ("----------------");
}
А вот для дисплея.
# <UTFT.h>
// Объявляем, какие шрифты мы будем использовать
extern uint8_t BigFont[];
// Не забудьте изменить параметр модели в соответствии с вашим модулем отображения!
UTFT myGLCD(CTE32HR,38,39,40,41);
void setup()
{
randomSeed(analogRead(0));
// Setup the LCD
myGLCD.InitLCD();
myGLCD.setFont(BigFont);
}
void loop()
{
myGLCD.clrScr();
myGLCD.setColor(0, 0, 255); //фон экрана
myGLCD.fillRect(0, 0, 479, 319); //границы фона
myGLCD.setBackColor(0, 0, 255); //цвет фона
myGLCD.setColor(255, 255, 0); //цвер шрифта
myGLCD.print("UDALENOST", 285, 1);
myGLCD.setColor(0, 150, 255);
myGLCD.drawRect(241, 17, 479, 160);
myGLCD.setColor(25, 25, 25);
myGLCD.fillRect(242, 18, 478, 159);
myGLCD.setBackColor(0, 0, 255); //цвет фона
myGLCD.setColor(255, 255, 0); //цвер шрифта
myGLCD.print("NAKLON PO Y", 275, 161);
myGLCD.setColor(0, 150, 255);
myGLCD.drawRect(241, 177, 479, 319);
myGLCD.setColor(25, 25, 25);
myGLCD.fillRect(242, 178, 478, 318);
myGLCD.setBackColor(0, 0, 255); //цвет фона
myGLCD.setColor(255, 255, 0); //цвер шрифта
myGLCD.print("POVOROT NA 360", 10, 1);
myGLCD.setColor(0, 150, 255);
myGLCD.drawRect(0, 17, 239, 160);
myGLCD.setColor(25, 25, 25);
myGLCD.fillRect(1, 18, 238, 159);
myGLCD.setBackColor(0, 0, 255); //цвет фона
myGLCD.setColor(255, 255, 0); //цвер шрифта
myGLCD.print("NAKLON PO X", 30, 161);
myGLCD.setColor(0, 150, 255);
myGLCD.drawRect(0, 177, 239, 319);
myGLCD.setColor(25, 25, 25);
myGLCD.fillRect(1, 178, 238, 318);
while (true) {}; //от мигания
}
Задача объединить скетч дидисплея и приводов в один и чтобы при повороте того или другого сервоприводов,
в соответствующем окне отображался (процент, угол, градус, число) поворота. Прошу помочь доработать
скетч, или показать самый примитивный, а доработаем сами! Заранее спасибо, всех с праздниками!
как управлять сервоприводами знаю, подключил. но мне надо вывести угол отклонений на дисплей.
Вот скетч для работы сервоприводов.
#include <Servo.h>
const int servo1 = 4; // первая серва
const int servo2 = 10; // вторая серва
const int joyH = 3; // выход L/R джойстика Parallax
const int joyV = 4; // выход U/D джойстика Parallax
int servoVal; // переменная для хранения данных с аналогового пина
Servo myservo1; // создаем объект Servo для управления первой сервой
Servo myservo2; // создаем объект Servo для управления второй сервой
void setup() {
// Servo
myservo1.attach(servo1); // подключаем серву
myservo2.attach(servo2); // подключаем серву
// Инициализация серийного протокола связи
Serial.begin(9600);
}
void loop(){
// отображаем значения с джойстика с использованием серийного монитора
outputJoystick();
// считываем значение с джойстика по горизонтали (значение между 0 и 1023)
servoVal = analogRead(joyH);
servoVal = map(servoVal, 0, 1023, 0, 180); // масштабируем полученное значение для использования с серводвигателем (результат возвращается в диапазоне от 0 до 180)
myservo2.write(servoVal); // выводим ротор сервы в положение в соответствии с полученным масштабированным значением
// считываем значение джойстика вдоль вертикальной оси (значение от 0 до 1023)
servoVal = analogRead(joyV);
servoVal = map(servoVal, 0, 1023, 0, 180); //масштабируем полученное значение для использования с сервой (диапазон: от 0 до 180)
myservo1.write(servoVal); // выводим ротор второй сервы в соответствии с полученным масштабированным значением
delay(15); // ждем, пока серва обеспечит заданное положение
}
/**
* отображаем значения джойстика
*/
void outputJoystick(){
Serial.print(analogRead(joyH));
Serial.print ("---");
Serial.print(analogRead(joyV));
Serial.println ("----------------");
}
Доброго времени суток всем! А кто-нибудь управлял RGB матрицей 16х32 через DMD библиотеку? Все, что находила, про одноцветные. У меня arduino uno и китайская матрица p8. Задача соединить 4 матрицы в один экран и небольшая графика.
Доброго времени суток всем! А кто-нибудь управлял RGB матрицей 16х32 через DMD библиотеку? Все, что находила, про одноцветные. У меня arduino uno и китайская матрица p8. Задача соединить 4 матрицы в один экран и небольшая графика.
Пробовала, и спец.иблиотеку RGB matrix panel, тоже от Adafruit, они с Adafruit_GFX в связке работают. Ерунда получается. Несоответствие по регистрам, пробовала в этих библиотеках менять кое-что, или не компилируется или по прежнему зажигает не тот пиксел, скетч из примеров тоже идет криво (несоответствие по регистрам)..... Похоже определяется как 2 матрицы 16х16... и там тоже ерунда... вечером фото сделаю, выложу как это все выглядит.
В заказной позиции, насколько я понимаю, PR4538 - это либо буфер, либо дешифратор, регистры - CH331S.1JK6 TG5020GR (здесь могу ошибаться). По распиновке Hab соответствует распиновке матриц Adafruit.
#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library
#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);
void setup() {
matrix.begin();
// draw a pixel in solid white
matrix.drawPixel(0, 0, matrix.Color333(7, 7, 7));
delay(500);
// fix the screen with green
matrix.fillRect(0, 0, 32, 16, matrix.Color333(0, 7, 0));
delay(500);
// draw a box in yellow
matrix.drawRect(0, 0, 32, 16, matrix.Color333(7, 7, 0));
delay(500);
// draw an 'X' in red
matrix.drawLine(0, 0, 31, 15, matrix.Color333(7, 0, 0));
matrix.drawLine(31, 0, 0, 15, matrix.Color333(7, 0, 0));
delay(500);
// draw a blue circle
matrix.drawCircle(7, 7, 7, matrix.Color333(0, 0, 7));
delay(500);
// fill a violet circle
matrix.fillCircle(23, 7, 7, matrix.Color333(7, 0, 7));
delay(500);
// fill the screen with 'black'
matrix.fillScreen(matrix.Color333(0, 0, 0));
// draw some text!
matrix.setCursor(1, 0); // start at top left, with one pixel of spacing
matrix.setTextSize(1); // size 1 == 8 pixels high
// print each letter with a rainbow color
matrix.setTextColor(matrix.Color333(7,0,0));
matrix.print('1');
matrix.setTextColor(matrix.Color333(7,4,0));
matrix.print('6');
matrix.setTextColor(matrix.Color333(7,7,0));
matrix.print('x');
matrix.setTextColor(matrix.Color333(4,7,0));
matrix.print('3');
matrix.setTextColor(matrix.Color333(0,7,0));
matrix.print('2');
matrix.setCursor(1, 9); // next line
matrix.setTextColor(matrix.Color333(0,7,7));
matrix.print('*');
matrix.setTextColor(matrix.Color333(0,4,7));
matrix.print('R');
matrix.setTextColor(matrix.Color333(0,0,7));
matrix.print('G');
matrix.setTextColor(matrix.Color333(4,0,7));
matrix.print("B");
matrix.setTextColor(matrix.Color333(7,0,4));
matrix.print("*");
// whew!
}
void loop() {
// do nothing
}
Вот дали свет и есть решение.
Большое спасибо - сейчас и опробую.
Спасибо -опробовал - даже и не запускается таймер в 0. старая работает.
Ошибок нет.
Ничего не понял. Что значит не запускается таймер в 0?
Пи замыкание PIN2(Button1Pin2)1раз,2-рой раз.-ТАИМЕРЫ НЕ ЗАПУСКАЮТСЯ.
Заливаю старый скеч все работает (ДИСПЛЕЙ -ТАЙМЕР)
У меня работает.
Сори - а уменя нет -как . В чем может дело. Старую заливыю работает. Попробую вечером залить новый DMD. Спасибо за помощь. Дело в том, что при заливке не ругается.
051
pinMode(Button1Pin, INPUT_PULLUP);
052
pinMode(Button2Pin, INPUT_PULLUP);
Я кнопки без резиков подключил.
Это прописано -подтягивающее сопративление встроеное. Пробовал и с ними- добавлял.
Буду пробовать вечером - хотя что изменится у меня? Перезалью DMD.
ВСЕ РАБОТАЕТ
Отож и оно. )))
Спасибо -у меня других версий нет. ОГРОМНОЕ СПАСИБО за творение рук человеческих.Это то, что мне надо. Но испоробую вечером.
Вопрос ширина цифравой ячейки 7 и ширину точки нет возможности уменьшить. Скажем до 4 ? Или это строго прописано как ширина ячейки цифры строго 7.
В этой ветке обсуждался вопрос и средства по созданию кастомных шрифтов.
Ок. Сори.
Все работает -Спасибо. Но просьба как исправить, чтобы после выполнения СТАРТ, СТОП и после сброса можно снова СТАРТОВАТЬ. Проблема такая -
1. при выполнение СТАРТ1, СТОП1 и СБРОС1 - не выполняет новый СТАРТ (а только после 2х нажатий на СТОП)
2. при выполнение СТАРТ1, СТАРТ2 потом СТОП1и СБРОС1 после (обнуления 1 таймера - таймер 2 продолжает считать) не разрешает делать (обнуленного таймера) СТАРТ1 до того как не сработает СТОП2 и СБРОС2.
Нужно чтобы СТАРТ разрешался всегда свободному 1ному каналу ТАИМЕРА при условии, что он сброшен 00.00.000.
Если есть возможность и драгоценное Ваше время помогите. Получается старт только друг за другом по 2 участника, и новый старт вазможен только после финиша 2х участника. Получается только пачками по 2участника.
Я выше просил все расписать как должно работать, но увы. То что Вы написали то я вам и сделал. Больше угадывать не буду. Хотя можете выслать мне ЛИТР Капитана Моргана и мы продолжим обучение )))
1. при выполнение СТАРТ1, СТОП1 и СБРОС1 - не выполняет новый СТАРТ (а только после 2х нажатий на СТОП)
2. при выполнение СТАРТ1, СТАРТ2 потом СТОП1и СБРОС1 после (обнуления 1 таймера - таймер 2 продолжает считать) не разрешает делать (обнуленного таймера) СТАРТ1 до того как не сработает СТОП2 и СБРОС2.
ВСЕ ЭТО РЕШИЛ, добавив Button2Count = 0 после СБРОСОВ. Но проблема со СТОПОМ сначало 1 останавливает потом 2 таймер а не наибольшее значение таймера.
Я так понимаю, обучение будит индивидуальное. Просто жаль , что все это творение рук человеческих умрет.
Вопрос -1 тона на карточку или тел? и доработка- можно в личке.
Нет, все на много банальней. Вы не можете сформировать ТЗ и описать ТУ. Я больше не хочу угадывать что Вам нужно, а так как я алкоголик, я с радостью получу от Вас посылку с бутылкой рома и продолжу здесь делать то что Вам интересно. )))
Добрый день. Поделитесь пожалуйста русскими шрифтами для DMD. Тот который вы уже выкладывали, за него огромное спасибо, но он великоват для меня. Может есть шрифты поменьше. Скажу сразу, пробовал рисовать шрифт в программе, но видать из меня плохой шрифтохудожник :), а в инете готовых не нашел. Уж думал что можно как-то в обычном русском ttf перенести русские буквы на адреса англ., а потом импортировать в программу для создания шрифтов и экспортировать для ардуино, но что-то не получается пока. Поделитесь или расскажите как вы их делали. Заранее благодарен.
шрифт русский маленький http://vk.com/doc27058323_437303228
извиняюсь что ссылка ВК (
Пишет: "Этот документ был удалён из общего доступа."
Доброго времени суток! Подскажите как модно уменьшить расстояние между точками в цифровом секундомере в панели P10 вот куски. 0:00.00 или точи занимают строго размер цифр? что- бы влезло в 1 панель P10. и это не возможно?
#include <SPI.h> //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h>
#include <TimerOne.h>
//#include "Arial_black_16.h"
#include "SystemFont5x7.h"
//#include "Small.h"
#include <Bounce2.h
#define DISPLAYS_ACROSS 3
#define DISPLAYS_DOWN 1
________________________________________________________________________
//initialize TimerOne's interrupt/CPU usage used to scan and refresh the display
Timer1.initialize( 5000 ); //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see flicker.
Timer1.attachInterrupt( ScanDMD ); //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI()
dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on)
// dmd.selectFont(Arial_Black_16);
dmd.selectFont(SystemFont5x7);
____________________________________________________________________
void print_time2(unsigned long t_milli)
{
int days, hours, mins, secs;
int fractime;
unsigned long inttime;
inttime = t_milli / 1000;
fractime = t_milli % 100;
days = inttime / (24*3600);
inttime = inttime % (24*3600);
hours = inttime / 3600;
inttime = inttime % 3600;
mins = inttime / 60;
inttime = inttime % 60;
secs = inttime;
sprintf(buffer2, "%01d:%02d.%02d", mins, secs, fractime);
dmd.drawString( 55,8, buffer2, 9, GRAPHICS_NORMAL );
}
Чтобы модно уменьшить расстояние между точками печатайте не весь буфер а в цикле по буквенно. Переменная цикла и будет нужным смещением, и уменьшайте его когда идет печать точки.
Пытался подключить уменьшинные шрифты из GLCD Font Creator - (хотел уместить на 1 панель 0:00.00) не получилось . Думаю без бутылки не обойтись.
0:00.00
0:00.00
Доброго всем,
Товарищи проконсультируйте пожалуйста немного по простому вопросу.
Собираюсь соединить Arduino Nano(+1 датчик с небольшим потреблением) и P10. Я правильно понимаю что можно организовать общее питание без дополнительной обвязки ? Подать на Vin и на панель - 7В к примеру ( судя по даташиту P10 поддерживает) и общую землю. На прототипе вроде всё нормально работает, даже от USB тока хватает(0.5 А) . Задача в общем запитать от прикуривателя, но там 12В. Думаю панели поплохеет. Нужна ли будет какая ещё обвязка или стабилизатора на Nano хватит?
Спасибо.
Доброго! Нет не хватит. 1а панель при полном свечении будет потреблять 2Ампера. Я бы разломал зарядку ЮСБи от прикуривателя и выдрал бы из неё стаб. Как раз получится 5в 2а.
7в я бы не подавал на Р10.
Ок. Спасибо.
А если мне впринципе достаточно той яркости которую даёт P10 при 0.5А?
Про зарядку от прикуривателя я тоже думал, спасибо. Только не подавать же 5В от зарядки прямо на +5V ардуино , напряжение не стабилизированное и ардуину скорее всего будет "штормить". А на Vin (где есть стабилизатор) +5В вроде мало. Я собственно и хотел сделать на входе 7 чтобы и на Vin и на P10 сразу.
Не заморачивайся. Подавай 5в на VIN. Работать будет.
Ок. Спасибо. Будем так.
На входе +5В на Vin и P10.
Всем привет!
Начну с того, что только буду изучать Arduino. UNO R3 китайская с али в пути.
Дак вот. Поставил задачу к следующему Новому году сделать сетку из RGB диодов на балкон, разрешением 32х48 либо 32х64.
В китае полно описаных в статье модулей.
! Мне же нужно вместо диодов в панели сделать сетку, желательно RGB, т.е. собрать\купить только саму плату розжига диодов. А к ней уже Arduino или же китайский контролер готовый.
Также видел управляемые диоды на WS2801 и APA102, но это за дорого.
Кто-то на TLC5940 делает.
Направьте меня на истеный путь с чего начать. Если не ясно описал задачу свою, уточню моменты.
дубль :(
Работет как то странно. Если подать общее питание на p10(отдельный VCC контакт на панели) и ардуино(Vin), но не соединять землю на панели с общей землёй ардуино - то работает, нормально. Как только заземлить выделенный GND вывод панели с землёй ардуины работает не стабильно, ардуина ребутается когда панель потребляет какой то повышенный ток (показывается много движущегося текста). Панели хватает земли с дата кабеля чтоли и достаточно VCC на Vin?
Подаю 4.5 или 6 вольт со стабилизированного источника(1.4 А) на Vin.
Что странно с USB хоть тускло но работает стабильно (с обоими подключёнными VCC->Vin и GND->GND ). Хотя тока она выдаёт максимум 0.5 А.
Здравствуйте –Вопрос. Нет готовых шрифтов для панели P-10 размером SystemFont (4x7) – пробовал через « GLCD Font Creator 2» . получаются в живую каля -баля .
-что бы уместить на 1 панели P-10 две строки по 000:00
- и в одну строку 000:00 в размер панели 32Х16
А вот для дисплея.
А вот для дисплея.
Доброго времени суток всем! А кто-нибудь управлял RGB матрицей 16х32 через DMD библиотеку? Все, что находила, про одноцветные. У меня arduino uno и китайская матрица p8. Задача соединить 4 матрицы в один экран и небольшая графика.
Доброго времени суток всем! А кто-нибудь управлял RGB матрицей 16х32 через DMD библиотеку? Все, что находила, про одноцветные. У меня arduino uno и китайская матрица p8. Задача соединить 4 матрицы в один экран и небольшая графика.
попробуйте библиотеку AdafruitGFX https://github.com/adafruit/Adafruit-GFX-Library, китайские матрицы от Elecrow работают на ней. У них же и пец.шилды есть для подключение мартиц. Дорогие, но удобные http://embedded-lab.com/blog/hookup-guide-for-16x32-rgb-led-panel/
попробуйте библиотеку AdafruitGFX https://github.com/adafruit/Adafruit-GFX-Library, китайские матрицы от Elecrow работают на ней. У них же и пец.шилды есть для подключение мартиц. Дорогие, но удобные http://embedded-lab.com/blog/hookup-guide-for-16x32-rgb-led-panel/
Пробовала, и спец.иблиотеку RGB matrix panel, тоже от Adafruit, они с Adafruit_GFX в связке работают. Ерунда получается. Несоответствие по регистрам, пробовала в этих библиотеках менять кое-что, или не компилируется или по прежнему зажигает не тот пиксел, скетч из примеров тоже идет криво (несоответствие по регистрам)..... Похоже определяется как 2 матрицы 16х16... и там тоже ерунда... вечером фото сделаю, выложу как это все выглядит.
попять 2 раза отправила, извините, тороплюсь.
Произвоидетель моих матриц J.CAI, сама матрица заказная позиция P8_1_4_3535_PR4538_HSD_32x16_NRES.
В заказной позиции, насколько я понимаю, PR4538 - это либо буфер, либо дешифратор, регистры - CH331S.1JK6 TG5020GR (здесь могу ошибаться). По распиновке Hab соответствует распиновке матриц Adafruit.
И так, имеем: Arduino uno R3, RGB матрицу 32х16, 2 библиотеки Adafruit_GFX и RGB Matrix Panel, код из примера библиотеки, подключаю соответственно рекомандаций от Adafruit (https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/connecting-with-ju...) и получаю (должен быть текст):
Код примера из библиотеки:
Дальше убираю из примера все лишнее и пытаюсь зажечь левый верхний "пиксел"