Страница 11 из 17 ПерваяПервая ... 567891011121314151617 ПоследняяПоследняя
Показано с 101 по 110 из 164
  1. #101
    Пользователь
    Регистрация
    19.08.2009
    Сообщений
    58
    Вес репутации
    285

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

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

Название:	1.png 
Просмотров:	1270 
Размер:	101.7 Кб 
ID:	17840
    Нажмите на изображение для увеличения. 

Название:	2.png 
Просмотров:	1165 
Размер:	92.0 Кб 
ID:	17841
    В случаи совместного использования с Arduino(скетч в архиве) позволяет, записывать/читать как по символьно, так и всю EEPROM.
    Программка писалась для себя, но может кому еще будет полезна, для запуска требуется наличие net framework 3.5.
    В качестве подопытного была вот такая платка.
    Нажмите на изображение для увеличения. 

Название:	36844.jpg 
Просмотров:	737 
Размер:	51.3 Кб 
ID:	17842

    FrontEditor.zip

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

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Спасибо! Полезная программа
    Последний раз редактировалось Chip; 24.06.2014 в 23:50.

  3. #103
    Пользователь
    Регистрация
    13.02.2009
    Сообщений
    52
    Вес репутации
    197

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Доброго времени суток. Собрал устройств, шрифты залил, но на экране не понятные кракозябры
    Вложение 18474
    В чем может быть проблема? Пробовал уже и стандартные шрифты загружать, ничего не изменилось.
    Высокий уровень Децибел опасен для здоровья!!!

  4. #104
    Пользователь
    Регистрация
    13.02.2009
    Сообщений
    52
    Вес репутации
    197

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Как с помощью данного кода вывести на экран значение переменной?
    Высокий уровень Децибел опасен для здоровья!!!

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

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    преобразовать переменную в ASCII

  6. #106
    Новичок
    Регистрация
    05.04.2014
    Сообщений
    2
    Вес репутации
    0

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    А под Arduino ESP8266 кто-нибудь цеплял это чудо? У меня в лоб не получилось:-(

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

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Я подключал WiFi модуль ESP8266 к ардуино, крайне на стабильно работает. Постоянно подвисает
    Последний раз редактировалось Chip; 11.04.2016 в 19:43.

  8. #108
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    43
    Сообщений
    28
    Вес репутации
    98

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от Chip Посмотреть сообщение
    Проекты с использованием дополнительных ЖКИ дисплеев меня как то не устраивали, потому что при их использовании требуется дополнительное место установки , лепка рамки и много других трудностей. К тому же у меня в автомобиле уже есть Монитор . Так что осталось состыковать Carduino/Arduino с моим монитором. Вариант использования микросхемы MAX7456 нашел сразу , а вот протестировать получилось спустя несколько месяцев.



    Для чего это нужно?
    Для того что бы в случай умирания компа я мог управлять любыми системами автомобиля.
    Например:
    Панель приборов
    Климат контроль
    Управление навесным оборудованием, противотуманки, люк, стеклоподьемники и др.
    Окочательным решением в пользу использования CarduinoVideioCard стало USB FM Radio(Carduino Radio), в случаи слета операционки или других неполадок я останусь без Радио. Для этого мной также было проделана определенная работа с Carduino TouchScreen , так как перспектива использования доп кнопок меня тоже напрягала.

    Перехожу к конкретике.
    Микросхема OSD MAX7456 умеет накладывать хранящиеся в ней символы на любое изображение. Так же умеет формировать свою синхру и работать без видео источника. Выход микросхемы подключается к свободному видео входу на мониторе AV1
    Вложение 8301

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

    схема CarduinoVideoCard
    Вложение 8300




    Scetch для Arduino nano/Carduino Nano

    PHP код:
    #define DATAOUT 11//MOSI
    #define DATAIN  12//MISO
    #define SPICLOCK  13//sck
    #define MAX7456SELECT 10//ss

    #define DMM_reg   0x04
    #define DMAH_reg  0x05
    #define DMAL_reg  0x06
    #define DMDI_reg  0x07
    #define VM0_reg   0x00
    #define VM1_reg   0x01

    #define VIDEO_BUFFER_DISABLE 0x01
    #define MAX7456_RESET 0x02
    #define VERTICAL_SYNC_NEXT_VSYNC 0x04
    #define OSD_ENABLE 0x08
    #define SYNC_MODE_AUTO 0x00
    #define SYNC_MODE_INTERNAL 0x30
    #define SYNC_MODE_EXTERNAL 0x20
    #define VIDEO_MODE_PAL 0x40
    #define VIDEO_MODE_NTSC 0x00

    #define BLINK_DUTY_CYCLE_50_50 0x00
    #define BLINK_DUTY_CYCLE_33_66 0x01
    #define BLINK_DUTY_CYCLE_25_75 0x02
    #define BLINK_DUTY_CYCLE_75_25 0x03

    #define BLINK_TIME_0 0x00
    #define BLINK_TIME_1 0x04
    #define BLINK_TIME_2 0x08
    #define BLINK_TIME_3 0x0C

    #define BACKGROUND_BRIGHTNESS_0 0x00
    #define BACKGROUND_BRIGHTNESS_7 0x10
    #define BACKGROUND_BRIGHTNESS_14 0x20
    #define BACKGROUND_BRIGHTNESS_21 0x30
    #define BACKGROUND_BRIGHTNESS_28 0x40
    #define BACKGROUND_BRIGHTNESS_35 0x50
    #define BACKGROUND_BRIGHTNESS_42 0x60
    #define BACKGROUND_BRIGHTNESS_49 0x70

    #define BACKGROUND_MODE_GRAY 0x40

    #define CLEAR_display 0x04
    #define CLEAR_display_vert 0x06
    #define END_string 0xff
    #define ENABLE_display 0x08
    #define ENABLE_display_vert 0x0c
    #define MAX7456_reset 0x02
    #define DISABLE_display 0x00


    #define WHITE_level_80 0x03
    #define WHITE_level_90 0x02
    #define WHITE_level_100 0x01
    #define WHITE_level_120 0x00

    #define MAX_screen_size 390
    #define MAX_screen_rows 16

     
    byte spi_junkeeprom_junk;
     
    int x;
    //////////////////////////////////////////////////////////////
    void setup()
    {
      
    Serial.begin(115200);
      
    Serial.flush();

      
    pinMode(MAX7456SELECT,OUTPUT);
      
    digitalWrite(MAX7456SELECT,HIGH); 

      
    pinMode(DATAOUTOUTPUT);
      
    pinMode(DATAININPUT);
      
    pinMode(SPICLOCK,OUTPUT);
      
    pinMode(VSYNCINPUT);

      
    SPCR = (1<<SPE)|(1<<MSTR);
      
    spi_junk=SPSR;
      
    spi_junk=SPDR;
      
    delay(250);

      
    digitalWrite(MAX7456SELECT,LOW);
      
    spi_transfer(VM0_reg);
      
    spi_transfer(MAX7456_reset);
      
    digitalWrite(MAX7456SELECT,HIGH);
      
    delay(500);

      
    digitalWrite(MAX7456SELECT,LOW);
      for (
    0MAX_screen_rowsx++)
      {
        
    spi_transfer(0x10);
        
    spi_transfer(WHITE_level_90);
      }

      
    spi_transfer(VM0_reg);
        
    spi_transfer(VERTICAL_SYNC_NEXT_VSYNC|OSD_ENABLE|VIDEO_MODE_PAL);

      
    spi_transfer(VM1_reg);
      
    spi_transfer(BLINK_TIME_3);

      
    digitalWrite(MAX7456SELECT,HIGH);
      
    delay(100);
    }
     
    /////////////////////////////////////////////////////////////
    void loop()
    {
      
    OSD_write_to_screen("http://compcar.ru"210,1);
      
    OSD_write_to_screen("http://compcar.ru"220,0);
      
    OSD_write_to_screen("Привет!!!"1161,1); 
      
    OSD_write_to_screen("ПРИВЕТ!!!"1171,0);
      
    OSD_write_to_screen("http://compcar.ru"13130,1);
      
    OSD_write_to_screen("http://compcar.ru"13140,0);

      
    delay(5000);
    }
    //////////////////////////////////////////////////////////////
    byte spi_transfer(volatile byte data)
    {
      
    SPDR data;            
      while (!(
    SPSR & (1<<SPIF)))  
      {
      };
      return 
    SPDR;        
    }
    // ============================================================   
    void OSD_write_to_screen(const char s[], byte xbyte ybyte blinkbyte invert){
      
    unsigned int linepos;
      
    byte local_count;
      
    byte settingschar_address_hichar_address_lo;
      
    byte screen_char;

      
    local_count 0;

      
    char_address_hi 0;
      
    char_address_lo 0;

      
    linepos y*30+x;

      
    char_address_hi linepos >> 8;
      
    char_address_lo linepos;

      
    settings B00000001;

      if (
    blink) {
        
    settings |= (<< 4);    
      }

      if (
    invert){
        
    settings |= (<< 3);    
      }


      
    digitalWrite(MAX7456SELECT,LOW);

      
    spi_transfer(DMM_reg); 
      
    spi_transfer(settings);

      
    spi_transfer(DMAH_reg); 
      
    spi_transfer(char_address_hi);

      
    spi_transfer(DMAL_reg); 
      
    spi_transfer(char_address_lo);

      while(
    s[local_count]!='\0'
      {
        
    screen_char s[local_count];
          if(
    screen_char != 208 && screen_char != 209)
          {
            
    spi_transfer(DMDI_reg);
            
    spi_transfer(screen_char);
          }
        
    local_count++;
      }

      
    spi_transfer(DMDI_reg);
      
    spi_transfer(END_string);

      
    spi_transfer(DMM_reg); 
      
    spi_transfer(B00000000);

      
    digitalWrite(MAX7456SELECT,HIGH);

    Здравствуйте. В первом посте есть программа для ардуины (скетч - не приятное слово). Так вот, при его проверке Вылезает ошибка: pinMode(VSYNC, INPUT); - эта переменная не задекларирована.
    Из задекларированных:
    #define DATAOUT 11//MOSI
    #define DATAIN 12//MISO
    #define SPICLOCK 13//sck
    #define MAX7456SELECT 10//ss
    Но у вас как-то работало? Или вы не собирали?
    Я эту ошибку у многих в коде вижу, все откуда-то копипастили видимо. Какой это номер пина и для чего он нужен?

  9. #109
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    43
    Сообщений
    28
    Вес репутации
    98

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Сам нашел случайно в другом коде надо добавить строчку: #define VSYNC 0x02// INT0

  10. #110
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    43
    Сообщений
    28
    Вес репутации
    98

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Кто может прокомментировать код, не совсем понимаю, как происходит обмен Ардуино с MAX7456. Вначале мы присваиваем значение константам, которыми будем оперировать в коде? То есть, вызов константы например DMM_reg, даст нам значение 0х04, я правильно понимаю? Передача этого значения по SPI интерфейсу в MAX7456... тут не понимаю, что происходит. Ткните носом в литературу, а то не могу даже запрос в яндекс сформировать. Может туплю конечно.

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

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

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

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

Ваши права

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