Kode Dasar Data Logging Shield Arduino Uno
Panduan Dasar Arduino Data Logger Shield
Bismillahirrahmanirrahim. Pada artikel ini saya akan membagikan cara pakai kode dasar data logging shield v1.0 Arduino dari Deek Robot. Untuk gambarnya dapat anda lihat berikut ini:
Gambar ini milik cowboydaniel |
Perhatikan Pin yang digunakan
Didalam shield ini terdapat dua komponen utama yaitu SD Card Reader dan RTC 1307. Saat menggunakan bersamaan dengan Arduino Uno, pastikan anda mengetahui PIN yang digunakan.
SD Card Reader menggunakan komunikasi SPI, sehingga ini akan menggunakan pin:
- 13 sebagai SCK
- 12 sebagai MOSI
- 11 sebagai MISO
- 10 sebagai CS (chip select)
- A4 sebagai SDA
- A5 sebagai SCL
Oleh karena itu, pastikan anda tidak menggunakan pin diatas untuk keperluan lain input output.
Kode Dasar SD Card Reader
Untuk akses SD Card, anda dapat menggunakan kode dasar dibawah ini. Silahkan upload ke Arduino Board anda lalu buka Serial Monitor untuk melihat hasilnya.
// include the SD library: #include <SPI.h> #include <SD.h> // set up variables using the SD utility library functions: Sd2Card card; SdVolume volume; SdFile root; const int chipSelect = 10; void setup() { Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.print("\nInitializing SD card..."); if (!card.init(SPI_HALF_SPEED, chipSelect)) { Serial.println("failed"); return; } else { Serial.println("Success"); } // print the type of card Serial.print("\nCard type: "); switch (card.type()) { case SD_CARD_TYPE_SD1: Serial.println("SD1"); break; case SD_CARD_TYPE_SD2: Serial.println("SD2"); break; case SD_CARD_TYPE_SDHC: Serial.println("SDHC"); break; default: Serial.println("Unknown"); } if (!volume.init(card)) { Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card"); return; } // print the type and size of the first FAT-type volume uint32_t volumesize; Serial.print("\nVolume type is FAT"); Serial.println(volume.fatType(), DEC); Serial.println(); volumesize = volume.blocksPerCluster(); // clusters are collections of blocks volumesize *= volume.clusterCount(); // we'll have a lot of clusters volumesize *= 512; // SD card blocks are always 512 bytes Serial.print("Volume size (bytes): "); Serial.println(volumesize); Serial.print("Volume size (Kbytes): "); volumesize /= 1024; Serial.println(volumesize); Serial.print("Volume size (Mbytes): "); volumesize /= 1024; Serial.println(volumesize); Serial.println("\nFiles found on the card (name, date and size in bytes): "); root.openRoot(volume); // list all files in the card with date and size root.ls(LS_R | LS_DATE | LS_SIZE); } void loop(void) { }
Jika hasil yang ditunjukkan pada Serial monitor seperti pada gambar berikut, artinya anda berhasil mengakses memori yang dimasukkan kedlaam slot memori card di shield Data Logging Deek Robot tersebut.
Kode Dasar RTC DS1307
Untuk akses RTC, disini saya menggunakan library RTClib dari Adafruit. Jangan lupa untuk istall juga library BusIO, jika tidak RTClib akan error.
Jika library sudah selesai di install, sekarang silahkan anda upload kode program dasar berikut ke Arduino anda, kemudian perhatikan pada serial monitor.
#include "RTClib.h" RTC_DS1307 rtc; char daysOfTheWeek[7][12] = {"Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"}; void setup () { Serial.begin(9600); if (! rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (1) delay(10); } if (! rtc.isrunning()) { Serial.println("RTC is NOT running, let's set the time!"); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } } void loop () { DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(" ("); Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); delay(1000); }
Jika di serial monitor anda tampil seperti pada gambar berikut, artinya akses ke RTC sukses.
Selesai. Kini anda dapat melakukan modifikasi terhadap kode diatas untuk keperluan anda. Jangan lupa, sampai disini anda telah menggunakan 6 pin. Pastikan anda tidak menggunakan pin tersebut untuk I/O,
Semoga artikel cara pakai data logging shield arduino uno ini bermanfaat.
Posting Komentar untuk "Kode Dasar Data Logging Shield Arduino Uno"