Нуждаюсь в помощи с выводом температуры на дисплей.

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

Пришел мне дисплей 3,2 TFT, я сразу с 5110 решил переделать скетч.

Вроде все прошло без проблем, до момента вывода температуры на дисплей.

В интернете 3 сутки ничего подобного не нашел а ума не хватает :(

вот кусок скетча и ошибка компиляции:

DeviceAddress T_1 = { 0x28, 0x4B, 0xF2, 0x14, 0x04, 0x00, 0x00, 0x1E };  //DS18B20
//
//
float Thermometer1 = sensors.getTempC(T_1);
//
//
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255,127,0);
myGLCD.print(Thermometer1,CENTER,220); //НА ЭТО РУГАЕТЬСЯ :(
==================
Ошибка компиляции:
TFT_MEGA.cpp: In function 'void loop()':
TFT_MEGA:99: error: no matching function for call to 'ITDB02::print(float&, int, int)'
C:\arduino-1.0.1\libraries\ITDB02_Graph16/ITDB02_Graph16.h:88: note: candidates are: void ITDB02::print(char*, int, int, int)

Строка 88 гласит: void print(char *st, int x, int y, int deg=0);

Дисплей такой www.ebay.com/itm/3-2-tft-lcd-shield-touch-panel-TF-Reader-for-arduino-/2...

 

ourlive
Offline
Зарегистрирован: 26.05.2012

а вы всё же попробуйте воспользоваться библиотекой которая по вашей ссылке прилагается..

и примеры к библиотеке попробуйте..

судя по вашей ссылке экранчик то с тачем, а вы к нему что то откуда то переделывать пытаетесь..

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

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

ourlive

Я с этого и начал, что перепробывал все примеры, и я ничего не переделываю.

Пытался перейти на более новую библиотеку UTFTv1_3mod - неполучилось. Со старой все нормально.

Примеров в интернете тоже не нашел. Очень мало информации в гуглях. Этот шилд отличается от всех других

у него задействанны аналоговые выходы:

//myGLCD(RS,WR,CS,RST,ALE,mode);
ITDB02 myGLCD(A1,A2,A0,A3,A5,ITDB32S);

//myTouch(TCLK,TCS,DIN,DOUT,IRQ);
ITDB02_Touch myTouch(13,10,11,12,A4);

Так все-же может кто поможет? Голову сломал.

 

 

ourlive
Offline
Зарегистрирован: 26.05.2012

а вы обратили внимание, что в примере функция

myGLCD.print("Runtime: (msecs)", CENTER, 290);

печатает только тип string?

а цыфры там печатаются так:

myGLCD.printNumI(millis(), CENTER, 305);

 

 

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

Спасибо ourlive, слона я и не заметил...

myGLCD.printNumI(Thermometer1,CENTER,220);

все заработало :)

 

ourlive
Offline
Зарегистрирован: 26.05.2012

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

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

Мерцания я не заметил, а вот прорисовка всего экрана где-то 0,5-0,7 секунды, но у меня там еще и картинки стоят 100 кб.

glags
Offline
Зарегистрирован: 10.07.2012

У меня такойже дисплей, не смог на нём запустить одновременную работу SD карты и сенсора. По отдельности работаю (либо сенсор либо SD), а вместе никак. У Вас такой проблемы не наблюдалось?

PS: пробовал на меге2560

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

glags пишет:

У меня такойже дисплей, не смог на нём запустить одновременную работу SD карты и сенсора. По отдельности работаю (либо сенсор либо SD), а вместе никак. У Вас такой проблемы не наблюдалось?

PS: пробовал на меге2560

Я еще не дошел до SD , пока осваиваю дисплей с тачем.

А вы какие библиотеки используете?

glags
Offline
Зарегистрирован: 10.07.2012

для SD карты стандартная библиотека. А для вывода на экран и сенсора библиотеку продавца (немного сам её подкорректировал - убрал управление по D8(этот порт отвечает за включение подсветки и был жёстко прописан в библиотеке), тем самым получил дополнительно свободный порт и возможность самому выбирать на какой порт посадить подсветку). Если нужны библиотеки могу выслать.

NE_XT
NE_XT аватар
Offline
Зарегистрирован: 22.05.2012

Вы не пробывали "прикрутить" эту библиотеку UTFT_tinyFAT
http://www.henningkarlsen.com/electronics/library.php?id=53

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

У меня тоже мега2560.

glags
Offline
Зарегистрирован: 10.07.2012

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

glags
Offline
Зарегистрирован: 10.07.2012

NE_XT пишет:

ourlive

Я с этого и начал, что перепробывал все примеры, и я ничего не переделываю.

Пытался перейти на более новую библиотеку UTFTv1_3mod - неполучилось. Со старой все нормально.

Примеров в интернете тоже не нашел. Очень мало информации в гуглях. Этот шилд отличается от всех других

у него задействанны аналоговые выходы:

//myGLCD(RS,WR,CS,RST,ALE,mode);
ITDB02 myGLCD(A1,A2,A0,A3,A5,ITDB32S);

//myTouch(TCLK,TCS,DIN,DOUT,IRQ);
ITDB02_Touch myTouch(13,10,11,12,A4);

 

Аналоговые входы не обязательно задействовать. Можно использовать любые. Я ещё немного подшаманил в библиотеке чтоб использовать для шины данных порты с 22 по 29, а дальше в проге назначаете любые порты для сигналов управления.

glags
Offline
Зарегистрирован: 10.07.2012

Сенсор можно тоже тулить на любые порты, но он по данным и синхро сигналу завязан с картой SD (у них общая шина), а SDшка работает как правило только по SPI. По этому приходится выкручиваться. На меге это порты с 50 по 53. 53 - это выборка SD карты.

Могу помочь с проблемами вот моя ася: 494002996

glags
Offline
Зарегистрирован: 10.07.2012

Вот вам библиотека http://www.rapidshare.ru/2847083