با سلام
اتفاقا باید از سیم های SPI مشترک استفاده بکنید.
یعنی LCD , SD بر روی یک پورت SPI باشن. یعنی پین های MISO,MOSI,CLK باید مشترک باشن و سایر پین ها به پین های دیگر وصل باشن (حتما پین های CS هر کدام از ماژول ها به پین های مختلف وصل باشن)
در این شرایط نمایشگر و SD کارت با هم کار میکنند. در مورد تاچ در صورتی که تاچ شما از نوع مقاومتی 4 سیم مستقیم باشد هیچ ارتباطی به پروتکل SPI ندارد و احتمالا مشکل در برنامه نویسی می باشد که قفل میشود
در صورتی که از تاچ های خازنی و یا مقاومتی که IC درایور دارن و به پروتکل SPI تغییر پیدا میکنند باز هم شرایط بالا را داریم و سیم های مشترک را مشترک میگیرید و پایه CS را به پین دیگری وصل میکنید.
داخل کانفیگ کتابخانه نیز جایی برای تنظیم این نوع تاچ در نظر گرفته شده است که برای تاچ های XPT2046 مورد استفاده قرار میگیرد. سایر تاچ ها باید از کتابخانه مربوطه برای این موضوع استفاده کنید.
#define TOUCH_CS 21
در مورد نمایش عکس نیز از نویسنده کتابخانه TFT_eSPI یک کتابخانه دیگر داریم به اسم JPEGDecoder که دقیقا برای همین موضوع طراحی شده است.
ویرایش اول:
عرض کردم نقشه سیم کشی را قرار بدهید. به هر حال.
در این سیم کشی شما یک خطا وجود دارد. برد ESP32 با 3.3 ولت کار میکند و ماژول SD Card هم با 3.3 ولت کار میکند. و زمانی که تغذیه از 5 ولت تامین میشود امکان دارد یک نویز بر روی لاین دیتا به وجود بیاید. برای رفع این مشکل باید رگوراتور روی ماژول SD Card را حذف بکنید. برای این موضوع به این تاپیک مراجعه بفرمایید.