TFT и SD не работают вместе

Я использую 2,8-дюймовый TFT сенсорный экран v1, и я хочу прочитать некоторые данные, которые были записаны в sd, и отобразить их с помощью tft.

При заказе следующего кода для доступа к данным. TFT замирает.... но выполнение кода продолжается...

    pinMode(SS, OUTPUT);
    // see if the card is present and can be initialized:
    if (!SD.begin(chipSelect)) {
       Serial.println("Card failed, or not present");
    // don't do anything more:
       while (1) ;
    }

    Tempfile = SD.open("DATALOG.TXT",FILE_READ);
    if (! Tempfile) {
       Serial.println("error opening datalog.txt");
    // Wait forever since we cant write data
       while (1) ;}

Я протестировал код на примере графического теста tft... и в результате был заморожен tft...

Я также попытался запустить пример: tftbmp, но tft остается черным. Еще раз код выполняется в цикле, когда я получаю результаты с последовательного монитора, но tft черный...

Я использую Arduino Uno R3.

Любой совет приветствуется

, 👍0


2 ответа


0

старая тема, но поскольку у меня те же проблемы, я поделюсь тем, что нашел.

Выбор микросхемы обычно равен 10 для arduino uno, в некоторых исключениях установлены другие контакты.

также я нашел парня, утверждающего, что он исправил свои проблемы, установив после

pinMode(SS, OUTPUT); digitalWrite(SS, HIGH);

,

выбор чипа равен 10, если Uno является подчиненным SPI. если Uno является ведущим, должно быть ВЫВЕДЕНО 10. таким образом, он обычно используется в качестве выбора чипа для одного из подчиненных устройств SPI. библиотека SPI устанавливает вывод SS в качестве ВЫХОДНОГО и ВЕРХНЕГО в begin(), @Juraj


1

Решение по переносу данных из SD в TFT может зависеть от типа хранимых данных. См. примеры, включенные в программное обеспечение для вашего TFT. Также возможно решить эту проблему с двумя Arduino, используя Software Serial, который, как я полагаю, включен в Arduino IDE. Предположим, вы сохранили аналоговые данные с датчика на SD. Во время записи вы могли визуализировать входящие данные на вашем последовательном плоттере, а ваш скетч также позволял вам видеть данные в реальном времени на вашем TFT. Теперь вы хотите еще раз визуализировать данные, записанные на вашем SD, на TFT. Для этого с помощью Software Serial SD-карта может быть установлена на одном Arduino, а TFT — на другом. Контакты Tx и Rx двух плат Arduino должны быть подключены, как описано в руководстве по программному обеспечению Arduino. Этот метод должен позволять пользователю «обмануть» Arduino с TFT думает, что он получает живые аналоговые данные от датчика. Поскольку пользователь уже написал скетч для визуализации данных с датчика на TFT, изменения должны быть простыми.

,