Страница 3 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 21 по 30 из 108
  1. #21
    Новичок
    Регистрация
    11.07.2011
    Возраст
    32
    Сообщений
    5
    Вес репутации
    159

    По умолчанию Re: Arduino & display siemens S65

    Цитата Сообщение от zhserg Посмотреть сообщение
    Спасибо за подсказку. Почти так и сделал, только буфер последовательного порта > 128 байт не получается применить - не работает. Но даже с буфером 126 байт скорость вывода получилась практически теоретически достижимая. На 115200 - около 7 сек. На 256000 (оказывается ардуинка и такую скорость поддерживает!!!) - около 4 сек. Эксперименты с выводом картинки завершил

    PHP код:
    #include <S65Display.h>

    S65Display lcd;

    byte volatile data[126];  //массив входных данных
    int n=0nbuf=126// индекс массива, размер буфера
    byte x=1y=1// текущие координаты

    void setup(){  
      
    //init LCD
      
    lcd.init(4); //spi-clk = Fcpu/4
      //clear screen
      
    lcd.clear(RGB(0,0,0));
      
    Serial.begin(256000);
    }

    void loop(){
     if (
    Serial.available() == nbuf) {
           for (
    int i 0nbufi++) data[i] = Serial.read();  // прочитать данные из порта в массив 
           
    for (int i 0nbuf/3i++) {
               
    lcd.drawPixel(,,RGB(data[n],data[n+1],data[n+2])); // вывод пикселя на экран
               
    x++; // увеличиваем значение X
               
    3;
               if (
    nbuf-10;
               if (
    176) {
                 
    1;
                 
    y++; // увеличиваем значение Y
                 

               }
             }

    Подскажите, пожалуйста, новичку.

    Не могу разобраться, как нужно слать ардуине. Я так понимаю что нужна последовательность RGB, например, 255044120. При отправке подобного кода ардуина рисует пиксели, но не требуемого цвета. Не знаю в каком режиме нужно слать через терминал(byte, ascii, hex, dec)?
    Еще вопрос, какой программой вы пользовались для разложения картинки на последовательность цветов пикселей?

    Chip, насчет русских шрифтов нет новостей?

  2. #22
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Arduino & display siemens S65

    В терминале нужно посылать по одному байту

  3. #23
    Новичок
    Регистрация
    11.07.2011
    Возраст
    32
    Сообщений
    5
    Вес репутации
    159

    По умолчанию Re: Arduino & display siemens S65

    Цитата Сообщение от Chip Посмотреть сообщение
    В терминале нужно посылать по одному байту
    Спасибо, разобрался! Все рисует правильно, правда скорость не выше 9600, больше не держит, ардуина самодельная, которая на arduino.cc.

    Если кто знает программу, раскладывающую картинку на последовательность цветов, буду благодарен.

  4. #24
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Arduino & display siemens S65

    Попробуй эту программу

  5. #25
    Новичок
    Регистрация
    11.07.2011
    Возраст
    32
    Сообщений
    5
    Вес репутации
    159

    По умолчанию Re: Arduino & display siemens S65

    Цитата Сообщение от Chip Посмотреть сообщение
    Попробуй эту программу
    Видел ее, к сожалению, ничего не получилось из-за ft232, при запуске жалуется на отсутствие устройства. Думал перегнать ей картинку, затем сниффером com порта перехватить данные и уж затем слать обычной терминалкой в com.

  6. #26
    Новичок
    Регистрация
    11.07.2011
    Возраст
    32
    Сообщений
    5
    Вес репутации
    159

    По умолчанию Re: Arduino & display siemens S65

    Потратив несколько часов и перепробовав кучу способ, я таки нашел решение! Скетч использовал от zhserg. Алгоритм следующий:

    1) открываем изображение в фотошопе, обрезаем до 176х132, именно такого размера, иначе изображение пойдет волной на экране.
    2) сохраняем изображение в .raw формат, ставим Save channels in: interleaved order и header 0.
    3) ставим программу com port toolkit, затем открываем наш raw файл, ставим галочку "отправка сырых данных" и жмем send.

    Для тех кто не знает, raw формат как раз представляет последовательность RGB без всего лишнего.

    ---
    Все таки моя ардуина поддерживает скорость 115200, скорость вывода картинки около 6секунд, взамен 72с. при 9600.
    Последний раз редактировалось Monk; 11.07.2011 в 20:46.

  7. #27
    Новичок
    Регистрация
    03.09.2011
    Возраст
    34
    Сообщений
    9
    Вес репутации
    157

    По умолчанию Re: Arduino & display siemens S65

    Уже третьи сутки пытаюсь инициализировать дисплей lph88. За основу взял код для LS020 отсюда, а команды инициализации отсюда. Написал скетч для Arduino, но дисплей не реагирует. Может есть люди, которые привязывали lph88 к Arduino, помогите пожалуйста. Мой код:
    PHP код:
    // lcd pins connected to corresponding lcd pins
    #define RS (4)
    #define RESET (17)
    #define CS (16)
    #define CLK (13)
    #define DAT (11)

    void setup() { 
       
    // set  output pins
       
    pinMode(RESETOUTPUT);
       
    digitalWrite(RESET,LOW); 
       
    pinMode(CSOUTPUT);
       
    digitalWrite(CS,HIGH);    
       
    pinMode(RSOUTPUT);
       
    pinMode(CLKOUTPUT);
       
    pinMode(DATOUTPUT);
       
    /**************************
        *
        * init starts here
        *
        **************************/
       
    delay(100); // wait a bit for everything to settle down... who knows
       
    digitalWrite(CSHIGH);
       
    digitalWrite(RSHIGH);
       
    digitalWrite(RESETLOW);
       
    delay(50);
       
    digitalWrite(RESETHIGH);
       
    delay(50);
       
    digitalWrite(CS,LOW);
       
    unsigned char LCD_init_masiv[70][3] ={
                                          {
    0x74,0x00,0x00}, //1 block
                                          
    {0x76,0x00,0x01},
                                          {
    0x74,0x00,0x07},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x02},
                                          {
    0x76,0x04,0x00},
                                          {
    0x74,0x00,0x04},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x0C},
                                          {
    0x76,0x00,0x01},
                                          {
    0x74,0x00,0x0D},
                                          {
    0x76,0x06,0x16},
                                          {
    0x74,0x00,0x1E},
                                          {
    0x76,0x10,0x10}, //2 block
                                          
    {0x74,0x00,0x03},
                                          {
    0x76,0x00,0x0C},
                                          {
    0x74,0x00,0x0E},
                                          {
    0x76,0x2D,0x1F},
                                          {
    0x74,0x00,0x0D},
                                          {
    0x76,0x06,0x16},
                                          {
    0x74,0x00,0x01},
                                          {
    0x76,0x02,0x15},
                                          {
    0x74,0x00,0x0F},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x0B},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x11},
                                          {
    0x76,0x00,0x00}, //3 block
                                          
    {0x74,0x00,0x06},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x05},
                                          {
    0x76,0x00,0x30},
                                          {
    0x74,0x00,0x14},
                                          {
    0x76,0xAF,0x00},
                                          {
    0x74,0x00,0x15},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x16},
                                          {
    0x76,0x83,0x00},
                                          {
    0x74,0x00,0x17},
                                          {
    0x76,0xAF,0x00},
                                          {
    0x74,0x00,0x20},
                                          {
    0x76,0x00,0x00}, //4 block
                                          
    {0x74,0x00,0x30},
                                          {
    0x76,0x00,0x00},
                                          {
    0x74,0x00,0x31},
                                          {
    0x76,0x04,0x00},
                                          {
    0x74,0x00,0x32},
                                          {
    0x76,0x02,0x07},
                                          {
    0x74,0x00,0x33},
                                          {
    0x76,0x07,0x00},
                                          {
    0x74,0x00,0x34},
                                          {
    0x76,0x00,0x05},
                                          {
    0x74,0x00,0x35},
                                          {
    0x76,0x07,0x03},
                                          {
    0x74,0x00,0x36},
                                          {
    0x76,0x07,0x07}, //5 blocl
                                          
    {0x74,0x00,0x37},
                                          {
    0x76,0x00,0x07},
                                          {
    0x74,0x00,0x3A},
                                          {
    0x76,0x12,0x00},
                                          {
    0x74,0x00,0x3B},
                                          {
    0x76,0x00,0x09},
                                          {
    0x74,0x00,0x07},
                                          {
    0x76,0x00,0x05},
                                          {
    0x74,0x00,0x07},
                                          {
    0x76,0x00,0x25},
                                          {
    0x74,0x00,0x07},
                                          {
    0x76,0x00,0x27},
                                          {
    0x74,0x00,0x07},
                                          {
    0x76,0x00,0x37}
                                         };
       
    int i;
       for(
    i=0;i<=69;i++){ 
       
    shiftOut(DATCLKMSBFIRST, (LCD_init_masiv[i][0] >> 8));
       
    shiftOut(DATCLKMSBFIRSTLCD_init_masiv[i][0]);
       
    shiftOut(DATCLKMSBFIRST, (LCD_init_masiv[i][1] >> 8));
       
    shiftOut(DATCLKMSBFIRSTLCD_init_masiv[i][1]);
       
    shiftOut(DATCLKMSBFIRST, (LCD_init_masiv[i][2] >> 8));
       
    shiftOut(DATCLKMSBFIRSTLCD_init_masiv[i][2]);
    }
       
    // were done, display doesnt need to listen anymore
       
    digitalWrite(CSHIGH);

       
    pinMode(13OUTPUT);
    }

    void loop() {
       
    // blink onboard led to signal end of init
       
    digitalWrite(13,HIGH);
       
    delay(250);
       
    digitalWrite(13,LOW);
       
    delay(250);

    У меня Arduino UNO, питание для подсветки беру внешнее 10В, а для питания самого дисплея эти же 10В через стабилизатор 3,3В. Согласование с Arduino через делители.

  8. #28
    Местный Аватар для zhserg
    Регистрация
    12.11.2010
    Сообщений
    135
    Вес репутации
    193

    По умолчанию Re: Arduino & display siemens S65

    В этой библиотеке есть lph88 закоментировано. Посмотри может поможет. Я сам не пробовал.

  9. #29
    Новичок
    Регистрация
    03.09.2011
    Возраст
    34
    Сообщений
    9
    Вес репутации
    157

    По умолчанию Re: Arduino & display siemens S65

    И эту библиотеку я пробовал, подправил 1 строчку (больше не нашел), но дисплей инициализировать не удалось.

  10. #30
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Arduino & display siemens S65

    В файле S65Display.h нужно раскоментировать твой дисплей, а ненужный закоментировать
    //Display settings
    #define S65_LS020 //LS020 type (default)
    //#define S65_LPH88 //LPH88 type
    //#define S65_L2F50 //L2F50 type

Страница 3 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •