Добрый день. Я новичок в плане работы с Ардуино, нужна помощь в переписке скетча. Собираю паяльную станцию по проекту Watashi, столкнулся с проблемой объявления дисплея в скетче так как у меня дисплей не такой как использовался в проекте. Мой дисплей 4 дюйма на микроконтроллере ST7796s но он подключается в другие пины (исходя из мануала на дисплей ) на Ардуино отличные от тех что указаны в скетче. Сам дисплей я подключил как по мануалу и проверил на стандартных примерах что есть в даташите\мануале. также к нему идут три разных библиотеки https://drive.google.com/drive/folders/1rj5zr77CWscJqCgN3qawQJwRXjTxfZ6M?usp=sharing Вот как объявляется мой дисплей в стандартном примере: Код (C++): // IMPORTANT: LCDWIKI_SPI LIBRARY AND LCDWIKI_TOUCH LIBRARY MUST BE SPECIFICALLY // CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD. //This program is a demo of drawing //when using the BREAKOUT BOARD only and using these hardware spi lines to the LCD, //the SDA pin and SCK pin is defined by the system and can't be modified. //if you don't need to control the LED pin,you can set it to 3.3V and set the pin definition to -1. //other pins can be defined by youself,for example //pin usage as follow: // CS DC/RS RESET SDI/MOSI SDO/MISO SCK LED VCC GND //Arduino Mega2560 A5 A3 A4 51 50 52 A0 5V/3.3V GND // T_IRQ T_DO T_DIN T_CS T_CLK //Arduino Mega2560 49 47 48 45 46 //Remember to set the pins to suit your display module! /********************************************************************************* * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, QD electronic SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. **********************************************************************************/ #include <LCDWIKI_GUI.h> //Core graphics library #include <LCDWIKI_SPI.h> //Hardware-specific library #include <LCDWIKI_TOUCH.h> //touch screen library //paramters define #define MODEL ST7796S #define CS A5 #define CD A3 #define RST A4 #define LED A0 //if you don't need to control the LED pin,you should set it to -1 and set it to 3.3V //touch screen paramters define #define TCS 45 #define TCLK 46 #define TDOUT 47 #define TDIN 48 #define TIRQ 49 //the definiens of hardware spi mode as follow: //if the IC model is known or the modules is unreadable,you can use this constructed function LCDWIKI_SPI my_lcd(MODEL,CS,CD,RST,LED); //model,cs,dc,reset,led //the definiens of touch mode as follow: LCDWIKI_TOUCH my_touch(TCS,TCLK,TDOUT,TDIN,TIRQ); //tcs,tclk,tdout,tdin,tirq а вот как он объявлен в скетче у автора Watashi, Код (C++): // Используемые библиотеки ----------------------------- #include <UTFT.h> UTFT myGLCD(CTE40, 38, 39, 40, 41); и еще на вкладке для тачскрина: Код (C++): // ------------------------------- #if defined(SetTouch1) || defined(SetTouch2) // если используется тач #define Set_Touch #endif // ------------------------------- #ifdef SetTouch2 #include <URTouch.h> //URTouch myTouch(48, 50, 51, 46, 2); // это мой дисплей для дуе URTouch myTouch( 52, 53, 51, 50, 44); // для дисплея ST7796S int xpok, ypok; //screen coordinates #endif // ------------------------------- #ifdef SetTouch1 // Тач аналоговый #include <TouchScreen.h> uint8_t YP = A0; // must be an analog pin, use "An" notation! uint8_t XM = A1; // must be an analog pin, use "An" notation! uint8_t YM = A2; // can be a digital pin uint8_t XP = A3; // can be a digital pin uint8_t SwapXY = 0; #define MINPRESSURE 20 #define MAXPRESSURE 1000 #define SWAP(a, b) {uint16_t tmp = a; a = b; b = tmp;} TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); TSPoint tp; uint16_t TS_LEFT = 900; uint16_t TS_RT = 125; uint16_t TS_TOP = 940; uint16_t TS_BOT = 95; int xpok, ypok; //screen coordinates uint8_t Orientation = 3; //PORTRAIT void SetPinTouch1() { pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); pinMode(XP, OUTPUT); pinMode(YM, OUTPUT); } #endif Может кто то-то помочь с переделкой скетча? PS Прошу сильно не пинать я новичок
"LCDWIKI_SPI my_lcd(MODEL,CS,CD,RST,LED); //model,cs,dc,reset,led" Судя по всему у вас дисплей имеет подключение SPI т.е. последовательная, а не параллельная передача данных. И распиновка на картинке это показывает. Такой дисплей никто в данном проекте не использовал. В библиотеке UTFT есть возможность подключения по SPI, я не подключал таких дисплеев. Скорее всего нормально работать не будет((
Добрый день и спасибо за ответ. а скажите пожалуйста этот дисплей будет поддерживатся? https://www.ebay.de/itm/154022730332?hash=item23dc785a5c:g:xD8AAOSwMEFfHtAT и в вашем скетче он объявляется строкой Код (C++): UTFT myGLCD(CTE40, 38, 39, 40, 41); Спасибо