NS.One dan SD Card

Di pertengahan Desember 2012, tim R&D Padepokan Robot NEXT SYSTEM me-release library untuk penggunaan SD Card pada platform NS.One.

Hubungan NS.One dan modul SD Card menggunakan antarmuka SPI – Serial Peripheral Interface : MOSI, MISO dan SCK, sementara pin SS digunakan untuk chip select. Masing-masing terhubung dengan board NS.One pada pin 13 (MOSI), 14 (MISO), 15 (SCK) dan 12 (SS).

Library yang digunakan merujuk pada FAT16 Library for SD flash cards, dengan penyesuaian di beberapa bagian. FAT16 adalah format yang didukung saat ini.

Berikut adalah satu contoh yang disertakan, untuk meng-insert 100 baris teks ke dalam file APPEND.TXT. Data yang disimpan dapat dilihat di komputer.

#include <Fat16.h>
#include <Fat16util.h>

SdCard card;
Fat16 file;

#define error(s) error_P(PSTR(s))

void error_P(const char* str) {
  PgmPrint("error: ");
  SerialPrintln_P(str);
  if (card.errorCode) {
    PgmPrint("SD error: ");
    Serial.println(card.errorCode, HEX);
  }
  while(1);
}

void setup(void) {
  Serial.begin(9600);
  Serial.println();
  PgmPrintln("Type any character to start");
  while (!Serial.available());

  if (!card.init()) error("card.init");

  if (!Fat16::init(&card)) error("Fat16::init");

  char name[] = "APPEND.TXT";
  PgmPrint("Appending to: ");
  Serial.println(name);

  file.writeError = false;

  for (uint8_t i = 0; i < 100; i++) {
    if (!file.open(name, O_CREAT | O_APPEND | O_WRITE)) error("open");
    for (uint8_t j = 0; j < 100; j++) {
      file.print("line ");
      file.print(j, DEC);
      file.print(" of pass ");
      file.print(i, DEC);
      file.print(" millis = ");
      file.println(millis());
      if (file.writeError) error("write");
    }
    if (!file.close()) error("close");
    if (i > 0 && i%25 == 0)Serial.println();
    Serial.write('.');
  }
  Serial.println();
  Serial.println("Done");
}

void loop(void) { }

NS.One adalah board mikrokontroler berbasis ATmega16 dan ATmega32 yang dikembangkan oleh Padepokan Robot NEXT SYSTEM Bandung, dapat diprogram dengan software NS.One – arduino compatible, dan sejumlah software untuk AVR lainnya.