#1 2015-09-29 16:49:15

Эллимор
Учасник
Зареєстрований: 2015-09-29
Повідомлень: 1

Помогите сделать картридер

Помогите написать алгоритм картридера для Arduino Mega с LCD Keypad Shield и SD картой. LCD - 16x2. Библиотеки SD.h и LiquidCrystal.h. Заранее спасибо за советы или решения. На данный момент алгоритм выводит на LCD первые два файла из корневой директории. Как "листать" файлы - пока не понял

/*
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 51
 ** MISO - pin 50
 ** CLK - pin 52
 ** CS - pin 53
 
 */
#include <SD.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int a = 1;

File root;

void setup()
{
  
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print('>'); 
  Serial.begin(9600);
   while (!Serial) {
    ; 
  }


  Serial.print("Initializing SD card...");
  pinMode(53, OUTPUT);

  if (!SD.begin(53)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  root = SD.open("/");
  
  printDirectory(root, 0);
  
  Serial.println("done!");
}

void loop()
{
  
}

void printDirectory(File dir, int numTabs) {
   while(true) {
     
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       lcd.print('\t');
     }
     
     if (entry.isDirectory()) {
       if (a == 0) {a=1;} else {a = 0;}
       lcd.setCursor(1,a);
       lcd.print("[");
       lcd.print(entry.name());
       lcd.print("]");
     } else {
       if (a == 0) {a=1;} else {a = 0;}
       lcd.setCursor(1,a);
       lcd.print(entry.name());
     }
     entry.close();
   */}
}

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму