TFT LCD ILI9163C 128x128

AexLn
Offline
Зарегистрирован: 01.02.2016

Dmn пишет:

В комплекте к Adafruit_GFX идут несколько шрифтов, но как их использовать не пойму. Например 

на строку tft.setFont(); компилятор не ругается, значит в библиотеке такая команда есть, но  вот что в скобках написать не знаю.

Все очень просто, Вам просто не захотелось разобраться с этим вопросом, ибо когда у меня возник этот вопрос, я зашел на сайт адафрут и посмотрел там синтаксис GFX. Там все прекрасно описано: сначала подключаете шрифт в начале программы : #ШрифтAdafruit , затем указывайте его в программе в нужном месте: setFont(Шрифт);
setFont(); дальше в программе вернет шрифт по умолчанию.

maikelanzelo
Offline
Зарегистрирован: 30.03.2016

podskazite kak podkljucitj massiv v ILI ,poka ne polucaetsa skoka ne mucaklsja?

AexLn
Offline
Зарегистрирован: 01.02.2016

produmannn пишет:

AexLn пишет:
Я уже раз 10 отвечал на вопрос в разных форумах , Почему часть дисплея не видна. Ответ: скорее всего у вас дисплей на черной плате, зайдите в файлы библиотеки и в settings укажите, что плата черная. И никаких rotation не нужно и все прекрасно работает

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

И еще раз, примеры, графика, текст показывает нормально! в полный экран без косяков!

Я с телефона просто зашел по оповещению из почты, и меня ссылка перевела на вопрос, На который я дал ответ, потом я увидел уже, что вопрос не последний)

produmannn
Offline
Зарегистрирован: 16.04.2016

Никто не подключал экран с флешкой???

AexLn
Offline
Зарегистрирован: 01.02.2016

produmannn пишет:
Никто не подключал экран с флешкой???

Подключал, писал данные на память, выводил на экран... в чем вопрос-то?

produmannn
Offline
Зарегистрирован: 16.04.2016

AexLn пишет:
produmannn пишет:
Никто не подключал экран с флешкой???
Подключал, писал данные на память, выводил на экран... в чем вопрос-то?

http://arduino.ru/forum/apparatnye-voprosy/tft-lcd-ili9163c-128x128?page=1#comment-186944

Вот там мой вопрос..

maikelanzelo
Offline
Зарегистрирован: 30.03.2016

Narod podskazite kak podkljucitj massiv,imeetsavidu kakoj komandoj????????

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

maikelanzelo пишет:

Narod podskazite kak podkljucitj massiv,imeetsavidu kakoj komandoj????????

Komandoj "podkljucitjMassiv"

maikelanzelo
Offline
Зарегистрирован: 30.03.2016

ne smesno

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А мне смешно. Вы сами прочитайте свой вопрос. Какой массив, куда подключить, как это должно работать - всё ХЗ. Ну так и ответ на Ваш вопрос - ХЗ! Хотите получить ответ, задавайте вопрос нормально.

AexLn
Offline
Зарегистрирован: 01.02.2016

ЕвгенийП пишет:

А мне смешно. Вы сами прочитайте свой вопрос. Какой массив, куда подключить, как это должно работать - всё ХЗ. Ну так и ответ на Ваш вопрос - ХЗ! Хотите получить ответ, задавайте вопрос нормально.


Согласен, что за бред? Какой массив? Символов, данных? Одномерный, двухмерный? Какой массив? Массив hex картинки?

maikelanzelo
Offline
Зарегистрирован: 30.03.2016
vot kod interesuet poslednie stroki na ili ne rabotaet,pervonacaljno dumalsja dlja nokii
int potPin = 2; // Порт для провода от датчика холла  pin D2
int now = 0;// последнее значение сигнала с датчика  
long time = 0; // для сохранения времени начала счета импульсов  
int count = 0; // колличество импльсов  
int val; //временная переменная для считывания сигнала с датчика 
int rpm = 0;

int vBatt = 2; //pin A2 вход с делителя напряжения
int temp = 0;  
float vbatt = 0; // значение делителя напряжения
int tic=0;
int tic2=0;
int flg_push; //флаг прихода импульса 
extern uint8_t akb[]; // иконка акб
extern uint8_t termometr[];//иконка термометр

extern uint8_t OBM[];// иконка RPM
int switchPin = 8; //кнопка pin 8
boolean lastButton =  LOW;
boolean lcdOn = false;

#include <SPI.h>
//#include <Adafruit_GFX.h>
#include <TFT_ILI9163C.h>

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>  // Comes with Arduino IDE
#define ONE_WIRE_BUS 9// pin D9 вход цифрового датчика температуры ds18b20
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
//#include <LCD5110_Graph.h>
#include "LedControl.h"
LedControl lc = LedControl(12, 11, 10, 1);
//LCD5110 myGLCD(3, 4, 5, 7, 6);
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0  
#define WHITE   0xFFFF

#define __CS 10
#define __DC 9
#define __RES 8

TFT_ILI9163C myGLCD = TFT_ILI9163C(__CS, __DC, __RES);


void setup()  
{   lc.shutdown(0, false);
  lc.setIntensity(0, 14);
    lc.clearDisplay(0);
	 myGLCD.begin();
   // tft.fillScreen(0);
    myGLCD.setRotation(0);
    //delay(500);
     myGLCD.clearScreen();
for(int m=0;m<2;m++){ 
 for (int row=0; row<5; row++)
  {
    for (int col=0; col<6; col++)
    {
      lc.setLed(0,col,row,true); 

      delay(10);
    }
  }
delay(10);
  for (int row=0; row<5; row++)
  {
    for (int col=0; col<6; col++)
    {
      lc.setLed(0,col,row,false); 
       
      delay(10);
    }
  }}
   lc.clearDisplay(0);
   
//myGLCD.InitLCD();

pinMode(vBatt, INPUT);
  

  sensors.begin();
  
pinMode(switchPin, INPUT);
 
  time = millis();  
}  

void loop(){
 
  myGLCD.setCursor(0,0);
   myGLCD.fillScreen(BLACK);
  myGLCD.setTextColor(BLUE);
	 if (digitalRead(switchPin) == HIGH && lastButton == LOW)
  { lcdOn = !lcdOn;
    lastButton = HIGH;
  }
  else {
    lastButton = digitalRead(switchPin);
  }
	
	//будем считать, что импульсы очень быстрые ;) 

  //считываем данные 
  val = digitalRead(potPin); 
   
  //если пришел импульс 
  if ((val == HIGH) && (flg_push == 0))  { 
    //флаг ставим в 1 
    flg_push = 1; 
  } 
   
  //если импульс ушел, то увеличиваем счетчик 
  if ((val == LOW) && (flg_push == 1))  { 
    //флаг ставим в 0 
    flg_push = 0; 
    count++; 
  } 

  //если прошло 30 милисекунд 
  now = (millis() - time) / 1000; 
  if (now == 1){ 
     
    //выводим кол импульсов из расчета (об/мин) rpm=count * 60 - для 1 импульса на оборот
	//rpm=count * 30 для 2-х импульсов на оборот
    rpm=count * 30; 
   if (lcdOn == true ) {
    
   // myGLCD.clearScreen();
   myGLCD.drawBitmap(OBM=10,20);
//    myGLCD.setFont(BigNumbers);
//  myGLCD.printNumI(rpm, CENTER, 20, 2, '0');
//	  myGLCD.update();}
  if (lcdOn == false){
   //  myGLCD.clearScreen();
//	myGLCD.drawBitmap(3, 18, akb, 24, 16);  
//  myGLCD.drawBitmap(3, 0,  OBM, 32, 16);
//     myGLCD.drawBitmap(3,33, termometr,32, 16);
//  myGLCD.setFont(MediumNumbers);
 // myGLCD.printNumF(vbatt, 1, RIGHT, 16, '.');
  //myGLCD.printNumI(rpm, RIGHT, 0, 0, '0');
// myGLCD.printNumI(temp, RIGHT, 32, 0, '0'); 
//  myGLCD.update();
//TEMP();
}
// RPM();
      //сбрасываем начальный счетчик 
    time = millis(); 
    //сбрасываем количество импульсов 
    count = 0; 
  } 

 

maikelanzelo
Offline
Зарегистрирован: 30.03.2016

// myGLCD.clearScreen();
myGLCD.drawBitmap(OBM=10,20);
vot eta stroka risuet kartinku no v ILI biblioteka ne poderzivaet takuju komandu,podskazite kakaja komanda v ILI,nju i zelateljno sintaksis

TovBender
Offline
Зарегистрирован: 12.04.2015

       Пожалуйста Помогите разобраться .

Взял дисплей 1.44. 128*128. Установил библиотеки #incude TFT_ILI9163.h   и Adafruit_GFX.h . 

Ипользую Arduino UNO                             вер.  1.6.8

из библиотеки с примерами (либы) TFT_ILI9163-Master / работают почти все примеры кроме одного " clock "

если просто пример  загружаю, то  не ругается, и ошибок нет.

а если поставить как сказано в примере в    инициализацию  " TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC); "  цифру пина 8 res.  

TFT_ILI9163C tft = TFT_ILI9163C(__CS,   8, __DC);

номер пина где сидит res .   у меня это 8 пин.

то сразу появляется ошибка     clock.ino: In function 'void drawClockFace()': clock:49: error: 'tft' was not declared in this scope tft.fillCircle(ccenterx, ccentery, cradius, BLUE);

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

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

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <TFT_ILI9163C.h>

// Color definitions
#define	BLACK   0x0000
#define	BLUE    0x001F
#define	RED     0xF800
#define	GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0  
#define WHITE   0xFFFF

/*
Teensy3.x and Arduino's
You are using 4 wire SPI here, so:
 MOSI:  11//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
 MISO:  12//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
 SCK:   13//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
 the rest of pin below:
 */
#define __CS 10
#define __DC 9
/*
Teensy 3.x can use: 2,6,9,10,15,20,21,22,23
Arduino's 8 bit: any
DUE: check arduino site
If you do not use reset, tie it to +3V3
*/


TFT_ILI9163C tft = TFT_ILI9163C(__CS, 8, __DC);

uint16_t ccenterx,ccentery;//center x,y of the clock
const uint16_t cradius = 63;//radius of the clock
const float scosConst = 0.0174532925;
float sx = 0, sy = 1, mx = 1, my = 0, hx = -1, hy = 0;
float sdeg=0, mdeg=0, hdeg=0;
uint16_t osx,osy,omx,omy,ohx,ohy;
uint16_t x0 = 0, x1 = 0, yy0 = 0, yy1 = 0;
uint32_t targetTime = 0;// for next 1 second timeout
uint8_t hh,mm,ss;  //containers for current time


void drawClockFace(){
  tft.fillCircle(ccenterx, ccentery, cradius, BLUE);
  tft.fillCircle(ccenterx, ccentery, cradius-4, BLACK);
  // Draw 12 lines
  for(int i = 0; i<360; i+= 30) {
    sx = cos((i-90)*scosConst);
    sy = sin((i-90)*scosConst);
    x0 = sx*(cradius-4)+ccenterx;
    yy0 = sy*(cradius-4)+ccentery;
    x1 = sx*(cradius-11)+ccenterx;
    yy1 = sy*(cradius-11)+ccentery;
    tft.drawLine(x0, yy0, x1, yy1, BLUE);
  }
}

static uint8_t conv2d(const char* p) {
  uint8_t v = 0;
  if ('0' <= *p && *p <= '9') v = *p - '0';
  return 10 * v + *++p - '0';
}

void setup(void) {
  tft.begin();

  tft.setTextColor(WHITE, BLACK);
  ccenterx = tft.width()/2;
  ccentery = tft.height()/2;
  osx = ccenterx;
  osy = ccentery;
  omx = ccenterx;
  omy = ccentery;
  ohx = ccenterx;
  ohy = ccentery;
  drawClockFace();// Draw clock face
  //get current time from compiler
  hh = conv2d(__TIME__);
  mm = conv2d(__TIME__+3);
  ss = conv2d(__TIME__+6);
  targetTime = millis() + 1000; 
}

void drawClockHands(uint8_t h,uint8_t m,uint8_t s){
  // Pre-compute hand degrees, x & y coords for a fast screen update
  sdeg = s * 6;                  // 0-59 -> 0-354
  mdeg = m * 6 + sdeg * 0.01666667;  // 0-59 -> 0-360 - includes seconds
  hdeg = h * 30 + mdeg * 0.0833333;  // 0-11 -> 0-360 - includes minutes and seconds
  hx = cos((hdeg-90)*scosConst);    
  hy = sin((hdeg-90)*scosConst);
  mx = cos((mdeg-90)*scosConst);    
  my = sin((mdeg-90)*scosConst);
  sx = cos((sdeg-90)*scosConst);    
  sy = sin((sdeg-90)*scosConst);

  // Erase just old hand positions
  tft.drawLine(ohx, ohy, ccenterx+1, ccentery+1, BLACK);  
  tft.drawLine(omx, omy, ccenterx+1, ccentery+1, BLACK);  
  tft.drawLine(osx, osy, ccenterx+1, ccentery+1, BLACK);
  // Draw new hand positions  
  tft.drawLine(hx*(cradius-28)+ccenterx+1, hy*(cradius-28)+ccentery+1, ccenterx+1, ccentery+1, WHITE);
  tft.drawLine(mx*(cradius-17)+ccenterx+1, my*(cradius-17)+ccentery+1, ccenterx+1, ccentery+1, WHITE);
  tft.drawLine(sx*(cradius-14)+ccenterx+1, sy*(cradius-14)+ccentery+1, ccenterx+1, ccentery+1, RED);
  tft.fillCircle(ccenterx+1, ccentery+1, 3, RED);

  // Update old x&y coords
  osx = sx*(cradius-14)+ccenterx+1;
  osy = sy*(cradius-14)+ccentery+1;
  omx = mx*(cradius-17)+ccenterx+1;
  omy = my*(cradius-17)+ccentery+1;
  ohx = hx*(cradius-28)+ccenterx+1;
  ohy = hy*(cradius-28)+ccentery+1;
}


void loop() {
  if (targetTime < millis()) {
    targetTime = millis()+1000;
    ss++;
    if (ss == 60) {
      ss = 0;
      mm++;
      if(mm > 59) {
        mm = 0;
        hh++;
        if (hh > 23) hh = 0;
      }
    }
    drawClockHands(hh,mm,ss);

  }
}

 

TovBender
Offline
Зарегистрирован: 12.04.2015

здравствуйт ЕвгенийП а вы не подскажете. почему если я заливаю скетч. любой из примеров для дисплея 1,44 128х128 ---                           TFT_ILI9163C.h

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

что за глюк и как это выличить ? может в курсе ?

Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

   ................ он работает, до выключения ардвинки,..................

Проблема скорее в ардуинке. Попробуйте другую ардуинку

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

TovBender пишет:

а если поставить как сказано в примере в    инициализацию  " TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC); "  цифру пина 8 res.  

TFT_ILI9163C tft = TFT_ILI9163C(__CS,   8, __DC);

номер пина где сидит res .   у меня это 8 пин.

Что за res? Reset? Ну, во первых, он там не второй, а третий парамтер

TFT_ILI9163C(uint8_t cspin,uint8_t dcpin,uint8_t rstpin=255);

Т.е. Вы его не туда пихаете.

Во вторых, 33 строка должна выглядеть примерно так

TFT_ILI9163C tft (__CS, __DC,   8);

 

TovBender
Offline
Зарегистрирован: 12.04.2015

я понимаю. я смотрел из обзора на ютуб, этот параметр ставили вторым. я тоже поставил как на видио.

ВСЕ примеры из библиотеки работают. КРОМЕ примера CLOCK

TovBender
Offline
Зарегистрирован: 12.04.2015

поставил  TFT_ILI9163C tft (__CS, __DC, 8);    ничего не происходит. экран просто светится и ошибка tft

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, значит в видео была не та бибилиотека, что у меня. Кстати, какая у Вас Я тоже не знаю, т.к. Вы ссылку на неё не давали. В той, что у меня - это третий параметр.

А почему не работает, ну у меня нет этого экрана и проверить я ничего не могу :(

TovBender
Offline
Зарегистрирован: 12.04.2015

а в коде нет ошибок ?     появляется ошибка 

clock.ino: In function 'void drawClockFace()': clock:49: error:

'tft' was not declared in this scope tft.fillCircle(ccenterx, ccentery, cradius, BLUE);

это единственнный пример который не работает.

https://github.com/sumotoy/TFT_ILI9163C

https://github.com/adafruit/Adafruit-GFX-Library

https://youtu.be/68dEen6643k видео

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

То, что Вы привели - это тот самый код? Просто в нём в 49 строке комментарий. Приведите именно тот код, на который ругается компилятор.

TovBender
Offline
Зарегистрирован: 12.04.2015
Time_Na_Displei.ino: In function 'void setup()':

Time_Na_Displei:47: error: 'tft' was not declared in this scope

C:\Documents and Settings\Admin\Мои документы\Arduino\ilibraries\Displei\Time_Na_Displei\Time_Na_Displei.ino: In function 'void drawDisplay()':

Time_Na_Displei:68: error: 'tft' was not declared in this scope

C:\Documents and Settings\Admin\Мои документы\Arduino\ilibraries\Displei\Time_Na_Displei\Time_Na_Displei.ino: In function 'void drawMark(int)':

Time_Na_Displei:70: error: 'tft' was not declared in this scope

C:\Documents and Settings\Admin\Мои документы\Arduino\ilibraries\Displei\Time_Na_Displei\Time_Na_Displei.ino: In function 'void drawSec(int)':

Time_Na_Displei:100: error: 'tft' was not declared in this scope

C:\Documents and Settings\Admin\Мои документы\Arduino\ilibraries\Displei\Time_Na_Displei\Time_Na_Displei.ino: In function 'void drawMin(int)':

Time_Na_Displei:104: error: 'tft' was not declared in this scope

C:\Documents and Settings\Admin\Мои документы\Arduino\ilibraries\Displei\Time_Na_Displei\Time_Na_Displei.ino: In function 'void drawHour(int, int)':

Time_Na_Displei:105: error: 'tft' was not declared in this scope

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

 

TovBender
Offline
Зарегистрирован: 12.04.2015

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

пробовал скетч в этой статье #52   тоже ругается на TFT.

 

Vavilon
Offline
Зарегистрирован: 17.08.2016

Подскажите как данный дисплей подключать к Arduino leonardo. В частности я так понял контакты 2-SCK и 3-SDA от дисплея должны идти не на 13 и 11 пины а на отдельную группу ICSP? Пробовал и так сяк. Монитор просто белым горит после включения. Может брак. Как его проверить то? Время идет, а мне спор с продавцом на Ali открывать тогда надо.

[url=http://pixs.ru/showimage/SPIJPG_3854242_22960197.jpg][img]http://i11.pixs.ru/thumbs/1/9/7/SPIJPG_3854242_22960197.jpg[/img][/url]

Joiner
Offline
Зарегистрирован: 04.09.2014

Я заказывал сразу 3 штуки. Два заработали, один - нет. Так что сразу все понятно стало. С одним сложнее.....

То ли дисплей неисправен, то ли что-то неправильно сделал....

TovBender
Offline
Зарегистрирован: 12.04.2015

Vavilon

я поменял rst  и DC местами дисплей заработал.

но досих пор не работает только 1 пример, CLOCK/  из библиотеки , остальные демо работают.

TovBender
Offline
Зарегистрирован: 12.04.2015

ЕвгенийП

А вы не подскажете, есть ли конфликты у библиотек RCSwitch и OneWire составил программку определить ключь таблетку, вывод номера ключа на дисплей, и отправить код радио брелка. в месте коды не работают, а только по отдельности , если один из кодов заремить то работает.

      //             Радио скан и проверка ключа доступа

#include <RCSwitch.h>
#include <LiquidCrystal_I2C.h>
//#include <OneWire.h>

//OneWire iButton(10); // создаём объект 1-wire на 10 выводе

LiquidCrystal_I2C lcd(0x27,16,2); //  SDA - A4;  SCL - A5.


RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
lcd.begin(16, 2);
lcd.init();
lcd.backlight();
  mySwitch.enableReceive(0);  //  0 => that is pin 2 - Пин 2

  lcd.setCursor(0, 1);
lcd.print("N Radio ");
 Serial.print(" Received ");
}

void loop() {
/*
byte addr[8]; // массив для хранения данных ключа
  
  if ( !iButton.search(addr) ) { // если ключ не приложен
      lcd.setCursor(0, 0);
      //lcd.print("No Key connect");

      return; // и прерываем программу
}
      Serial.print("Key : ");
  for(int i = 0; i < 8; i++)    {
    
    lcd.setCursor(0, 0);
    lcd.print("              " );
    lcd.print("i Button " );
      lcd.print(addr[i], HEX); // выводим побайтно данные ключа
      
  Serial.print(addr[i], HEX); // выводим побайтно данные ключа
    Serial.print(" ");
 
*/
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
  //  if (value == 0) {
     // Serial.print("Unknown encoding");
  //   } else {
      Serial.print(" Received ");
      Serial.print( mySwitch.getReceivedValue() );
lcd.setCursor(0, 1);
lcd.print("N Radio ");
lcd.print(mySwitch.getReceivedValue());      
 
    }
   // Serial.println();
// iButton.reset(); // сброс ключа
    mySwitch.resetAvailable();
 } // }   //}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

TovBender, простите, не знаю, это надо смотреть и разбираться.

Vavilon
Offline
Зарегистрирован: 17.08.2016

Извелся уже весь с этим дисплеем. Раскажите куда подключать SCK,SDA и RESET. Я SCK подключаю к MISO. SDA к MOSI. RESET пробовал соответственно к reset и к 8 пину. И reset(на 8 пине) с DC местами менял. Все равно белым горит

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Vavilon пишет:

Извелся уже весь с этим дисплеем. Раскажите куда подключать SCK,SDA и RESET. Я SCK подключаю к MISO. SDA к MOSI. RESET пробовал соответственно к reset и к 8 пину. И reset(на 8 пине) с DC местами менял. Все равно белым горит

1. Какой дисплей? ТОлько не надо Вашу картинку - так выглядит 100500 разных дисплеев - модель говорите.

2. Если есть SDA, то должен быть и SCL - Вы уверены, что его нет? ... А если они есть, то причёт тут вообще MISO и MOSI - они-то каким боком?

В общем, короче, модель дисплея в студию - иначе это просто трата времени (потому Вам никто и не отвечал особо)

Vavilon
Offline
Зарегистрирован: 17.08.2016

по всем внешним признакам у меня 1.44" 128X128 SPI Color TFT LCD Module Display, ILI9163 (вот например обзор https://www.youtube.com/watch?v=68dEen6643k) На плате написано 1.44' SPI 128*128 V1.1

Список контактов

1. LED 
2. SCK
3. SDA
4. A0
5. RESET
6. CS
7. GND
8. VCC

 

TovBender
Offline
Зарегистрирован: 12.04.2015

уважаемый Joiner

Вы не подскажете как победить ошибку и заставить работать часы на дисплее, выдаёт ошибку о TFT.

из библиотеки с примерами (либы) TFT_ILI9163-Master / работают почти все примеры кроме одного " clock "

из записей #114  #115 и #121 ни кто пока ответа не дал.

кто нибудь подскажет что за ошибка и как убрать.

Joiner
Offline
Зарегистрирован: 04.09.2014

Сегодня постораюсь замакетить, если успею, отпишусь.

Joiner
Offline
Зарегистрирован: 04.09.2014

Только сегодня замакетил, запустил пример из библиотеки TFT_ILI9163C подназванием clock. Заработало

........но не сразу.   Подключение такое

TFT                    ARDUINO            Как называется в библиотеке           

LED_____________+3.3v

SCK_____________13(SCK)__________________SCK

SDA_____________11(MOSI)_________________MOSI

A0______________8(можно сделать другой)____DC

Reset____________9(можно не использовать а подключить к 3,3v)

CS______________10_______________________CS

GND_____________GND

VCC_____________+5v

Пример у меня работает, если только Reset мониторчика подключен к +3,3v        В скетче должно быть обозначено что DC 8

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

Еще раз убедился, что дисплейчик очень симпатичный, специально созданный для ардуинки.

TovBender
Offline
Зарегистрирован: 12.04.2015

СПАСИБО

Часики заработали . как поменял Res и А0 на 9.  местами.  может у экрана были не правельно подписаны контакты ?

и хотел спросить в начале как прописываете контакт где Res на 8. 

TFT_ILI9163C tft = TFT_ILI9163C(__CS, 8, __DC); только так работает,  у вас какая библиотека ?

и ещё появился ГЛЮК, минутную стрелку размазывает по экрану. от чего такой глюк ??

TovBender
Offline
Зарегистрирован: 12.04.2015

Joiner вы не подскажете . 

есть ещё вопрос #128 тоже не срабатывает. и в другой ветке по системе доступа с помощью NFC - RFID.     добавил к программе доступ с радио пульта. программка работает только по отдельности . если заремить пол программы, либо доступ по картам, либо через радио брилок можно открывать, в месте не работают в одном скетче.                                 Тема Помогите с замком RFID ? #12.

тоже ни кто не знает.

 

Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

Joiner вы не подскажете . 

есть ещё вопрос #128 тоже не срабатывает. и в другой ветке по системе доступа с помощью NFC - RFID.     добавил к программе доступ с радио пульта. программка работает только по отдельности . если заремить пол программы, либо доступ по картам, либо через радио брилок можно открывать, в месте не работают в одном скетче.                                 Тема Помогите с замком RFID ? #12.

тоже ни кто не знает.

 

К сожалению ни чем помочь не могу. Не сталкивался с этим.

Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

................

и хотел спросить в начале как прописываете контакт где Res на 8. 

TFT_ILI9163C tft = TFT_ILI9163C(__CS, 8, __DC); только так работает..........................

Попробовал первый пример из библиотеки TFT_ILI9163C. Пример называется "benchmark", попробовал и с ресетом и без него. Когда с ресетом на ноге 8 писал так TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC, 8); Все работает. Потом ресет переключил на +3,3в.....даже без изменения скетча все равно работает. Потом строку в скетче заменил на TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC); , залил скетч, все работает.

Попробовал второй пример "bigPicture", сколько ни трахался, ни чего не получилось. Кто-нибудь смог запустить?

TovBender
Offline
Зарегистрирован: 12.04.2015

   Joiner

ещё появился ГЛЮК, минутную стрелку размазывает по экрану. от чего такой глюк ??     я сам в скетче копался, поменял цвет фона, и цыфры на цеферблат поставил по кругу.   Теперь стрелку размазывает по экрану, не могу найти ошибку.

Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

   Joiner

ещё появился ГЛЮК, минутную стрелку размазывает по экрану. от чего такой глюк ??     я сам в скетче копался, поменял цвет фона, и цыфры на цеферблат поставил по кругу.   Теперь стрелку размазывает по экрану, не могу найти ошибку.

Скорее всего там есть строчки, которые рисуют "old"стрелку цветом фона, т.е. закрашивают старую стрелку и потом рисуют стрелку в новом положении. Что-то где-то Вы попортил. Пока некогда заглянуть  в скетч, как загляну, если чего-то пойму то отпишусь. 

Dmn
Dmn аватар
Offline
Зарегистрирован: 29.11.2015

TovBender

Возможно просто не хватает производительности. 

У меня похожая проблема

https://vk.com/video19348861_171793895

Joiner
Offline
Зарегистрирован: 04.09.2014

Dmn пишет:

TovBender

Возможно просто не хватает производительности. 

У меня похожая проблема

https://vk.com/video19348861_171793895

Мы про пример из библиотеки говорили, со  стрелочными часами. Я так понял, что у тов.Бендера размазывается минутная стрелка. У меня пример прекрасно работает. И еще удивило, что скетч каким-то образом считывает при заливке системное время компьютера?????!!!!!.

А у Вас, мне кажется, просто не правильно организован вывод на экран. В примерах к библиотеке все летает.

Dmn
Dmn аватар
Offline
Зарегистрирован: 29.11.2015

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

У меня в примерах тоже всё ок. А при выводе цифр вольтметра очень медленно перерисовывает.

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

 

Joiner
Offline
Зарегистрирован: 04.09.2014

Dmn пишет:

................................

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

Баловался с датчиком BMP280. Запускал пример, который выводит показания в сериал порт. Показания дрыгаются как с.ки, смотреть неприятно, но потом в скетче нашел, что есть 3 или 4 режима работы датчика. Попробовал попереключать их. На одном из них показания стоят как вкопанные. Смотреть гораздо приятнее. Интересно, как там это реализовано?

TovBender
Offline
Зарегистрирован: 12.04.2015

    Joiner

Только одна стрелка размазывается. остальные норм.   секундная норм.

TovBender
Offline
Зарегистрирован: 12.04.2015

 

Joiner

попробуй на BMP180.

делал для дачи измерительный комплекс, датчик BMP 180. стоит в бане в суне. и много разных тепловых в доме и на улице, все данные выводятся на дисплей и по желанию на телефон под андроидом, все показания стабильны и давление не прыгает.

Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

Joiner

попробуй на BMP180.

.....................

Для меня сейчас актуальнейший воопрос - как запустить пример "SD_example" из библиотеки ILI9163C. Как только ни извращался, ни чего не получается....выводятся какие-то полоски вместо красивой девушки.

ПАМАГИТЕ!!!!! Может кто-то запускал этот пример?

TovBender
Offline
Зарегистрирован: 12.04.2015
Joiner
Offline
Зарегистрирован: 04.09.2014

TovBender пишет:

Joiner

вот накопал может пригодится для вывода изображения с SD

..........

Спасибо за ссылочки, почитаю.

P.S. Почитал....там про другой монитор.