Помогите те кто шарит за работу с олед дисплеями и SD картами

я очень хочу изучить работу SD карт на ардуино уно, а конкретнее прочитать бинарный набор данных для картинки с файла .txt ( олед дисплей 128х64 черно-белый ) и вывести саму картинку на дисплей. навалял кода и даже нейросеть не смогла помочь. вот мой код ( можете предложить свой вариант )

#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
const int chipSelect = 10;
void setup() {
  Serial.begin(9600);
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
  if (!SD.begin(chipSelect)) {
    Serial.println("SD card initialization failed!");
    while (1);
  }

  File myFile = SD.open("myfile.txt", FILE_READ);
  char fileContent = "";
  if (myFile) {
    Serial.println("myfile.txt:");
    // Читаем файл, пока есть доступные данные
    while (myFile.available()) {
      fileContent += (char)myFile.read(); // Читаем и выводим один байт
    }
    myFile.close();
    static const unsigned char image_data[] = {fileContent};
    display.clearDisplay();
    display.setTextSize(1);  // Увеличиваем размер текста
    display.setTextColor(WHITE);
    display.setCursor(0,0); 
    display.println("mini pc");
    display.setCursor(0,10);
    display.println("by Kirill velikiy");
    // Draw the bitmap
    display.drawBitmap(0, 0, image_data, SCREEN_WIDTH, SCREEN_HEIGHT, SSD1306_WHITE); // Используем SCREEN_WIDTH и SCREEN_HEIGHT

    // Display the image
    display.display();
    Serial.print(fileContent);
  } else {
    Serial.println("error opening myfile.txt");
  }
  
}

void loop() {}

и еще пример того что написано в текстовом файле
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

… и дофига такого же

Не тот контроллер выбрал

  1. Вы не понимаете разницы между bin и txt.
  2. Что вы выводите на экран в 40 строке ???
  3. 38 строка о многом говорит …
1 лайк

Код полный бред.
В дополнение к тому что сказали ранее, давайте посмотрим, как вы читаете файл. В строке 23 создаёте переменную размером в 1 символ и потом самозабвенно суммируете в этой переменной значения всех других символов. Интересно, что вы рассчитываете при этом получить? Во - первых, это не массив, а одиночный символ. А во-вторых, даже если бы был массив - массив оператором “+” не дополняется.
Потом в строке 31 вы зачем-то превращает свой одиночный символ в массив… И думаете, что там внутри весь файл?

Короче, неудивительно что даже ИИ не смог помочь. Этот код нет смысла править, его просто выкинуть надо.
Садись, два.

Инфоцыгане постепенно эволюционируют до ИИнфоцыган :frowning:

1 лайк

Было бы гораздо лучше, если бы Вы захотели прочитать учебник.

с форумом что то не то, или с моим пк)))
вот недавно оставлял сообщение тут, а теперь уже нет его…
https://mytectutor.com/micro-sd-card-module-with-arduino-and-tft-display/
вот готовый код, возможно рабочий