STONE TFT LCD design tlačítek

Odpovědět
Arthur
Příspěvky: 39
Registrován: 02 čer 2021, 03:37
Reputation: 0

STONE TFT LCD design tlačítek

Příspěvek od Arthur » 03 čer 2021, 04:40

Dobrý den, kluci,
Před několika dny jsem si koupil dotykový displej STONE a chci používat kruhová tlačítka. Všechny obrázky se však na zobrazovací jednotce zobrazují mírně zmenšené v osách y. A pak se ze všech kruhových tlačítek stanou oválná !?
To mě trochu znepokojuje.
Nevíte někdo, proč zobrazovací jednotka provádí toto škálování v ose y?
Moje nastavení:
Zobrazovací jednotka: STVA070WT-01 (https://www.stoneitech.com/product/by-a ... wt-01.html)
Verze softwaru:
snd: A5 5A 03 81 00 01
rsv: 5A 04 81 00 01 45

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od Caster » 03 čer 2021, 09:40

Co to zkonzultovat s výrobcem ?

Arthur
Příspěvky: 39
Registrován: 02 čer 2021, 03:37
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od Arthur » 08 čer 2021, 05:34

Nyní jsem tento problém vyřešil a mám problémy s komunikací s arduinem.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od ondraN » 08 čer 2021, 06:33

Zkus se pomodlit, třeba to pánbůh vyřeší. Pokud chceš radu od nás, smrtelníků, pak to musíš nějak lépe popsat a dát sem i kód.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: STONE TFT LCD design tlačítek

Příspěvek od pavel1tu » 08 čer 2021, 07:36

No, moje křišťálová koule se na tomto foru začíná docela mlžit ;)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Arthur
Příspěvky: 39
Registrován: 02 čer 2021, 03:37
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od Arthur » 11 čer 2021, 03:11

Myslím, že máte pravdu, dám sem svůj kód, abyste viděli, že moje tlačítka nereagují, když je stisknu.
Chci dokončit práci na manipulaci s blikáním LED, pět režimů jsou různé efekty, ale zdá se, že tlačítko nefunguje.

Kód: Vybrat vše

int t = 40;
int rnd =5;
int pat1t =75;
void setup()
{
   for(int i=3; i<=12; i++)
   pinMode(i,OUTPUT);
}

void loop(){

   for(int i=0; i<=rnd; i++) {
   pat1();}
   for(int i=0; i<=rnd; i++){
   pat2();}
   for(int i=0; i<=rnd; i++) {
   pat3();}
   for(int i=0; i<=rnd; i++) {
   pat4();}
   for(int i=0; i<=rnd; i++){
   pat5();}
   for(int i=0; i<=rnd; i++) {
   pat6();}
   for(int i=0; i<=rnd; i++) {
   pat7();}
   for(int i=0; i<=rnd; i++) {
   pat8();}
   for(int i=0; i<=rnd; i++) {
   pat9();}
 
 
}
 
void pat1(){
    for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      delay(pat1t);
      digitalWrite(i,LOW);

    }
   
    for(int i=11; i>=4; i--) {
      digitalWrite(i,HIGH);
      delay(pat1t);
      digitalWrite(i,LOW);
    }
} 
void pat2(){
     for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      digitalWrite(i-1,HIGH);
      digitalWrite(i+1,HIGH);
      delay(100);
      digitalWrite(i,LOW);
      digitalWrite(i-1,LOW);
      digitalWrite(i+1,LOW);
    }
   
    for(int i=11; i>=4; i--) {
      digitalWrite(i,HIGH);
      digitalWrite(i-1,HIGH);
      digitalWrite(i+1,HIGH);
      delay(100);
      digitalWrite(i,LOW);
      digitalWrite(i-1,LOW);
      digitalWrite(i+1,LOW);
    }
}
void pat3(){
  for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);

    }
   
    for(int i=12; i>=3; i=i-2) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);
    }     
}
void pat4(){ 
      for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      delay(100);
    }
   
    for(int i=12; i>=2; i--) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);
    }
}
void pat5(){
     for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      }
    delay(100);
    for(int i=3; i<=12; i++) {
      digitalWrite(i,LOW);
      }
    delay(100); 
}
void pat6(){
       for(int i=3; i<=8; i++) {
      digitalWrite(i,HIGH);
      }
    for(int i=8; i<=12; i++) {
      digitalWrite(i,LOW);
      }
    delay(200);
    for(int i=3; i<=8; i++) {
      digitalWrite(i,LOW);
      }
    for(int i=8; i<=12; i++) {
      digitalWrite(i,HIGH);
      }
    delay(200);
}
void pat7(){
       for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      }
    for(int i=4; i<=12; i=i+2) {
      digitalWrite(i,LOW);
      }
    delay(200);
     for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,LOW);
      }
    for(int i=4; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      }
    delay(200);
}
void pat8(){
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    delay(t);
    digitalWrite(7,LOW);
    digitalWrite(8,LOW);
    delay(t);
    digitalWrite(6,HIGH);
    digitalWrite(9,HIGH);
    delay(t);
    digitalWrite(6,LOW);
    digitalWrite(9,LOW);
    delay(t);
    digitalWrite(5,HIGH);
    digitalWrite(10,HIGH);
    delay(t);
    digitalWrite(5,LOW);
    digitalWrite(10,LOW);
    delay(t);
    digitalWrite(4,HIGH);
    digitalWrite(11,HIGH);
    delay(t);
    digitalWrite(4,LOW);
    digitalWrite(11,LOW);
    delay(t);
    digitalWrite(3,HIGH);
    digitalWrite(12,HIGH);
    delay(t);
    digitalWrite(3,LOW);
    digitalWrite(12,LOW);
    delay(t);
     digitalWrite(4,HIGH);
    digitalWrite(11,HIGH);
    delay(t);
    digitalWrite(4,LOW);
    digitalWrite(11,LOW);
    delay(t);
    digitalWrite(5,HIGH);
    digitalWrite(10,HIGH);
    delay(t);
    digitalWrite(5,LOW);
    digitalWrite(10,LOW);
    delay(t);
    digitalWrite(6,HIGH);
    digitalWrite(9,HIGH);
    delay(t);
    digitalWrite(6,LOW);
    digitalWrite(9,LOW);
    delay(t);     
}   

void pat9(){
    for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
    }
     for(int i=3; i<=12; i++) {
      digitalWrite(i,LOW);
      delay(100);
      digitalWrite(i,HIGH);
    }
    for(int i=11; i>=4; i--) {
      digitalWrite(i,LOW);
      delay(100);
      digitalWrite(i,HIGH);
    }
 
}

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od gilhad » 11 čer 2021, 03:28

Hmmm, a jak by melo fungovat, kdyz neni nikde pouzite?

Arthur
Příspěvky: 39
Registrován: 02 čer 2021, 03:37
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od Arthur » 23 čer 2021, 10:24

Teď už vím, v čem je problém, potřebuji vytvořit vyrovnávací paměť pro ukládání proměnných. Změněný kód sem vložím.

Kód: Vybrat vše

int t = 40;
int rnd =5;
int pat1t =300;

uint8_t   RecievedTemp[9]       = {0};
uint8_t   RecievedTemp1[10]       = {0};
uint8_t   button1[10]       = {0x00, 0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0E, 0x01, 0x00, 0x01};
uint8_t   button2[9]       = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0B, 0x01, 0x00, 0x02};
uint8_t   button3[9]       = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0B, 0x01, 0x00, 0x03};
uint8_t   button4[9]       = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0B, 0x01, 0x00, 0x04};
uint8_t   button5[9]       = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0B, 0x01, 0x00, 0x05};
uint8_t   cout_i = 0;
void setup()
{
   Serial.begin(115200);
   for(int i=3; i<=8; i++) 
   pinMode(i,OUTPUT);
}

void loop(){

  if(Serial.available() != 0)
  {
    for(cout_i = 0; cout_i < 10; cout_i ++)
    {
        RecievedTemp1[cout_i] = Serial.read();
        Serial.println(RecievedTemp1[cout_i]);
    }
    switch(RecievedTemp1[8])
  {
  case 0x02:
        pat2();

  case 0x03:
        pat3();

  case 0x04:
        pat4();

  case 0x05:
        pat5();

  case 0x01:
        pat1();
  }
  }
   
   /*for(int i=0; i<=rnd; i++) {
   pat1();}
   for(int i=0; i<=rnd; i++){ 
   pat2();}
   for(int i=0; i<=rnd; i++) {
   pat3();}
   for(int i=0; i<=rnd; i++) {
   pat4();}
   for(int i=0; i<=rnd; i++){ 
   pat5();}
   for(int i=0; i<=rnd; i++) {
   pat6();}
   for(int i=0; i<=rnd; i++) {
   pat7();}
   for(int i=0; i<=rnd; i++) {
   pat8();}
   for(int i=0; i<=rnd; i++) {
   pat9();}*/
  
  
}
  
void pat1(){ 
    for(int i=3; i<=8; i++) {
      digitalWrite(i,HIGH);
      delay(pat1t);
      digitalWrite(i,LOW);
 
    }
    
    for(int i=8; i>=3; i--) {
      digitalWrite(i,HIGH);
      delay(pat1t);
      digitalWrite(i,LOW);
    }
}   
void pat2(){
     for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      digitalWrite(i-1,HIGH);
      digitalWrite(i+1,HIGH);
      delay(100);
      digitalWrite(i,LOW);
      digitalWrite(i-1,LOW);
      digitalWrite(i+1,LOW);
    }
    
    for(int i=11; i>=4; i--) {
      digitalWrite(i,HIGH);
      digitalWrite(i-1,HIGH);
      digitalWrite(i+1,HIGH);
      delay(100);
      digitalWrite(i,LOW);
      digitalWrite(i-1,LOW);
      digitalWrite(i+1,LOW);
    }
}
void pat3(){
  for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);
 
    }
    
    for(int i=12; i>=3; i=i-2) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);
    }       
}
void pat4(){   
      for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      delay(100);
    }
    
    for(int i=12; i>=2; i--) {
      digitalWrite(i,HIGH);
      delay(100);
      digitalWrite(i,LOW);
    }
}
void pat5(){
     for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
      }
    delay(100);
    for(int i=3; i<=12; i++) {
      digitalWrite(i,LOW);
      }
    delay(100);  
}
void pat6(){
       for(int i=3; i<=8; i++) {
      digitalWrite(i,HIGH);
      }
    for(int i=8; i<=12; i++) {
      digitalWrite(i,LOW);
      }
    delay(200);
    for(int i=3; i<=8; i++) {
      digitalWrite(i,LOW);
      }
    for(int i=8; i<=12; i++) {
      digitalWrite(i,HIGH);
      }
    delay(200);
}
void pat7(){
       for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      }
    for(int i=4; i<=12; i=i+2) {
      digitalWrite(i,LOW);
      }
    delay(200);
     for(int i=3; i<=12; i=i+2) {
      digitalWrite(i,LOW);
      }
    for(int i=4; i<=12; i=i+2) {
      digitalWrite(i,HIGH);
      }
    delay(200);
}
void pat8(){
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    delay(t);
    digitalWrite(7,LOW);
    digitalWrite(8,LOW);
    delay(t);
    digitalWrite(6,HIGH);
    digitalWrite(9,HIGH);
    delay(t);
    digitalWrite(6,LOW);
    digitalWrite(9,LOW);
    delay(t);
    digitalWrite(5,HIGH);
    digitalWrite(10,HIGH);
    delay(t);
    digitalWrite(5,LOW);
    digitalWrite(10,LOW);
    delay(t); 
    digitalWrite(4,HIGH);
    digitalWrite(11,HIGH);
    delay(t);
    digitalWrite(4,LOW);
    digitalWrite(11,LOW);
    delay(t);
    digitalWrite(3,HIGH);
    digitalWrite(12,HIGH);
    delay(t);
    digitalWrite(3,LOW);
    digitalWrite(12,LOW);
    delay(t);
     digitalWrite(4,HIGH);
    digitalWrite(11,HIGH);
    delay(t);
    digitalWrite(4,LOW);
    digitalWrite(11,LOW);
    delay(t);
    digitalWrite(5,HIGH);
    digitalWrite(10,HIGH);
    delay(t);
    digitalWrite(5,LOW);
    digitalWrite(10,LOW);
    delay(t);
    digitalWrite(6,HIGH);
    digitalWrite(9,HIGH);
    delay(t);
    digitalWrite(6,LOW);
    digitalWrite(9,LOW);
    delay(t);       
}    

void pat9(){ 
    for(int i=3; i<=12; i++) {
      digitalWrite(i,HIGH);
    }
     for(int i=3; i<=12; i++) {
      digitalWrite(i,LOW);
      delay(100);
      digitalWrite(i,HIGH);
    }
    for(int i=11; i>=4; i--) {
      digitalWrite(i,LOW);
      delay(100);
      digitalWrite(i,HIGH);
    }
  
}  

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od gilhad » 23 čer 2021, 13:38

Tak bych rekl, ze ti to na tlacitka stejne nebude reagovat, protoze porad nikde nic nectes a ty nove promenne button[] nikde nepouzivas

zajicjarda
Příspěvky: 39
Registrován: 31 srp 2017, 22:29
Reputation: 0

Re: STONE TFT LCD design tlačítek

Příspěvek od zajicjarda » 27 čer 2021, 21:54

Zkusil bych co ti ten displej vůbec posíla do arduina, jestli nečekáš na něco jiného než má přijít, cteš správnou hodnotu?. Za druhé, jestli nemáš chybu někde v propojení.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 12 hostů