Пятница, 29.03.2024, 00:51
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Реклама Google
Форма входа
Категории раздела
Это нужно знать! [17]
Изучаем AVR [30]
Программаторы [12]
Необходимое ПО [8]
Готовые устройства [73]
Справочная [38]
Инструмент [0]
Технология [8]
Литература [0]
Arduino скетчи [18]
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Микроконтроллеры - это просто!
Главная » Статьи » Arduino скетчи

Подключаем дисплей от Siemens C55/A55/A52

В одной из своих разработок мне потребовалось использовать небольшой монохромный графический LCD экран для вывода информации. Технической информации по нему, кроме распиновки, в интернете найти не удалось, зато вариантов графической библиотеки для дисплея от Nokia 3310 обнаружилось минимум варианта три. На мое счастье эти дисплеи оказались очень похожими. 

Краткое описание LCD Siemens C55/A55/A52

В дисплее стоит контроллер PCF8812, или очень на него похожий. Максимальное разрешение для контроллера - 102 х 65 точек. Разрешение LCD Siemens C55 - 101 х 64 точки. В дисплее они используются совершенно непонятным для меня образом: вместо 102 точек отображаются только 101, а один столбец просто не использован (но при адресации памяти контроллера всё-равно существует), что при программировании вызывает некоторые ньюансы. Отстутствие одной строки не так критично и на удобстве программирования не сказывается.

       

 

При использовании дисплея следует учесть одну тонкость, оговоренную в даташите на контроллер мелким шрифтом: сигнал сброса должен быть активизирован _ДО_ подачи питания, либо не позже, чем 1 мкс после. То есть, сначала обнуляем RST, а потом подаем VDD!

Физический интерфейс у дисплея проблем не вызывает: классический SPI, работающий только на ввод. Инициализация и вывод информации (когда уже знаешь, как оно должно быть!) тоже просты до безобразия. Картинка четко видна без подсветки. По сравнению с Nokia 3310 - точки мельче, зато их число несколько больше. 

Железо

Дисплей подключается к Arduino по следующей схеме:

 

Если верить даташиту на PCF8812 допустимо использование питания 5V. К выводам 7 и 6 дисплея подключается конденсатор емкостью 4.7 мкФ.

Софт

Для работы дисплея подключаем библиотеку U8glib v1.15. Она отличается от стандартной:

  • внесены изменения в инициализацию дисплея.
  • добавлен русский язык 5x7.

Для подключения используем директиву #include, а для настройки необходимо раскоментировать строку с нашим дисплеем. В данном случае U8GLIB_PCF8812. Чтобы использовать русский шрифт вставляем строку u8g.setFont(u8g_font_my5x7rus). Внутри имеются примеры. Вот один из них:

#include "U8glib.h"

U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8);

void draw(void) {

  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 20); 
  u8g.print("Hello World!");}

 

void setup(void) {
}

 

void loop(void) {

  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
delay(500);
}

 

Оригинальная версия библиотеки u8glib_arduino_v1.16

Категория: Arduino скетчи | Добавил: Alex (04.07.2014)
Просмотров: 17020 | Комментарии: 5 | Рейтинг: 3.8/6
Всего комментариев: 4
4 sie8  
0
=При использовании дисплея следует учесть одну тонкость, оговоренную в даташите на контроллер мелким шрифтом: сигнал сброса должен быть активизирован _ДО_ подачи питания, либо не позже, чем 1 мкс после. То есть, сначала обнуляем RST, а потом подаем VDD!=
Ну и где на схеме видно что ты подаешь VDD после обнуления ресета? У тебя красным проводом подается VDD от ардуины. То есть при подаче питания на ардуину сразу происходит запитка дисплея.

3 akarunik  
0
У меня всё получилось , но изображение почему кто в верх ногами перевёрнуто

2 krkysteff  
0
Как подключить дисплей дисплея булавки?

U8GLIB_PCF8812 u8g(13*, 11*, 10*, 9*, 8*); //  Не ясно сказано

   Pin 1VDD    Simens  -------Pin VDD Arduino
* Pin 2 SCK   Simens  ------- Pin ?     Arduino      
* Pin 3 MOSI  Simens  -------Pin ?     Arduino      
* Pin 4 D/C    Simens  -------Pin ?     Arduino       
* Pin 5 CS      Simens  -------Pin ?     Arduino
   Pin 6 GND   Simens  -------Pin GND Arduino
   Pin 7 Vout   Simens  -------10uF GND 
* Pin 8 RES    Simens  -------Pin ?      Arduino

поздравления  stef

1 Alex  
-1
Сложно что-то сказать, когда не видишь что и как делает другой человек...

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024