Доброе времени суток, проблема такова, при записи или чтении с SD карты на дисплее в момент записи появляются помехи, в виде блика , на фото то что получилось снять , немогу понять счем может быть связано, побывал на разных контролерах(mega uno) на нескольких дисплеях , при этом подключения было как и на макетке так и на плате , так то всё работает, но это мерцание при записи раздражает , подскажите что можно сделать.
#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.");
}
}```

Банальным 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);
}``` добавил , эфект остался , побывал специально написать навыворот , он просто усиливается,
Такой нюанс, если поток данных залетает на дисплей, он бы там и остался, так как очистки дисплея в коде нет , Эта помеха связана с чем-то другим … ну по моей логике )
Вообщем недолгол думая соорудил я ужас, я подключил второй экран и вставил туда СД карту (Один экран как Экран второй просто как слот СД), так работает , полностью убрал пересечение пинов, тоесть общих пинов задействованых в чтении СД карты и дисплея нет, получается проблема именно аппаратная. Я подозреваю что проблема втом что на СД карте вроди как должно быть 3,3 вольта , и нада наверное использовать конвертер уровней, и возможно тогда эта проблема уйдёт , но не уверен. Если у кого есть какие мысли поделитесь.
короче разочарован я этим экраном , какой смысл тут от сд карты если по факту она не работает, а весь инет заален банальным примером как вывести картинку , очень нужный пример… Ни конверторы уровней нихера ему не помогает, единственное как он работает если питать ардуино от 3,3 вольт. только потом проблемы с другими шилдами, С совместимость … Бееее
дело скорее не в экране, интерфейс записи на карту очень шумный априори, при хорошем битрейте даже заводские писалки иногда дают помехи на запись… я это знаю по опыту записи полётов FPV
бери отдельный шилд SD карты и пользуй с удовольствием свой экран
Так всем спасибо , я решил, просто я лох, я короче поверил в то что резисторы как указаны в даташите там не нужны, и я так использовал его годами, как экран, и я то был уверен уже в этом, так что если у кого будут проблемы просто ставьте долбаные резисторы как в даташите указано , по схеме подключения, и не слушайте тех кто говорит что они там не нужны, тема закрыта. всем спасибо кто принял участие в моей борьбе с самим собой ))