|
Stránka 1 z 1
|
[ Příspěvků: 10 ] |
|
Autor |
Zpráva |
vlkodlak
|
Napsal: čtv 22.11.2018 9:39 |
|
Zkušený debatér
|
|
|
Registrován: 9.2.2012 Příspěvky: 297 Bydliště: Louny
|
Zdravím, hraju si s TFT displejem a hodinami. Chci zobrazit na displeji aktualní čas, ale v kodu mám nějakou chybu. Čas se zobrazuje, ale čísla se nepřepisují korektě, "mastí" se přez sebe. Dokážete mi prosím někdo poradit ? Děkuji.
__________________________________________________________________________
#include <Wire.h> #include "RTClib.h"
#include <Adafruit_GFX.h> #include <Adafruit_TFTLCD.h>
RTC_DS1307 DS1307;
char datumCas[100]; char cas[120];
#define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 #define LCD_RESET A4
#define cerna 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
void setup() {
tft.reset(); tft.begin(0x9481); tft.setRotation(1); tft.setTextSize(4); tft.drawRect(0,0,480,320,cerna); // komunikace přes sériovou linku rychlostí 9600 baud Serial.begin(9600); // kontrola připojeného obvodu reálného času if (! DS1307.begin()) { Serial.println("Hodiny nejsou pripojeny!"); while (1); } // kontrolu spuštění obvodu reálného času if (! DS1307.isrunning()) { Serial.println("Hodiny nejsou spusteny! Spoustim nyni.."); } // pro nastavení času v obvodu reálného času použijte jednorázově(!) // následující příkaz v pořadí rok, měsíc, den, hodina, minuta, vteřina // příklad: 26.4.2016 9:10:11 //DS1307.adjust(DateTime(2018, 11, 16, 10, 36, 30));
}
void loop() {
// načtení aktuálního času a data do proměnné datumCas DateTime datumCas = DS1307.now(); sprintf(cas, "%02d:%02d:%02d", datumCas.hour(),datumCas.minute(),datumCas.second()); tft.setCursor(80,100); tft.setTextColor(WHITE); tft.print (cas); tft.setCursor(180,150);
delay (1000); }
_________________ RadiomasterTX16S, V 911, V 939, V912, Eachine E160
|
|
Nahoru |
|
|
|
|
|
BoŠ
|
Napsal: čtv 22.11.2018 10:37 |
|
Mazák
|
|
|
Registrován: 26.5.2013 Příspěvky: 1538 Bydliště: Brno
|
vlkodlak píše: ... Nevím, jak knihovna spolupracuje s driverem displeje, ale obecně platí, že si ovladač driveru uloží požadované znaky do paměti, dle které je potom driver zobrazuje aktivací příslušných segmentů na displeji. V textovém režimu je vcelku jasné, že znaky přepisuje komplet, to znamená, že celou matici přepíše. V grafickém režimu se ale může stát, že aktivuje pouze segmenty nutné pro zobrazení nového znaku, ale nepřepisuje všechny segmenty v dané matici. Neboli nakonec rozsvítí takřka vše. Takže bych hledal problém v nastavení režimu displeje. A nebo před zobrazením nového znaku zobrazit předchozí znak barvou pozadí a teprve poté nový znak bílou barvou.
_________________ MC-20HOTT,DS-16,X10S,14SG,S-trino MkII,SpeedFire, Extra 102",MiniCorado,LOGO550SE,Goblin570
|
|
Nahoru |
|
|
JirkaA
|
Napsal: čtv 22.11.2018 10:45 |
|
Moderátor serveru
|
|
|
Registrován: 16.8.2008 Příspěvky: 6897 Bydliště: Moravský kras
|
B. je pravda, u grafického displeje si ten kousek místa musíš před přepsáním smáznout, v knihovně na to bude určitě funkce (přinejhorším obdélník s barvou okraje i výplně shodnou s barvou pozadí).
_________________ OK2WY
|
|
Nahoru |
|
|
ellet
|
Napsal: čtv 22.11.2018 10:58 |
|
Mazák
|
|
|
Registrován: 12.2.2016 Příspěvky: 1978 Bydliště: Vysočina, ČR
|
... a nebo jednoduše těsně před tiskem dalšího času přetisknout ten starý barvou pozadí. (Mělo by se to trochu upravit - blikání.)
|
|
Nahoru |
|
|
BoŠ
|
Napsal: čtv 22.11.2018 11:13 |
|
Mazák
|
|
|
Registrován: 26.5.2013 Příspěvky: 1538 Bydliště: Brno
|
Každopádně záleží na tom, jak je napsaná knihovna.
_________________ MC-20HOTT,DS-16,X10S,14SG,S-trino MkII,SpeedFire, Extra 102",MiniCorado,LOGO550SE,Goblin570
|
|
Nahoru |
|
|
ellet
|
Napsal: čtv 22.11.2018 11:34 |
|
Mazák
|
|
|
Registrován: 12.2.2016 Příspěvky: 1978 Bydliště: Vysočina, ČR
|
Měl bych dvě proměnné DateTime. V jedné poslední tisknutý čas, v druhé aktuální (čteno ve smyčce). Tisk po změně, starý barvou pozadí......a zase čekat na změnu. Mělo by to fungovat bez ohledu na knihovnu uspokojivě.
|
|
Nahoru |
|
|
JirkaA
|
Napsal: čtv 22.11.2018 11:42 |
|
Moderátor serveru
|
|
|
Registrován: 16.8.2008 Příspěvky: 6897 Bydliště: Moravský kras
|
ellet píše: Měl bych dvě proměnné DateTime. V jedné tisknutý čas, v druhé aktuální (čteno ve smyčce). Tisk po změně, starý barvou pozadí......a zase čekat na změnu. Mělo by to fungovat bez ohledu na knihovnu uspokojivě. Tak to je snad nejhorší možné řešení z hlediska času Vykreslovat font podruhý, to trvá podstatně dýl, než to přeplácnout obdélníkem, to se nediv že to bliká..
_________________ OK2WY
|
|
Nahoru |
|
|
ellet
|
Napsal: čtv 22.11.2018 11:51 |
|
Mazák
|
|
|
Registrován: 12.2.2016 Příspěvky: 1978 Bydliště: Vysočina, ČR
|
JirkaA píše: Tak to je snad nejhorší možné řešení z hlediska času Vykreslovat font podruhý, to trvá podstatně dýl, než to přeplácnout obdélníkem, to se nediv že to bliká.. Jestli to bliká, jsem nezkoušel a zkoušet nebudu. Tisk ve smyčce a mezitím mazání (bez ohledu na změnu tisknuté veličiny) k blikání nebo snížení jasu asi povede ať je rychlost jakákoli. I pomalejší tisk po změně (t.j. po vteřině) bude prakticky neznatelný. Důležitý vidím to po změně (a vystačí s tím co zná a má). Proti rychlejšímu mazání ale nic nemám (Teď ale dodatečně koukám, že jsem na konci přehlídl ten delay(1000), stejně bych to vyhodil.)
|
|
Nahoru |
|
|
tomashr
|
Napsal: čtv 13.12.2018 13:11 |
|
Moderátor serveru
|
|
|
Registrován: 21.6.2008 Příspěvky: 6022 Bydliště: Praha ČR
|
Poznámka na okraj - teď nedávno jsem si u Arduina trochu naběhl s OLED displejem, kdy po upgradu Arduino IDE na 1.8 to totálně tuhlo a padalo (přitom šlo o kód dříve perfektně funkční). Ukázalo se, že s novým IDE kraví knihovny pro něj - GFX, adafruit atd. Po nějaké době vylezl upgrade jak IDE, tak knihoven a řekl bych, že nyní už to vše chodí,dobře. Berte jen jako obecné upozornění - zjevně ten poslední upgrade Arduino IDE nebyl úplně bez bolestí a měl i dopady do knihoven, při nějakých nejasnostech zkuste projít Library Manager a aktualizovat..
|
|
Nahoru |
|
|
ddano007
|
Napsal: sob 15.12.2018 21:10 |
|
Mecenáš serveru
|
|
|
Registrován: 18.3.2010 Příspěvky: 2878 Bydliště: Zavar, SK
|
A čo máš teraz za verziu IDE s ktorou to už ide?
_________________ X9D & T16Pro & TX16S & nejaké lietadlá, heli a koptéry www.rcmodelytt.sk
|
|
Nahoru |
|
|
|
Stránka 1 z 1
|
[ Příspěvků: 10 ] |
|
Kdo je online |
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník |
|
Nemůžete zakládat nová témata v tomto fóru Nemůžete odpovídat v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete přikládat soubory v tomto fóru
|
|
|