Связка 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?

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

#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 
#define PIN_DMD_A         11    // D6
#define PIN_DMD_B         12    // D7
#define PIN_DMD_CLK       9   // D13_SCK  is SPI Clock if SPI is used
#define PIN_DMD_SCLK      8    // D8
#define PIN_DMD_R_DATA    10   // D11_MOSI is SPI Master Out if SPI is used
Как в примере про Волгоград
#define pinData1 10
#define pinClk  9
#define pinStr  8
#define pinEn  7
#define pinA  11
#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)

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

//Arduino pins used for the display connection
#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.
#define PIN_DMD_A         6    // D6
#define PIN_DMD_B         7    // D7
#define PIN_DMD_CLK       13   // D13_SCK  is SPI Clock if SPI is used
#define PIN_DMD_SCLK      8    // D8
#define PIN_DMD_R_DATA    11   // D11_MOSI is SPI Master Out if SPI is used
//Define this chip select pin that the Ethernet W5100 IC or other SPI device uses
//if it is in use during a DMD scan request then scanDisplayBySPI() will exit without conflict! (and skip that scan)
#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 библиотеки. В зависимости как его назвал в исходнике объявляеш его.

#include "Small.h"
.................
dmd.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 библиотеки. В зависимости как его назвал в исходнике объявляеш его.

#include "Small.h"
.................
dmd.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 - но ни к чему не привело. Попробывал убрать следующую проверку:

if( digitalRead( PIN_OTHER_SPI_nCS ) == HIGH )

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

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

void 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 линии. Программу использовал с волгоградом и счетчик

/**
 * Программа "счетчик секунд"
 */
// inslude the SPI library:
#include <SPI.h>
#include <Wire.h>
#include <DS1307.h>


const int pin_OE = 7;
const int pin_LD = 6;
const int pin_A  = 2;
const int pin_B  = 3;
const int pin_C  = 4;
const int pin_D  = 5;
//const int load  = 8;

// Буфер индикатора
unsigned long img_buf[ 16 ];

/**
 * Массив знакогенератора для цифр: 0 - 9
 */
const char digits[ 11 * 8 ] = 
{ //0
  0b00000,
  0b01100,
  0b10010,
  0b10010,
  0b10010,
  0b10010,
  0b01100,
  0b00000,
  //1 
  0b00000,
  0b00100,
  0b01100,
  0b00100,
  0b00100,
  0b00100,
  0b01110,
  0b00000,
  //2
  0b00000,
  0b01100,
  0b10010,
  0b00100,
  0b01000,
  0b10000,
  0b11110,
  0b00000,
  //3
  0b00000,
  0b11100,
  0b00010,
  0b01100,
  0b00010,
  0b00010,
  0b11100,
  0b00000,
  //4 
  0b00000,
  0b10010,
  0b10010,
  0b10010,
  0b11110,
  0b00010,
  0b00010,
  0b00000,
  //5
  0b00000,
  0b11110,
  0b10000,
  0b11100,
  0b00010,
  0b10010,
  0b01100,
  0b00000,
  //6
  0b00000,
  0b01110,
  0b10000,
  0b11100,
  0b10010,
  0b10010,
  0b01100,
  0b00000,
  // 7
  0b00000,
  0b11110,
  0b00010,
  0b00010,
  0b00100,
  0b01000,
  0b01000,
  0b00000,
  // 8
  0b00000,
  0b01100,
  0b10010,
  0b01100,
  0b10010,
  0b10010,
  0b01100,
  0b00000,
  // 9
  0b00000,
  0b01100,
  0b10010,
  0b10010,
  0b01110,
  0b00010,
  0b01100,
  0b00000,
  // a
  0b00000,
  0b11100,
  0b10010,
  0b01110,
  0b10010,
  0b10010,
  0b01101,
  0b00000,
};

const char letters[ 1 * 8 ] = 
{
  // a
  0b00000,
  0b10010,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b10010,
  0b00000,
};

/**
  * Аппаратные настройки
  */
void setup()
{
    pinMode (pin_A , OUTPUT);
    pinMode (pin_B , OUTPUT);
    pinMode (pin_C , OUTPUT);
    pinMode (pin_D , OUTPUT);
    pinMode (pin_OE, OUTPUT);
    pinMode (pin_LD, OUTPUT);
    //pinMode (load, OUTPUT);
    // initialize SPI:
    SPI.setClockDivider(SPI_CLOCK_DIV2);
    SPI.begin();
    //SPI.setClockDivider(SPI_CLOCK_DIV2);
    //Serial.begin(115200);

}
/**
 * Вспомогательная функция: 
 * Вычисление значения data
 * @param row — номер строки
 * @param buf — указатель на буфер индикатора
 * @param regn — номер регистра индикатора
*/
int get_img_byte(unsigned long* buf, int col , int regn )
{
  int res = 0;
  int m = 24 - ( ( regn / 4 ) * 8 );
  int n = ( 15 - ( ( regn % 4 ) * 4 ) -  col );
  return buf[n]>> m;
  
}
/**
 * Переключение строк 
 * @param row — номер строки
 */
void set_row( int row )
{
  // Приводим row к нужному виду
  row &= 0x0F; //03
  row = 15 - row;
  // Отключаем индикацию
  digitalWrite( pin_OE , LOW );
  //digitalWrite( load , LOW );
  // Переключаем ножк дешифратора
  digitalWrite( pin_A , ( row & 1 ) && HIGH );
  digitalWrite( pin_B , ( row & 2 ) && HIGH );
  digitalWrite( pin_C , ( row & 4 ) && HIGH );
  digitalWrite( pin_D , ( row & 8 ) && HIGH );
  // Выводим синхроимпульс регистра с параллельной загрузкой
  digitalWrite( pin_LD , HIGH );
  digitalWrite( pin_LD , LOW );
  // Включаем индикацию
  digitalWrite( pin_OE , HIGH );
  //digitalWrite( load , HIGH );
}
/** 
 * Обновления индикатора - улучшеная версия
 * @param buf — указатель на буфер индикатора
 */
void upload( unsigned long*  buf )
{
  int regn;
  static int col = 0;
  if( col >= 4 )
      col = 0;
  
  for( regn = 0 ; regn < 16 ; regn++ )
      SPI.transfer( ~get_img_byte( buf , col , regn ) );     
  
  set_row( col );     
  ++col;
}
/**
 * Вывод цифры
 * @param x - координата x
 * @param y - координата y
 * @param dig - цифра
 */
void put_digit( int x , int y , int dig )
{
  for( int i = 0 ; i < 8 ; i++ )
  {
    if( ( ( i + y ) > 15 ) || ( ( x ) > 26 ) ||
        ( ( i + y ) < 0 ) || ( ( x ) < 0 ) )
      continue;
    unsigned long tmp = ( ( unsigned long ) digits[ dig * 8 + i ] << ( 26 - x ) );
    img_buf[ i + y ] |= tmp;
  }
}
//---------------------------------------------------
void put_letter( int x , int y , int let )
{
  for( int i = 0 ; i < 8 ; i++ )
  {
    if( ( ( i + y ) > 15 ) || ( ( x ) > 26 ) ||
        ( ( i + y ) < 0 ) || ( ( x ) < 0 ) )
      continue;
    unsigned long tmp = ( ( unsigned long ) letters[ let * 8 + i ] << ( 26 - x ) );
    img_buf[ i + y ] |= tmp;
  }
}
//--------------------------------------------------
/**
 * Вывод двузначного числа
 * @param x - координата x
 * @param y - координата y
 * @param dig - число
 */
void put_2dig( int x , int y , int d )
{
  put_digit( x + 5, y , d % 10 );
  d /= 10;
  put_digit( x , y , d % 10 );  
}
//-------------------------------------------------
void put_2let( int x , int y , int l )
{
  put_letter( x + 5, y , l % 10 );
  l /= 10;
  put_letter( x , y , l % 10 );  
}
//-------------------------------------------------
/**
 * Очистка буфера индикатора
 * @param buf — указатель на буфер индикатора
 */
void clear_buf( unsigned long*  buf )
{
  for( int i = 0 ; i < 16 ; i++ )
      buf[i] = 0;
}

/******************************************************/
void loop()
{
  setup();
  // счетчик циклов обновления 
  unsigned int counter = 0;
  // Счетчик 
  int cnty = 40;
  
  for( ; ; )
  {
    upload( img_buf );
    if ( counter % 100 == 0 )
    {
      clear_buf( img_buf );

      // Увеличения координаты вывода значения 10-ов мс 
      // формирование бегущей строки
      --cnty;
      // Если выехали за край индикатора - начнаем сначала
      if ( cnty == 0 )
        cnty = 40;
      // Получаем заначение мс с момента старта системы
      unsigned long time = millis() / 10;
      // Вывод бегущей строкой 10-ов мс
      //put_2dig( cnty - 8 , 8 , ( time % 100 ) );
      //put_2dig( cnty - 8 , 8 , ( 7 ) );
      //put_2let( cnty - 8 , 8 , (0) );
      //time /= 300;
      // Вывод десятков секунд
      put_2dig( 20, 0 , RTC.get(DS1307_SEC,true));
      //time /= 300;
      // Вывод сотен секунд
      put_2dig( 10, 0 , RTC.get(DS1307_MIN,false));
      //time /= 300;
      // Вывод десятков тысяч секунд
      put_2dig( 0, 0 , RTC.get(DS1307_HR,false));
      //delay(1000);
      put_2dig( cnty - 20, 8 , RTC.get(DS1307_YR,true));
      //time /= 300;
      // Вывод сотен секунд
      put_2dig( cnty - 10, 8 , RTC.get(DS1307_MTH,false));
      //time /= 300;
      // Вывод десятков тысяч секунд
      put_2dig( cnty - 0, 8 , RTC.get(DS1307_DATE,false));
    }
    counter++;
//    delay(1);
  }
  
}

 

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?

#define DISPLAYS_ACROSS 4
#define DISPLAYS_DOWN 1
#define pin_noe 4
#define pin_a 5
#define pin_b 6
#define pin_sck 8
#define pin_clk 7
#define pin_r_data 9

SoftDMD 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

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

_dmd->drawCircle(56,8,7,GRAPHICSCOLOR_YELLOW);
_dmd->drawCircle(72,8,7,GRAPHICSCOLOR_GREEN);
_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 СПАСИБО