Good day all,
I am new on that forum. I am writing to You as I need a help. I am trying to make some hobby project. The part of the project is touch screen made by HAOYU-Electronics FT810CB-HY50HD-IPS with the FT810 controller.
Unluckily when I was preparing for that project and when I found this screen I did not figure out that it is quite old one.
Basically I have Arduino Uno R4 Minima and I am trying to make it work with my FT810 screen.
I went through a lot of pages and this forum. I think I have tried all libraries. Starting from FT81x Arduino Library available in the Arduino IDE, GD2, GD3 and finally GD23Z.
I have connected screen via small removable mini-board card included to the screen and flat cable. As shown below (a keep the cables short as possible).
Current setup of the pins:
FT810 (HotMCU) Arduino UNO R4 Minima
MOSI pin 11
MISO pin 12
SCK pin 13
GND GND
VCC 5.0V
CS pin 9
PD pin 8
INT pin 10
When I tried to use FT81x library and its examples. The screen is dead. nothing happens. However as I see (I think) this library is for screen with additional card like below, which I do not have in my version of the screen.
So I followed this thread from the forum Library for LCD - SPI, FT810 ??? - #4 by TFTLCDCyg
It was suggested to use GD2/GD3 library with my screen. So I tried. Unfortunately what I suspect the library is 7 years old and my Uno R4 is too new. I have tried also GD23Z which was slightly never version of the library. But with no luck. I am getting compile errors.
First of all sorry for long description but I wanted to give You as much information about behind problem story.
Summing this up. Like I mentioned above I am getting compile errors like this.
In file included from Documents\Arduino\libraries\GD23Z-master\examples\all_boards\helloworld\helloworld.ino:2:0:
GD23Z-master/GD23Z.h: In member function 'void sdcard::begin(byte)':
GD23Z-master/GD23Z.h:311:9: error: 'class arduino::ArduinoSPI' has no member named 'setClockDivider'
SPI.setClockDivider(SPI_CLOCK_DIV64);
^~~~~~~~~~~~~~~
GD23Z-master/GD23Z.h:311:25: error: 'SPI_CLOCK_DIV64' was not declared in this scope
SPI.setClockDivider(SPI_CLOCK_DIV64);
^~~~~~~~~~~~~~~
GD23Z-master/GD23Z.h:311:25: note: suggested alternative: 'CGC_SYS_CLOCK_DIV_64'
SPI.setClockDivider(SPI_CLOCK_DIV64);
^~~~~~~~~~~~~~~
CGC_SYS_CLOCK_DIV_64
GD23Z-master/GD23Z.h:387:9: error: 'class arduino::ArduinoSPI' has no member named 'setClockDivider'
SPI.setClockDivider(SPI_CLOCK_DIV2);
^~~~~~~~~~~~~~~
GD23Z-master/GD23Z.h:387:25: error: 'SPI_CLOCK_DIV2' was not declared in this scope
SPI.setClockDivider(SPI_CLOCK_DIV2);
^~~~~~~~~~~~~~
GD23Z-master/GD23Z.h:387:25: note: suggested alternative: 'AGT_CLOCK_P402'
SPI.setClockDivider(SPI_CLOCK_DIV2);
^~~~~~~~~~~~~~
AGT_CLOCK_P402
GD23Z-master/GD23Z.h:388:5: error: 'SPSR' was not declared in this scope
SPSR = (1 << SPI2X);
^~~~
GD23Z-master/GD23Z.h:388:5: note: suggested alternative: 'SPI'
SPSR = (1 << SPI2X);
^~~~
SPI
GD23Z-master/GD23Z.h:388:18: error: 'SPI2X' was not declared in this scope
SPSR = (1 << SPI2X);
^~~~~
GD23Z-master/GD23Z.h:388:18: note: suggested alternative: 'SPI'
SPSR = (1 << SPI2X);
^~~~~
SPI
exit status 1
Compilation error: exit status 1
As far as I understood, missing declarations and members were in older version of SPI of UNO R3. Am I right? Same is on all GD libraries versions.
Anyway is there any chance to run FT810 screen on Uno R4? Maybe someone has some working library or can suggest something. What is strange for me GD library is seeking for sdcard function where my screen has no SD card reader. Hopefully i did not spent money for nothing.
BTW. If You could suggest some similar TFT touch screen 5-7 inch which will not make so many troubles and will not cost fortune. What if could be?
I hope I did not mess up to much this thread. Thank You in advance for any advice or help.
Best regards!