Помогите пожалуйста подключить дисплей от Siemens A70 к Arduino!

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

На самом деле я сейчас в западной Африке и даже тут таких проблем не наблюдаю.

Судя по фото я даже не могу понять это так выводится мсаив или он так формируется. Расскажи а лучше покажи как именно подлкючён экран к контроллеру и на каком нарпряжении они работают (и частоте). 

Я всё-таки считаю что проблема с аппаратной частью. Ну еслиб на подсветку 5 вольт повесил бы, уже бы спалил, это понятно. Значит там 3,3 вольта у тебя есть. Остальное как? 

VGA
Offline
Зарегистрирован: 15.06.2015

я сейчас в западной Африке и даже тут таких проблем не наблюдаю.

 В Африке акулы

В Африке гориллы

В Африке большие злые крокодилы

А так проблем нет...

 

Значит там 3,3 вольта у тебя есть. Остальное как?

Arduino Uno 3 разных типов ( 2 китайских клона разных и оригинал с Италии Atmega 328 16 mgz) все ведут себя одинаково.
Преобразователь уровней на MOSFET (5в -2.9в или 3.25). 5v от Ардуино через DC- DC преобразователь питание LCD. Проверял при напряжении 2.9в 3.25в
Среда Arduino 1.0.8.
На сайте http://cvieth.bplaced.net/elektronik_lcd_display.html написано напряжение питание 3в при 3.5 сгорает.
В понедельник поставлю линейный стабилизатор. Еще выводил горизонтальную линию от 0,0 до 100,0.
Выводится линия в которой в цикле мигает( выводится 5 6 пихель потом 23456 потом 456 и тд.) первые вроде 6 пихелей. На следующей строке не появляются.
Может команды LCD отличаются например вместо стирания происходит сдвиг в масиве или просто не выполняется тогда она воспринимается как первые N бит и все сдвигается? Может сделать линейную программу без библиотеки и менять в ней ?

sfm
Offline
Зарегистрирован: 17.08.2014

а может попробовать поставить вот такой преобразователь уровня 5в то 3в собрал несколько схем шуршат.

на первое время место стабилизатора напряжения *питпния можно поставить последовательно *не помню 3 или 4 диода с 5 зделают примерно 3. зверство, но первие тести на них проводил. а в устройства ставил лишейний однокристальние микрухи

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

VGA пишет:

 В Африке акулы

В Африке гориллы

В Африке большие злые крокодилы

)))))) ну спасибо, рассмешил даже.....

Короче так. Вывод на экран происходит примерно так: Задаётся адрес по вертикали от 0 до 100 (101 пис)

и задаётся адрес по горизонтали от 0 до 7 (по строкам)

на каджый байт при выводе адрес задавать не надо если он идёт следующий по порядку. Например задаём (0, 0)

в нулевых координатах установятся или сбросятся соответиствующие 8 пикселов. НО....... В отличии от экрана с контроллером PCF8814, у этого (PCF8812) данные выводятся с права на лево и с верху в низ.

Теперь как работает библиотека ( в кратции и по теме):

При запуске контроллера в оперативной памяти выделяется место под двухмерный массив данных имеющий размер всего 3 строки (ну и 101 байт в ширину само собой) следовательно при выводе его на экран задайтся адрес нулевой строки и выводится байт за байном попорядку в верхние 3 строки, потом он очищается, заполняется новыми данныи и устанавливается второй раз адрес уже третей строки(четвёртой по счёту), выводится опять и опять отчищается и третий раз заполняется указывая адрес седьмой строки. Это всё происходит при одной интерации внутри операторов DO WHILE. 

Теперь пытаемся рассуждать о проблеме. Исходя из того что линии выводятся в заданных строках, то с адрасами вроде всё впорядке. Массив формируется внутри контроллера и к экрану отношения не имеет так что с его формированием тоже вроде проблем быть не может. Инициализация при старте тоже производится иначе ничего не показывал бы вобще. Я всёж настоятельно рекомендую подключить SPI через делительи напряжения как рекомендует sfm. Так обеспечится дополнительная подтяжка к "земле" что может немного стабилизоровать работу интерфейса SPI.

VGA
Offline
Зарегистрирован: 15.06.2015

Всем спасибо! Заработало!

1. Питание: у меня работает 2.3- 2.9 в. При 2.9 и выше глючит.

2. Только линейный стабилизатор!.

3. Вход LCD CS подтянуть на ноль резистор 1ком.

4.Сдох входной усилитель  осцилографа. "Иголок" не видно. :(

 

Пожелание, если можна уменьшить скорость обмена по SPI. Мне пришлось это делать при работе с драйвером  NCV7608, иногда глючил. Или ввести параметр по типу SPI.setClockDivider(SPI_CLOCK_DIV128).

kilber22
Offline
Зарегистрирован: 03.08.2015

esse erro persiste In file included from Picture.ino:2:0:

C:\Program Files (x86)\Arduino\libraries\PCF8812_NEW/girl.h:5:8: error: 'prog_uint8_t' does not name a type
 static prog_uint8_t girl[770] PROGMEM =
        ^
Picture.ino: In function 'void loop()':
Picture:11: error: 'girl' was not declared in this scope
'girl' was not declared in this scope
 
kilber22
Offline
Зарегистрирован: 03.08.2015

эта ошибка устранена в каждом эскизе, как я могу решить эту проблему?

In file included from Picture.ino:2:0:

C:\Program Files (x86)\Arduino\libraries\PCF8812_NEW/girl.h:5:8: error: 'prog_uint8_t' does not name a type
 static prog_uint8_t girl[770] PROGMEM =
        ^
Picture.ino: In function 'void loop()':
Picture:11: error: 'girl' was not declared in this scope
'girl' was not declared in this scope
 
hugoboss317
Offline
Зарегистрирован: 21.03.2013

Это из примера?

Библиотека в правильном месте?

kilber22
Offline
Зарегистрирован: 03.08.2015

pcf8812_new библиотека
да библиотека в библиотеке Arduino
Я сделал все свои знания и ошибки по-прежнему
Описание ошибки заметить д и ошибки команды Q была написана неправильно уже попробовал все, чтобы мое внимание, как я больше Роби не много знаю о командах.
Arduino: 1.6.5 (Windows 7) Карты: "Arduino Duemilanove или Diecimila, ATmega328"

В файле включен с Test_Fonts.ino: 2: 0:
C: \ Program Files (x86) \ Arduino \ библиотеки \ PCF8812_NEW / font_5x5.h: 8: 8: ошибка: 'prog_uint8_t "не называет тип
  статическая prog_uint8_t font_5x5 [] = PROGMEM
         ^
Test_Fonts.ino: В функции 'пустота петля ():
Test_Fonts: 11: ошибка: 'font_5x5 "не был объявлен в этой области
"Font_5x5" не был объявлен в этой области

kilber22
Offline
Зарегистрирован: 03.08.2015

спасибо за внимание

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

Я понял что это примеры из бибы но всёж просьба показывать тут что компелируется, точнее не компелируется.

Если это тот самый пример и чем то не нравиться шрифт 5х5, то можно попробовать его не включать а в теле основного цикла заменить его на 5х8

#include <PCF8812_new.h> 
//#include "font_5x5.h"
#include "font_5x8.h"
#include "font_7x15.h"
#include "font_10x16.h"

void setup(){
  LcdInit(10, 9, 8, 7, 6);  //CS, RESET, D/C, CLK, DATA
}

void loop(){
  LcdPageONE();
  do{
    LcdsetFont(font_5x8);   // тут 5х8
    LcdGotoXY(0, 0);
    LcdPrint("1234567890abcABCD\n", ON, 1);
    LcdsetFont(font_5x8);
    LcdPrint("1234567890abcdабв\n", ON, 1);
    LcdsetFont(font_7x15);
    LcdPrint("1234567890\n", ON, 1);
    LcdsetFont(font_10x16);
    LcdPrint("012345678", ON, 1);
  }
  while(LcdPageTWO());
  delay(1000);
}

Хотя я подозреваю, что теперь компилятору не понравться 5х8, т.к. все шрифты я формировал одинаково

kilber22
Offline
Зарегистрирован: 03.08.2015

Мне удалось решить эту библиотеку форму 5x5.h или lion.h вам обмен

static prog_uint8_t font_7x15[] PROGMEM=

и только обмен для этого

static _uint8_t font_7x15[] = 

kilber22
Offline
Зарегистрирован: 03.08.2015

спасибо за помощь в следующем

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

Рад что всё получилось, удачи!

sfm
Offline
Зарегистрирован: 17.08.2014

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

Вам огромное спасибо за помощь.
hugoboss317
Offline
Зарегистрирован: 21.03.2013

Всегда пожалуйста...

В библиотеку добавил пару новых шрифтов, один и них с русскими символами. Если интересно перезагрузите с диска. Пост 77

sfm
Offline
Зарегистрирован: 17.08.2014

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

Vodspb
Offline
Зарегистрирован: 22.02.2016

загрузил библиотеку с диска, ни один пример не компиллируется, версия 1.6.7
можно узнать для какой версии эта библитека?
заранее спасибо.

Vodspb
Offline
Зарегистрирован: 22.02.2016

если делать по примеру kilber22, шрифты хранятся в оперативке и ее не хватает.

satman123
Offline
Зарегистрирован: 11.02.2016

Уважаемый hogoboss317!
Прошу не пинать за чайникове пару вопросов ;)

1.Железный: подключаюсь на про мини 3V 8Mz - к каим ногам подключить уверенно - я так понимаю можно без резюков

2.Програмный: ни в какую не компилируется ни один из примеров, вылетают ошибки как в топике
предполагаю или у меня не всё установлено и не все библиотеки или я корявыми ручками что то не так нажимаю

конечно я ещё раз прочитаю форум но хотелось бы увидеть правильный код

С уважением к сообществу

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

Пойдём попорядку:

Да, если 3 В, то можно без резюков.

В какой версии компелируешь и какие ошибки выходят?

Вот только что откомпелировал (что то со шрифтом связанное) в версии 1.0.5

"Размер скетча в двоичном коде: 5 800 байт (из 28 672 байт максимум)"
#include <PCF8812_new.h> 
#include "font_16x32.h"
#include "font_5x8.h"
#include "font_16x24.h"
#include "font_10x16.h"
uint8_t var, st, en;
void setup(){
  LcdInit(2, 1, 0, 12, 13);
  LcdsetFont(font_16x24);  // тестовый
  var = LcdGetChar(1);
  st = var;
  en = LcdGetChar(2);
}

void loop(){
  LcdPageONE();
  LcdGotoXY(0, 0);
  do{
    LcdGotoXY(0, 0);
    LcdsetFont(font_16x32);
    LcdPrint(var, ON, 1);
    LcdGotoXY(60, 0);
    LcdsetFont(font_16x24);// тестовый 
    LcdChar(60, 0, var, ON, 1);
    LcdGotoXY(60, 32);
    LcdsetFont(font_5x8);
    LcdChar(60, 32, var, ON, 1);
  }
  while(LcdPageTWO());
  var++;
  if(var > en) var = st;
  delay(800);
}

В папке с примерами тоже пару попробовал, всё ОК.

Пробуй другую версию arduino. Недавно таким образом решилась проблема с экраном от S65

 

satman123
Offline
Зарегистрирован: 11.02.2016

Благодарю за внимание!

 

Arduino: 1.6.7 (Windows 7), Плата:"Arduino Pro or Pro Mini, ATmega328 (3.3V, 8 MHz)"

C:\temp\LCD A70 шилд\all-right\all-right.ino:4:24: fatal error: font_16x24.h: No such file or directory

compilation terminated

нет такой библиотеки - понятно

поигрался - не катит

начинаю бурчать
почему нужно иметь зверинец версий Ардуино и помнить для какой програмки и софтины оно подойдёт?
это напоминает мелкомягких и их форточки ну начиналось это ещё в гараже где не доели яблоко ;) ..дальше копать не буду - хотя дырки в картах помню - делал

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

Там яблоко только начали есть, на сколько я помню.

Указывать по версиям не буду но есть поговорка шорошая -"лучшее враг хорошему". Это я про новые и новые версии дуины.

Меня устраивает моя версия и какие там ещё есть я и не знаю. Работает, проблем нет - и ладно.

sfm
Offline
Зарегистрирован: 17.08.2014

похоже что не нравитса кодировка в названии папки, не пробовали обозвать папку по - буржуйски ?

hugoboss317 оромное спасибо за библиотеку. использую, работает отлично. немного нехватает запятой в значениях, он ето мелочи. паяльную станцию закончил. работает. екранчик показивает :)

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

Можете хвастаться проектами и выкладывать фото экранчика, чё он там показывает.

Какой и где запятой не хватает? В библиотеке я поместил гениратор символов и гдето выкладывал алгоритм построения символов для проги image2lcd. Это если размер не 5х8 или 10х16.

satman123
Offline
Зарегистрирован: 11.02.2016

Проверил более древнюю версию - прошла компиляция одного из примеров

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

плиз

sfm
Offline
Зарегистрирован: 17.08.2014

почти hakko

такая вот станция получилась. паяльник бил куплен у китайцев, ручку сжог вместе с нагревателем. купил японский - нормальный нагреватель, ручка - какая била, поставил оптическим датчиком наличия паяльника, если на подставке пол часа, паяльник сам включится. на екране заданная температура - большими цифрами, справа - таймер, слева фактическая температура жала. по центру проценты мощности кулера охлаждения, правее - температура в середине блока питания. в спящем режиме показывает режим, и температуру *если горячий, есть жосткое блокирование включения *выключатель по центру, слева кнопка выключить, справа включить, хочу сделать еще и фен, покупать 14-60$ - жаба давит.

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

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

satman123 пишет:

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

Я ж писал. Указываем пины при инициализации и, если 3,3 вольта, то подключаем напрямую.

satman123
Offline
Зарегистрирован: 11.02.2016

Всем привет!

Как показать что получилось? ссылка на файл?

не понятно где рыть проблемку

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

Можно всюда свернуть код и ошибки компелятора предоставить...

satman123
Offline
Зарегистрирован: 11.02.2016

Добрый день.

Компиляция прошла без проблем, и даже на экране что то было - заснял видео

а вот далее почему то тишина

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

Чё, видео на экране не показывает? Странно... :)

Скрин можем заделать?

Даю подсказку на простой способ сделать скрин, - кнопка "prt sc"

satman123
Offline
Зарегистрирован: 11.02.2016

Добрый день

пришлось установить хром для загрузки картинки!

на видео конечно интересней было

после игр с поиском рабочих скетчей, потерял даже то что есть на картинках - пока повторить не могу

да ещё прилетели новые игрушки тестирую датчики для I2C - получается и это радует

а вот по картинкам что то можно сказать?

С уважением

Олег

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

ой-ой-ёй... ещё смайлик, который держется за лоб и качает головой.

Не пойму откуда но для начала надо сделать - выключить инверсию

LcdInverse(OFF);

 А вобще стоит ещё раз и ещё раз и ещё раз проверить подключение, чёто кажется мне что это по железу.

Machomotofan
Offline
Зарегистрирован: 17.05.2016

Подправил библиотеку  http://rgho.st/8spyZ44Qm

Был конфликт типов данных шрифтов. Сейчас всё ок.

Спасибо за класную библиотеку !!!

sfm
Offline
Зарегистрирован: 17.08.2014

доброго времени суток, так и не разобрался с проблемой. не могу никак вывести на екран число с плавающей точкой. раньше игнорил цыфры после запятой, но теперь не могу. пытаюсь построить автономный снс, нужно вывести еще 3 цыфры после запятой. *ну да шансов у меня мало написать, но хочу. судя по всему "Machomotofan" смог ето сделать а у меня не получается.  код для теста.

#include <PCF8812_new.h> 
#include "font_16x32.h"
double voltage;
void setup(){
  LcdInit(2, 3, 4, 5, 6);  //CS, RESET, D/C, CLK, DATA
  pinMode(13,OUTPUT); digitalWrite(13,1);
}
void loop(){
  int sensorValue = analogRead(A0);
  voltage = sensorValue * (5.0 / 1023.0);
  LcdPageONE();
  do{
    LcdsetFont(font_16x32);
    LcdGotoXY(8, 2);
    LcdPrint( voltage , ON,2);
  }
  while(LcdPageTWO());

  delay(1000);
}

при том выбрасывает ошибки, если double, float заменить на int все работает 

ошибка 

test.ino: In function 'void loop()':
test:15: error: call of overloaded 'LcdPrint(double&, int, int)' is ambiguous
C:\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:62: note: candidates are: void LcdPrint(int16_t, uint8_t, uint8_t)
C:\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:64: note:                 void LcdPrint(uint16_t, uint8_t, uint8_t)
C:\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:66: note:                 void LcdPrint(int32_t, uint8_t, uint8_t)
C:\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:67: note:                 void LcdPrint(uint32_t, uint8_t, uint8_t)

что я делаю не так ? 

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

Я ранее писал что при написании этой библиотеки (и не только этой) я не перегружал функции на вывод такого типа (с плавающей запятой). 

Как с этим справиться, я описывал и приводил пример.

При работе с этой библиотекай лучше избегать такой тип.

Не нашёл где я приводил пример вывода и как раз с двумя знаками после, попробую повториться.

Для начала можно объявлять сразу long и при инициализации умножать значение на 100 (т.к. 2 знака( на 10 если 1 знак после запятой), ну или сразу при вычислении придавать нужное значение

к примеру не 

double voltage;
voltage = sensorValue * (5.0 / 1023.0);

, а

long voltage;
voltage = sensorValue * (500 / 1023);  // умноженное на 100

теперь как корректно вывести!?

LcdPrint( voltage/100 , ON,2);  //выводим целое значение (не делим)
LcdPrint( "," , ON,2);                   //запятая, или точка (кому как нравиться)
// теперь важный момент - если сотые доли меньше десяти
// то сначала просто печатаем "ноль" а потом остаток от деления
if(voltage%100 < 10){
LcdPrint( "0" , ON,2);
}
LcdPrint( voltage%100 , ON,2);  // выводим сотые доли

Примерно вроде так делал.

Давно не занимался, может и подзабыл чё :)

sfm
Offline
Зарегистрирован: 17.08.2014

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

serbec
Offline
Зарегистрирован: 28.11.2016

не подскажите что значит ета ошибка

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW\PCF8812_new.cpp:4:20: fatal error: wiring.h: No such file or directory

 #include <wiring.h>

                    ^

compilation terminated.

exit status 1
Error compiling for board Arduino/Genuino Uno.
 

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

А примеры из бибы компелируются?

serbec
Offline
Зарегистрирован: 28.11.2016

нет не компелируются

serbec
Offline
Зарегистрирован: 28.11.2016

я к библиотеке добавил файл <wiring.h> и пошли новые ошибки . в етом скетче пишет вот что

#include <PCF8812_new.h> 
#include "font_16x32.h"
double voltage;
void setup(){
  LcdInit(2, 3, 4, 5, 6);  //CS, RESET, D/C, CLK, DATA
  pinMode(13,OUTPUT); digitalWrite(13,1);
}
void loop(){
  int sensorValue = analogRead(A0);
  voltage = sensorValue * (5.0 / 1023.0);
  LcdPageONE();
  do{
    LcdsetFont(font_16x32);
    LcdGotoXY(8, 2);
    LcdPrint( voltage , ON,2);
  }
  while(LcdPageTWO());

  delay(1000);
}

 

 

 

 

In file included from C:\Users\serbe\Desktop\PCF8812_NEW\examples\Test_Fonts\Test_Fonts.ino:2:0:

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW/font_16x32.h:8:8: error: 'prog_uint8_t' does not name a type

 static prog_uint8_t font_16x32[] PROGMEM=

        ^

C:\Users\serbe\Desktop\PCF8812_NEW\examples\Test_Fonts\Test_Fonts.ino: In function 'void loop()':

Test_Fonts:13: error: 'font_16x32' was not declared in this scope

     LcdsetFont(font_16x32);

                ^

Test_Fonts:15: error: call of overloaded 'LcdPrint(double&, int, int)' is ambiguous

     LcdPrint( voltage , ON,2);

                             ^

C:\Users\serbe\Desktop\PCF8812_NEW\examples\Test_Fonts\Test_Fonts.ino:15:29: note: candidates are:

In file included from C:\Users\serbe\Desktop\PCF8812_NEW\examples\Test_Fonts\Test_Fonts.ino:1:0:

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:61:6: note: void LcdPrint(int16_t, uint8_t, uint8_t)

 void LcdPrint(int16_t i, uint8_t color, uint8_t size);

      ^

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:63:6: note: void LcdPrint(uint16_t, uint8_t, uint8_t)

 void LcdPrint(uint16_t i, uint8_t color, uint8_t size);

      ^

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:65:6: note: void LcdPrint(int32_t, uint8_t, uint8_t)

 void LcdPrint(int32_t i, uint8_t color, uint8_t size);   

      ^

C:\Users\serbe\OneDrive\Документы\Arduino\libraries\PCF8812_NEW/PCF8812_new.h:66:6: note: void LcdPrint(uint32_t, uint8_t, uint8_t)

 void LcdPrint(uint32_t i, uint8_t color, uint8_t size);

      ^

exit status 1
'font_16x32' was not declared in this scope
 

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

Похожее было на новых версиях дуины.

Попробуйте 1.0.5

serbec
Offline
Зарегистрирован: 28.11.2016

тоже не помогло

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

serbec пишет:

тоже не помогло

#include <wiring.h>
#include <PCF8812_new.h> 
#include "font_5x5.h"
#include "font_5x8.h"
#include "font_7x15.h"
#include "font_10x16.h"

void setup(){
  LcdInit(10, 9, 8, 7, 6);  //CS, RESET, D/C, CLK, DATA
}

void loop(){
  LcdPageONE();
  do{
    LcdsetFont(font_5x5);
    LcdGotoXY(0, 0);
    LcdPrint("1234567890abcABCD\n", ON, 1);
    LcdsetFont(font_5x8);
    LcdPrint("1234567890abcdабв\n", ON, 1);
    LcdsetFont(font_7x15);
    LcdPrint("1234567890\n", ON, 1);
    LcdsetFont(font_10x16);
    LcdPrint("012345678", ON, 1);
  }
  while(LcdPageTWO());
  delay(1000);
}

Итог компеляции :

"Размер скетча в двоичном коде: 5 788 байт (из 258 048 байт максимум)"

Arduino 1.0.5, плата MEGA2560

arcon73
Offline
Зарегистрирован: 06.04.2017

Cпасибо за поправки...

подошло на A52 (почти 3410) (тот же контроллер....искал запуск 3 ночи)

аналогия пинов:
CS = SCE (5)
RESET =  RESET (8)
D/C =  D/C or A0 (4)
CLK = SCLK (2)
DATA = SDIN (mosi) (3)

Genri5
Offline
Зарегистрирован: 31.05.2016

hugoboss317, попросили влагомер, с разными примочками. Я, конечно, мог написать и на 8glib, но она обьемная. Попробывал Вашу, начал с простого, но нужна коррекция. У этого дисплея разрешение 98х65. 

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

Да, и это действительно проюлема с которой нужно начать. Я смотрю и с адресами банков не всё совпадает, но начнём с разрешения.

В файле PCF8812_new.h есть строчка определяющая разрешение :

#define X_RES	101	

Замение, сохраните, покажите что получилось.

Заменить надо на 97.

Genri5
Offline
Зарегистрирован: 31.05.2016

hugoboss317 пишет:

Да, и это действительно проюлема с которой нужно начать. Я смотрю и с адресами банков не всё совпадает, но начнём с разрешения.

В файле PCF8812_new.h есть строчка определяющая разрешение :



#define X_RES	101	

Замение, сохраните, покажите что получилось.

Заменить надо на 97.

  Изминения конечно есть. 

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

Немогу понять что куда "едет". Попробуйте вывести рамку на весь экран.

LcdRect (0, 0, 98, 64, ON);

Ещё есть такой момент. Видообуфер экрана А 70 содершит в ширину 102 пиксеся, а сам экран 101, и из-за этого есть пустой байт, который надо посылать в конце каждого банка.

В библиотеке это выглядит так:

LcdWrite(LCD_D, 0x0);                 //регистр 102 в видеопамяти

Как в Вашем случаи, не совсем понятно. Придётся выводить много палочек и точек чтоб понять.