Tft display 128x160 +SD (красный) Помехи на экране при записи на SD

Доброе времени суток, проблема такова, при записи или чтении с SD карты на дисплее в момент записи появляются помехи, в виде блика , на фото то что получилось снять , немогу понять счем может быть связано, побывал на разных контролерах(mega uno) на нескольких дисплеях , при этом подключения было как и на макетке так и на плате , так то всё работает, но это мерцание при записи раздражает , подскажите что можно сделать. :frowning:

#include <Adafruit_ST7735.h>
#include <SPI.h>
#include <SdFat.h>
// для экрана 
#define TFT_SCLK 13  // SCL SCK 
#define TFT_MOSI 11 //  SDA  MOSI/DO
#define TFT_CS   2  // CS  SS
#define TFT_RES  9  //  RST RESET
#define TFT_RS   8 //   DC/A0
#define PRORT_LSD_light 5
 uint32_t TimerHUD = 0;
 int i=0;
 File myFile; // переменная для SD карты 
 SdFat SD;

 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_RS, TFT_RES);

void setup() {
  Serial.begin(9600);

  // инициализация дисплея 
  tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
  tft.fillScreen(ST7735_BLACK); // чистим дисплей 

  // инициализация карты на третьем пине 
  if (!SD.begin(3, SPI_HALF_SPEED)) {
    Serial.println("SD initialization failed!");
    return;
  }
}

void loop() {
  analogWrite(PRORT_LSD_light, 250);

  if (millis() - TimerHUD > 100) {
    if (i<50)
    {
      tft.setTextColor(tft.color565(255, 0, 255));
      tft.setTextSize(1);
      tft.setCursor(90, 50);
      tft.print("HELP");
      SD_KARD(); 
    }
   
    TimerHUD=millis();
    i++;
  }
}

void SD_KARD()
{
  myFile = SD.open("data.txt", FILE_WRITE); // открытие файла для записи
  if (myFile) {
    myFile.println("Hello, pisjjolfdskosdpsd"); // запись строки в файл
    myFile.close(); // закрытие файла
    Serial.println("String written to file!");
  } else {
    Serial.println("Error opening file.");
  }
}```
![Снимок|288x499](upload://k74CdPDfSCmjAznQPinY1eTjqsu.jpeg)

Фотка прилипла к скетчу и не видна !
Может надо CSом дисплея поуправлять перед записью и после ?

Банальным digitalWrite(3,LOW); побывал , вообще никакого эффекта нет) при чтении ставил на LOW потом на HIGH У меня такое впечатление , что но ловит какие то помехи просто, питания побывал внешнее подавать не помогло.

он вроде на 2 ноге ???
дисплей НИЧЕГО не знает про SD и ловит на себя поток данных, летящий в SD
также SD НИЧЕГО не знает про дисплей с тем же эффектом …

{
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  myFile = SD.open("data.txt", FILE_WRITE); // открытие файла для записи
  if (myFile) {
    myFile.println("Hello, pisjjolfdskosdpsd"); // запись строки в файл
    myFile.close(); // закрытие файла
    Serial.println("String written to file!");
  } else {
    Serial.println("Error opening file.");
  }
  digitalWrite(3,LOW);
  digitalWrite(2,HIGH);
}``` добавил , эфект остался , побывал специально написать навыворот , он просто усиливается,

Добавлю что я подключал радио модуль nRF24L01, и таких проблем не было, хотя передача шла гораздо чаще.

Фотку то покажите ?
Та что в первом сообщении - не видна !!!

Такой нюанс, если поток данных залетает на дисплей, он бы там и остался, так как очистки дисплея в коде нет , Эта помеха связана с чем-то другим … ну по моей логике )

Всякое может быть. Там есть команды подстройки/гашения и они могут так выглядеть.
Подтянуться обладатели подобных железок - расскажут …

1 лайк

Вообщем недолгол думая соорудил я ужас, я подключил второй экран и вставил туда СД карту (Один экран как Экран второй просто как слот СД), так работает , полностью убрал пересечение пинов, тоесть общих пинов задействованых в чтении СД карты и дисплея нет, получается проблема именно аппаратная. Я подозреваю что проблема втом что на СД карте вроди как должно быть 3,3 вольта , и нада наверное использовать конвертер уровней, и возможно тогда эта проблема уйдёт , но не уверен. Если у кого есть какие мысли поделитесь.

короче разочарован я этим экраном , какой смысл тут от сд карты если по факту она не работает, а весь инет заален банальным примером как вывести картинку , очень нужный пример… Ни конверторы уровней нихера ему не помогает, единственное как он работает если питать ардуино от 3,3 вольт. только потом проблемы с другими шилдами, С совместимость … Бееее

дело скорее не в экране, интерфейс записи на карту очень шумный априори, при хорошем битрейте даже заводские писалки иногда дают помехи на запись… я это знаю по опыту записи полётов FPV
бери отдельный шилд SD карты и пользуй с удовольствием свой экран

то что экран шумит в радиодиапазоне если использовать хардовый SPI - точно, пришлось перевести на SOFT SPI

1 лайк

Так всем спасибо , я решил, просто я лох, я короче поверил в то что резисторы как указаны в даташите там не нужны, и я так использовал его годами, как экран, и я то был уверен уже в этом, так что если у кого будут проблемы просто ставьте долбаные резисторы как в даташите указано , по схеме подключения, и не слушайте тех кто говорит что они там не нужны, тема закрыта. всем спасибо кто принял участие в моей борьбе с самим собой )):slight_smile:

1 лайк

:smile: у меня и так слишком модульное устройство получается , стараюсь минимизировать количество модулей)

1 лайк