Связка Mega2560 с p10 led module

MikSer
Offline
Зарегистрирован: 27.01.2012

почитать тут http://forum.freetronics.com/viewforum.php?f=26

У меня все работает корректно. http://vk.com/video27058323_168010129

Translator
Offline
Зарегистрирован: 03.02.2014

А какая будет схема подключения для ардуино UNO?

Она отличается от подключения к мега?

 

MikSer
Offline
Зарегистрирован: 27.01.2012
Translator
Offline
Зарегистрирован: 03.02.2014

В библиотеке DMD.h есть строка #define PIN_OTHER_SPI_nCS 10.

Что это за пин? Куда его подключать к модулю P10?

Я поменял в нем пины на те которые подключены у меня

1#define PIN_DMD_nOE       7    // D9 active low Output Enable, setting this low lights all the LEDs in the selected rows. Can pwm it at very
2#define PIN_DMD_A         11    // D6
3#define PIN_DMD_B         12    // D7
4#define PIN_DMD_CLK       9   // D13_SCK  is SPI Clock if SPI is used
5#define PIN_DMD_SCLK      8    // D8
6#define PIN_DMD_R_DATA    10   // D11_MOSI is SPI Master Out if SPI is used
Как в примере про Волгоград
1#define pinData1 10
2#define pinClk  9
3#define pinStr  8
4#define pinEn  7
5#define pinA  11
6#define pinB  12

Но всё равно не работает, хотя Волгоград прекрасно работает.

Возможно дело в PIN_OTHER_SPI_nCS, но я не могу понять куда его подключать.

MikSer
Offline
Зарегистрирован: 27.01.2012

Я подключал так:

OE -> 9 Pin

A -> 6 Pin

B -> 7 Pin

CKL -> 13 Pin

SKL -> 8 Pin

R -> 11 Pin (в зависимости от цвета панели R - Red, G - Green, W - white)

в исходнике написано же...

01//Arduino pins used for the display connection
02#define PIN_DMD_nOE       9    // D9 active low Output Enable, setting this low lights all the LEDs in the selected rows. Can pwm it at very high frequency for brightness control.
03#define PIN_DMD_A         6    // D6
04#define PIN_DMD_B         7    // D7
05#define PIN_DMD_CLK       13   // D13_SCK  is SPI Clock if SPI is used
06#define PIN_DMD_SCLK      8    // D8
07#define PIN_DMD_R_DATA    11   // D11_MOSI is SPI Master Out if SPI is used
08//Define this chip select pin that the Ethernet W5100 IC or other SPI device uses
09//if it is in use during a DMD scan request then scanDisplayBySPI() will exit without conflict! (and skip that scan)
10#define PIN_OTHER_SPI_nCS 10

PIN_OTHER_SPI_nCS нужен для того чтобы scanDisplayBySPI() отрабатывала корректно при условии что на шине SPI висит допустим (Ethernet W5100 IC or other SPI) т.е. на этом пине. 

Translator
Offline
Зарегистрирован: 03.02.2014

Спасибо :) Теперь получилось.

А не мог бы ты подсказать как работать со шрифтами? Как создать свой шрифт?

И как управлять яркостью модулей?

MikSer
Offline
Зарегистрирован: 27.01.2012

Со шрифтами история очень веселая, но решаемая при помощи волшебной проги GLCD Font Creator https://code.google.com/p/glcd-arduino/downloads/detail?name=GLCDFontCreator2.zip&can=2&q=

она на Java. 

Создаеш свой шрифт и экспортируеш, ложищ его в папку DMD библиотеки. В зависимости как его назвал в исходнике объявляеш его.

1#include "Small.h"
2.................
3dmd.selectFont(new_Font);

new_Font имя шрифта, что в мастере шрифтов указали. И все.

По поводу яркости тут есть модифицированная либа http://forum.freetronics.com/viewtopic.php?f=26&t=278&start=20#p2133

 

Translator
Offline
Зарегистрирован: 03.02.2014

А если нужно подключить параллельно несколько строк к адной ардуине, как это можно реализовать?

Можно ведь запараллелить все выходы кроме: PIN_DMD_R_DATA и PIN_DMD_CLK, а их сделать разными, и передавать разные данные на табло. Но только PIN_DMD_R_DATA  всегда равен 11, а PIN_DMD_CLK = 13, не важно что я прописываю в DMD.h, она всё равно использует эти пины SPI. Можно как-то выйти из этого положения?

Goldz
Offline
Зарегистрирован: 23.04.2011

MikSer пишет:

Со шрифтами история очень веселая, но решаемая при помощи волшебной проги GLCD Font Creator https://code.google.com/p/glcd-arduino/downloads/detail?name=GLCDFontCreator2.zip&can=2&q=

она на Java. 

Создаеш свой шрифт и экспортируеш, ложищ его в папку DMD библиотеки. В зависимости как его назвал в исходнике объявляеш его.

1#include "Small.h"
2.................
3dmd.selectFont(new_Font);

new_Font имя шрифта, что в мастере шрифтов указали. И все.

По поводу яркости тут есть модифицированная либа http://forum.freetronics.com/viewtopic.php?f=26&t=278&start=20#p2133

 

Создаю шрифт с помощью    GLCD Font Creator, все работает до ASCII 127,любые знаки после

не выводятся на панели. В шрифте все есть до 255. Помогите решить эту проблему

Может есть у кого проверенный файл с русским, пришлите в личку для сравнения с моим

Использую библиотеку DMD

rndvip
Offline
Зарегистрирован: 04.03.2012

Подскажите пожалуйста.

Имею панель RG  32x16, выглядит как ваши (не считая двух светодиодов на пиксель), на обратной стороне имеет маркировку P10(1R1G)3216-4S1. Пытаюсь управлять через arduino duemilanove. Начинал с полностью своего кода - добился вывода пикселей в нужном месте по координата. Дальше наткнулся на эту тему, и решил попробывать библиотеку DMD(чтоб не писать вывод текста самому). Подключил все как указано в DMD.h - но ни к чему не привело. Попробывал убрать следующую проверку:

1if( digitalRead( PIN_OTHER_SPI_nCS ) == HIGH )

Видно что что-то бежит и вроде даже как осмысленное, но светодиоды горят в пол накала...и буквы в строке какие-то смазанные.

Переписал полностью код функции:

1void DMD::scanDisplayBySPI()

... на основе своего кода который работал. Все вывелось но зеркально относительно горизонтали и инвертировано, но легко поправил. Суть не в этом.

Тесты показали( что и теоретически было ясно) что duemilanove начинает тормозить при подключение двух экранов, при трех картинка вообще замирает. Я даже не пробывал еще управлять зелеными светодиодами. 

Пока едет arduino due, упражняюсь с тем что есть.

Насколько я понял библиотека использует SPI для управления панелью, и так вопрос:

- может быть такое, что панель не понимает этот протокол? или это я не понимаю что делаю?

- зачем его использовать? (меньше своего кода разрабатывать, или она быстрее, если есть собственный рабочий код отображения буфера дисплея на панель - может и нет смысла напрягаться)

Спасибо.

 

MikSer
Offline
Зарегистрирован: 27.01.2012

Посмотрите вторую версию этой библиотеки. Избавились от TimerOne, теперь корректно работаем с сериал портом.

Вот бы скрестить библиотеку AdafruitGFX и DMD2....

Goldz
Offline
Зарегистрирован: 23.04.2011

MikSer пишет:

Посмотрите вторую версию этой библиотеки. Избавились от TimerOne, теперь корректно работаем с сериал портом.

Вот бы скрестить библиотеку AdafruitGFX и DMD2....

Пожалуйста подскажите где взять библиотеку, без использования TimerOne?

Goldz
Offline
Зарегистрирован: 23.04.2011

Нашел библиотеку DMD2. Запустил пример Scrolling alphabet. Перед выводом очередной буквы происходит полное стирание экрана, после чего строка выводится по новым координатам плюс очередная буква. И так в цикле. Изображение выводится не плавно, а рывками. Появляется, гаснет, появляется, гаснет.

Посоветуйте метод борьбы с этим эфектом

MikSer
Offline
Зарегистрирован: 27.01.2012

Да, скроллинг там еще не реализован, но зато все остальное! Шикарно работает. Могу предложить глянуть исходники старой либы и подглядеть как там скролл сделан и внедрить кусок кода в новую либу либо ждать пока она выйдет из стадии бэты.

http://forum.freetronics.com/viewtopic.php?f=26&t=5893 либо ныть и скулить на форуме разрабов. :-)

Translator
Offline
Зарегистрирован: 03.02.2014

Товарищи нужна помощь.

Если прописать в коде больше 18 модулей Arduino UNO перестает работать, не отрисовывается вообще ни одно.

1

DMD dmd(18,1);

При этом 18 модулей работают нормально.

Как можно соединить больше 18 модулей P10?

Translator
Offline
Зарегистрирован: 03.02.2014

Эксперементальным петём добился корректной работы 22 модулей.

Изменив в DMD.h размер массива marqueeText 

1 //Marquee values
2     char marqueeText[2]; //  было char marqueeText[256]
3     byte marqueeLength;
4     int marqueeWidth;
5     int marqueeHeight;

Если добиться работы 24 модулей, то было бы уже хорошо. Но в идеале 30 модулей нужно.

 

BrainDrain
Offline
Зарегистрирован: 10.11.2014

Господа электроники! Зачем вы мучаетесь?

Я занимаюсь производством таких бегущих строк, для управления модулями используется контроллер, его стоимость не более 2,5 тыр. 

Есть специальная программа которая уже всё это делает... Количество модулей не ограничено, весь вопрос в питании этих модулей.

MikSer
Offline
Зарегистрирован: 27.01.2012

Это которая LedShow?

BrainDrain
Offline
Зарегистрирован: 10.11.2014

Да, и простая и бесплатная и контроллеры не только BX- поддерживает

 

korsianen
Offline
Зарегистрирован: 23.03.2013

BrainDrain пишет:

Господа электроники! Зачем вы мучаетесь?

Я занимаюсь производством таких бегущих строк, для управления модулями используется контроллер, его стоимость не более 2,5 тыр. 

Есть специальная программа которая уже всё это делает... Количество модулей не ограничено, весь вопрос в питании этих модулей.

Я с вами не соглашусь!!! Здесь собираются люди которые склонны к изобретательству. Без этой способности человечества не было бы сейчас ни панелей ни контроллеров. Да вы предлагаете отличное решение ни кто не спорит, но оно заточено только для бегущих строк или статического отображения по программе вами заложенной. А вот вам задачка непосильная контроллеру: Есть автобусный маршрут Волгоград-Знаменск и Знаменск-Волгоград. Надо отобразить на панели город куда движеться автобус. Автобус двигается туда и обратно. Города на панели надо менять в ручную в зависимости куда едет автобус. С помощью контроллера как это сделать? А с помощью Ардуино в легкую. Плюс цена вопроса когда автобусов например 10 шт. будет высока с использованием контроллеров.

P.S. Я кстати сделал для этого маршрута такие таблички, но выбрал дешевые блоки питания с 12в на 5в и в результате погорели частично ардуйны и блоки питания. Блоки питания ставил маломощные. Совет вам ставте специализированные БП для авто(бегущих строк).

korsianen
Offline
Зарегистрирован: 23.03.2013

Скоро заберу все панели с этого маршрута и что нибудь опять придумаю.

Chip_SET
Offline
Зарегистрирован: 27.01.2015

Приветствую! Есть пара модулей Vessem VS128T-16 http://www.ecplaza.net/eparts/link/c10003329.html

Даташит: http://www.epartshub.com/include/fileattach.jsp?filename=00001035-VS128T-16S(ver_5.00).pdf&cmpyCd=00001035&type=Doc

Я начинающий. Сижу уже дня 3 с матрицой этой. Не могу вывести 4 адресные линии. Работают либо 2 либо 3 линии. Программу использовал с волгоградом и счетчик

001/**
002 * Программа "счетчик секунд"
003 */
004// inslude the SPI library:
005#include <SPI.h>
006#include <Wire.h>
007#include <DS1307.h>
008 
009 
010const int pin_OE = 7;
011const int pin_LD = 6;
012const int pin_A  = 2;
013const int pin_B  = 3;
014const int pin_C  = 4;
015const int pin_D  = 5;
016//const int load  = 8;
017 
018// Буфер индикатора
019unsigned long img_buf[ 16 ];
020 
021/**
022 * Массив знакогенератора для цифр: 0 - 9
023 */
024const char digits[ 11 * 8 ] =
025{ //0
026  0b00000,
027  0b01100,
028  0b10010,
029  0b10010,
030  0b10010,
031  0b10010,
032  0b01100,
033  0b00000,
034  //1
035  0b00000,
036  0b00100,
037  0b01100,
038  0b00100,
039  0b00100,
040  0b00100,
041  0b01110,
042  0b00000,
043  //2
044  0b00000,
045  0b01100,
046  0b10010,
047  0b00100,
048  0b01000,
049  0b10000,
050  0b11110,
051  0b00000,
052  //3
053  0b00000,
054  0b11100,
055  0b00010,
056  0b01100,
057  0b00010,
058  0b00010,
059  0b11100,
060  0b00000,
061  //4
062  0b00000,
063  0b10010,
064  0b10010,
065  0b10010,
066  0b11110,
067  0b00010,
068  0b00010,
069  0b00000,
070  //5
071  0b00000,
072  0b11110,
073  0b10000,
074  0b11100,
075  0b00010,
076  0b10010,
077  0b01100,
078  0b00000,
079  //6
080  0b00000,
081  0b01110,
082  0b10000,
083  0b11100,
084  0b10010,
085  0b10010,
086  0b01100,
087  0b00000,
088  // 7
089  0b00000,
090  0b11110,
091  0b00010,
092  0b00010,
093  0b00100,
094  0b01000,
095  0b01000,
096  0b00000,
097  // 8
098  0b00000,
099  0b01100,
100  0b10010,
101  0b01100,
102  0b10010,
103  0b10010,
104  0b01100,
105  0b00000,
106  // 9
107  0b00000,
108  0b01100,
109  0b10010,
110  0b10010,
111  0b01110,
112  0b00010,
113  0b01100,
114  0b00000,
115  // a
116  0b00000,
117  0b11100,
118  0b10010,
119  0b01110,
120  0b10010,
121  0b10010,
122  0b01101,
123  0b00000,
124};
125 
126const char letters[ 1 * 8 ] =
127{
128  // a
129  0b00000,
130  0b10010,
131  0b00000,
132  0b00000,
133  0b00000,
134  0b00000,
135  0b10010,
136  0b00000,
137};
138 
139/**
140  * Аппаратные настройки
141  */
142void setup()
143{
144    pinMode (pin_A , OUTPUT);
145    pinMode (pin_B , OUTPUT);
146    pinMode (pin_C , OUTPUT);
147    pinMode (pin_D , OUTPUT);
148    pinMode (pin_OE, OUTPUT);
149    pinMode (pin_LD, OUTPUT);
150    //pinMode (load, OUTPUT);
151    // initialize SPI:
152    SPI.setClockDivider(SPI_CLOCK_DIV2);
153    SPI.begin();
154    //SPI.setClockDivider(SPI_CLOCK_DIV2);
155    //Serial.begin(115200);
156 
157}
158/**
159 * Вспомогательная функция:
160 * Вычисление значения data
161 * @param row — номер строки
162 * @param buf — указатель на буфер индикатора
163 * @param regn — номер регистра индикатора
164*/
165int get_img_byte(unsigned long* buf, int col , int regn )
166{
167  int res = 0;
168  int m = 24 - ( ( regn / 4 ) * 8 );
169  int n = ( 15 - ( ( regn % 4 ) * 4 ) -  col );
170  return buf[n]>> m;
171   
172}
173/**
174 * Переключение строк
175 * @param row — номер строки
176 */
177void set_row( int row )
178{
179  // Приводим row к нужному виду
180  row &= 0x0F; //03
181  row = 15 - row;
182  // Отключаем индикацию
183  digitalWrite( pin_OE , LOW );
184  //digitalWrite( load , LOW );
185  // Переключаем ножк дешифратора
186  digitalWrite( pin_A , ( row & 1 ) && HIGH );
187  digitalWrite( pin_B , ( row & 2 ) && HIGH );
188  digitalWrite( pin_C , ( row & 4 ) && HIGH );
189  digitalWrite( pin_D , ( row & 8 ) && HIGH );
190  // Выводим синхроимпульс регистра с параллельной загрузкой
191  digitalWrite( pin_LD , HIGH );
192  digitalWrite( pin_LD , LOW );
193  // Включаем индикацию
194  digitalWrite( pin_OE , HIGH );
195  //digitalWrite( load , HIGH );
196}
197/**
198 * Обновления индикатора - улучшеная версия
199 * @param buf — указатель на буфер индикатора
200 */
201void upload( unsigned long*  buf )
202{
203  int regn;
204  static int col = 0;
205  if( col >= 4 )
206      col = 0;
207   
208  for( regn = 0 ; regn < 16 ; regn++ )
209      SPI.transfer( ~get_img_byte( buf , col , regn ) );    
210   
211  set_row( col );    
212  ++col;
213}
214/**
215 * Вывод цифры
216 * @param x - координата x
217 * @param y - координата y
218 * @param dig - цифра
219 */
220void put_digit( int x , int y , int dig )
221{
222  for( int i = 0 ; i < 8 ; i++ )
223  {
224    if( ( ( i + y ) > 15 ) || ( ( x ) > 26 ) ||
225        ( ( i + y ) < 0 ) || ( ( x ) < 0 ) )
226      continue;
227    unsigned long tmp = ( ( unsigned long ) digits[ dig * 8 + i ] << ( 26 - x ) );
228    img_buf[ i + y ] |= tmp;
229  }
230}
231//---------------------------------------------------
232void put_letter( int x , int y , int let )
233{
234  for( int i = 0 ; i < 8 ; i++ )
235  {
236    if( ( ( i + y ) > 15 ) || ( ( x ) > 26 ) ||
237        ( ( i + y ) < 0 ) || ( ( x ) < 0 ) )
238      continue;
239    unsigned long tmp = ( ( unsigned long ) letters[ let * 8 + i ] << ( 26 - x ) );
240    img_buf[ i + y ] |= tmp;
241  }
242}
243//--------------------------------------------------
244/**
245 * Вывод двузначного числа
246 * @param x - координата x
247 * @param y - координата y
248 * @param dig - число
249 */
250void put_2dig( int x , int y , int d )
251{
252  put_digit( x + 5, y , d % 10 );
253  d /= 10;
254  put_digit( x , y , d % 10 ); 
255}
256//-------------------------------------------------
257void put_2let( int x , int y , int l )
258{
259  put_letter( x + 5, y , l % 10 );
260  l /= 10;
261  put_letter( x , y , l % 10 ); 
262}
263//-------------------------------------------------
264/**
265 * Очистка буфера индикатора
266 * @param buf — указатель на буфер индикатора
267 */
268void clear_buf( unsigned long*  buf )
269{
270  for( int i = 0 ; i < 16 ; i++ )
271      buf[i] = 0;
272}
273 
274/******************************************************/
275void loop()
276{
277  setup();
278  // счетчик циклов обновления
279  unsigned int counter = 0;
280  // Счетчик
281  int cnty = 40;
282   
283  for( ; ; )
284  {
285    upload( img_buf );
286    if ( counter % 100 == 0 )
287    {
288      clear_buf( img_buf );
289 
290      // Увеличения координаты вывода значения 10-ов мс
291      // формирование бегущей строки
292      --cnty;
293      // Если выехали за край индикатора - начнаем сначала
294      if ( cnty == 0 )
295        cnty = 40;
296      // Получаем заначение мс с момента старта системы
297      unsigned long time = millis() / 10;
298      // Вывод бегущей строкой 10-ов мс
299      //put_2dig( cnty - 8 , 8 , ( time % 100 ) );
300      //put_2dig( cnty - 8 , 8 , ( 7 ) );
301      //put_2let( cnty - 8 , 8 , (0) );
302      //time /= 300;
303      // Вывод десятков секунд
304      put_2dig( 20, 0 , RTC.get(DS1307_SEC,true));
305      //time /= 300;
306      // Вывод сотен секунд
307      put_2dig( 10, 0 , RTC.get(DS1307_MIN,false));
308      //time /= 300;
309      // Вывод десятков тысяч секунд
310      put_2dig( 0, 0 , RTC.get(DS1307_HR,false));
311      //delay(1000);
312      put_2dig( cnty - 20, 8 , RTC.get(DS1307_YR,true));
313      //time /= 300;
314      // Вывод сотен секунд
315      put_2dig( cnty - 10, 8 , RTC.get(DS1307_MTH,false));
316      //time /= 300;
317      // Вывод десятков тысяч секунд
318      put_2dig( cnty - 0, 8 , RTC.get(DS1307_DATE,false));
319    }
320    counter++;
321//    delay(1);
322  }
323   
324}

 

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Всем привет. Помогите соеденить P10+arduino mega + DMD2 библиотеку. Примеры Волгоград и круг с квадратом работают. Менял пины, изменял номера выводов в библиотеке - всё безрезультатно!

MikSer
Offline
Зарегистрирован: 27.01.2012

Код покажи. Схему соединений опиши, что ли...

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Сама либа по адресу https://github.com/freetronics/DMD2

код  Волгоград и круг из этой темы, подключение к панели

6 A
7 B
8 SCLK
9 OE
51 R
52 CLK

скетч любой из примера к библиотеке не работает

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Неужели никто не знает?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а ты думаешь у каждого второго такая панель?

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Не факт :)

Скорее всего проблема с пинами при подключении, потому что примеры Волгоград и круг работают, на Arduino Nano панель работает на либе DMD2, а вот на 2560 отказывается хотя пишут что DMD2 поддерживает 2560

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

какие пины на нано испльзовал? какие на меге?

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Nano - 6, 7, 8, 9, 11, 13

mega 6, 7, 8, 9, 51, 52 не работает

пример волгоград 

pinData1 10
define pinClk 9
define pinStr 8
define pinEn 7
define pinA 11
define pinB 12

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

хз вроде все правильно

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

менял пины в либе для 2560, тоже не помогает

MikSer
Offline
Зарегистрирован: 27.01.2012

А Вы внимательно прочли весь топик?

А Вы пробовали использовать либу DMD2 где реализованна другая инициализация объекта DMD?

01#define DISPLAYS_ACROSS 4
02#define DISPLAYS_DOWN 1
03#define pin_noe 4
04#define pin_a 5
05#define pin_b 6
06#define pin_sck 8
07#define pin_clk 7
08#define pin_r_data 9
09 
10SoftDMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN, pin_noe, pin_a, pin_b, pin_sck, pin_clk, pin_r_data);

например так. Яркостью не баловались? И лучше предоставить Ваш код, дабы не плодить полемику.

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Про неё (DMD2) речь и идёт. Код из примеров к этой либе.

Рабочий день закончился, завтра отпишусь!

 

rndvip
Offline
Зарегистрирован: 04.03.2012

 C DMD2 проблема была в том что яркость 255, а у меня это минимальная яркость. Чтоб было вино надо ставить яркость в 0. И еще, изображение всегда инверсировано (GRAPHICS_ON и GRAPHICS_OFF). 

У меня еще проблема в том что панели с двумя светодиодами на пиксель (RG), допилил для отображения 3-х цветов.

Исмпользую Arduino DUE.

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Мда, на DMD текст бежал намного красивее чем на DMD2 :(

rndvip
Offline
Зарегистрирован: 04.03.2012

Не обратил внимание...прям заметно "хуже"?

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

На 6 матрицах, DMD и Nano текст бежал без рывков и подрагиваний. На Mega, DMD2 одной матрице дергается :(

rndvip, поделитесь наработками по данному вопросу

rndvip
Offline
Зарегистрирован: 04.03.2012

Чем именно? Поправленной DMD2 для двух цветов?

rndvip
Offline
Зарегистрирован: 04.03.2012

.

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

Можно и для двух цветов. Было бы отлично увидеть все коды что есть у Вас по DMD и DMD2. Заранее спасибо!

rndvip
Offline
Зарегистрирован: 04.03.2012

https://drive.google.com/file/d/0B1AvxFrBdup_QkxBLURkZmN2Rzg/view?usp=sharing

Три разноцветных кружка.

1_dmd->drawCircle(56,8,7,GRAPHICSCOLOR_YELLOW);
2_dmd->drawCircle(72,8,7,GRAPHICSCOLOR_GREEN);
3_dmd->drawCircle(88,8,7,GRAPHICSCOLOR_RED);

 

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

rndvip, есть принципиальная разница как инициализировать DMD? (SPIDMD, SoftDMD)

rndvip
Offline
Зарегистрирован: 04.03.2012

maloicds пишет:

rndvip, есть принципиальная разница как инициализировать DMD? (SPIDMD, SoftDMD)

Я, признаться, не вдавался в подробности. Я использую софт, так как мне важнее чтоб проводки красивее лежали))

maloicds
maloicds аватар
Offline
Зарегистрирован: 21.03.2013

ок, спасибо!

fed
Offline
Зарегистрирован: 06.09.2015

Есть панель, но у неё экран поделен на две части по горизонтале, соответственно два входа данных R1, R2. Брал пример из поста № 40, методом тыка вывел слово на экран но только на верхнюю часть через вход R1, если параллельно R1 подключить R2 сответственно слово дублируется на нижнюю часть экрана. Как отдельно писать в нижнюю часть экрана? 

tika
Offline
Зарегистрирован: 22.07.2015

Большое Спасибо за помощь - и ненадеялся . Попробую подсоединить к UNO  и найти управление. Просто за это БЛАГОДАРЕН.

Японимаю, что Pin2,3  на UNO это 9,10 пока и все - тяжко. Как подсоединить к UNO?

Если есть возможност направте в нужное русло. Спасибо за терпение .

Думаю-так 2-OE, 3-A, 4-B, 11-DATA, 5-LOAD, 13-CLK.  по управлениюдисплеем.

Но главное пишел сразу ош-ку при залитие даже без подсоединения д-лея в чем может быть дело?

 

Arduino: 1.6.0 (Windows 8), Плата "Arduino Uno"
 
sketch_PROBA_LED.ino: 4: 24: фатальная ошибка: DMD.h: Нет такого файла или каталога
сборник прекращается.
Ошибка компиляции.
 
   Этот отчет будет иметь больше информации с
   "Отображать вывод во время компиляции"
   включен в File> Preferences.
tika
Offline
Зарегистрирован: 22.07.2015

Здравствуйте MikSer - без вашей помощи просто не обойтись. я просто сборщик ваших творений-который нуждается Вас. Помогите.

MikSer
Offline
Зарегистрирован: 27.01.2012

Это все очень печально. Начни с установки библиотеки DMD.

https://github.com/freetronics/DMD 

Далее попробуй стандартные примеры что ли. 

Так подключи.

Не забудь дать 5 вольт на панель, минуса соедини с МК. Учти 2 ампера на одну панель.

tika
Offline
Зарегистрирован: 22.07.2015

Здравствуйте  MikSer.Принял вашу критику и установил DMD, TimerOne, Bounce2- и все заработало. Спасибо за терпение. Не могу убрать до100,   еще если работает  1 секундомер то расположение было бы по середине. 

MikSer СПАСИБО