Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Dalam tutorial Arduino ini kita akan mempelajari cara menggunakan modul Kartu SD dengan Papan Arduino. Selain itu, dalam kombinasi dengan modul Real Time Clock DS3231 kita akan membuat contoh pencatatan data tempat kita akan menyimpan data sensor suhu ke Kartu SD dan mengimpornya ke Excel untuk membuat grafik dari data tersebut. Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini.

Cara Kerja

Pertama mari kita lihat Modul Kartu SD. Modul ini bekerja dengan Kartu MicroSD standar yang tegangan operasinya 3,3 V. Oleh karena itu, modul memiliki regulator tegangan dan pemutar level sehingga kita dapat menggunakannya dengan pin 5V Papan Arduino.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Modul Kartu SD memiliki enam pin, dua untuk menyediakan daya pada modul, pin VCC dan GND, dan empat pin lagi untuk komunikasi SPI. Berikut cara kita harus menghubungkannya ke Papan Arduino.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Perhatikan bahwa setiap Papan Arduino memiliki pin SPI yang berbeda yang harus dihubungkan sesuai.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Anda dapat mendapatkan komponen yang diperlukan untuk tutorial Arduino ini dari tautan di bawah ini:

  • Modul Kartu Micro SD………………..
  • Papan Arduino ……………………………
  • Breadboard dan Kabel Jumper ………

Kode Arduino Modul Kartu SD

Selanjutnya kita perlu memprogram Arduino. Berikut kode sederhana:

/* * Arduino SD Card Tutorial Example * * by Dejan Nedelkovski, www.HowToMechatronics.com */ #include <SD.h> #include <SPI.h> File myFile; int pinCS = 53; // Pin 10 on Arduino Uno void setup() { Serial.begin(9600); pinMode(pinCS, OUTPUT); // SD Card Initialization if (SD.begin()) { Serial.println("SD card is ready to use."); } else { Serial.println("SD card initialization failed"); return; } // Create/Open file myFile = SD.open("test.txt", FILE_WRITE); // if the file opened okay, write to it: if (myFile) { Serial.println("Writing to file..."); // Write to file myFile.println("Testing text 1, 2 ,3..."); myFile.close(); // close the file Serial.println("Done."); } // if the file didn't open, print an error: else { Serial.println("error opening test.txt"); } // Reading the file myFile = SD.open("test.txt"); if (myFile) { Serial.println("Read:"); // Reading the whole file while (myFile.available()) { Serial.write(myFile.read()); } myFile.close(); } else { Serial.println("error opening test.txt"); } } void loop() { // empty }Bahasa kode: Arduino (arduino)

Deskripsi kode: Jadi pertama-tama kita perlu menyertakan perpustakaan standar SD dan SPI, membuat objek “File” dan mendefinisikan pin ChipSelect dari bus SPI, pin 53 dalam kasus saya untuk Papan Arduino Mega. Untuk contoh ini kita ingin kode kita hanya dieksekusi sekali, jadi semua kode akan ditempatkan di bagian “setup”, sementara bagian “loop” akan tetap kosong.

Jadi pertama-tama kita perlu memulai komunikasi serial dan mendefinisikan pin ChipSelect sebagai output. Kita harus melakukan ini karena pin ChipSelect perlu “Low” agar komunikasi SPI antara modul dan Arduino berfungsi.

Selanjutnya, menggunakan fungsi SD.begin() kita akan menginisialisasi Kartu SD dan jika inisialisasi berhasil pernyataan “if” akan menjadi benar dan string “SD card is ready to use.” akan dicetak di serial monitor, sebaliknya string “SD card initialization failed” akan dicetak dan program juga akan dihentikan.

Selanjutnya, menggunakan fungsi SD.open() kita akan membuat file baru bernama “test.txt”, termasuk argumen FILE_WRITE yang berarti kita dapat baik membaca maupun menulis ke file. Jika file sudah ada, fungsi SD.open() hanya akan membukanya.

Jadi jika file berhasil dibuat pertama-tama kita akan mencetak string “Writing to file” di serial monitor dan kemudian menggunakan fungsi myFile.println() kita akan mencetak teks “Testing text 1, 2 ,3…” ke dalam file. Setelah itu kita perlu menggunakan fungsi close() untuk memastikan bahwa data yang ditulis sebelumnya ke file secara fisik disimpan ke Kartu SD.

Selanjutnya, kita akan melihat cara kita dapat membaca dari file. Jadi lagi kita akan menggunakan fungsi yang sama, SD.open(), tapi kali ini karena file “test.txt” telah dibuat, fungsi hanya akan membuka file. Kemudian menggunakan fungsi myFile.read() kita akan membaca dari file dan mencetaknya di serial monitor. Fungsi read() sebenarnya hanya membaca satu karakter pada satu waktu, jadi oleh karena itu kita perlu menggunakan loop “while” dan fungsi myFile.available() untuk membaca semua karakter atau semua data yang ditulis sebelumnya. Pada akhirnya kita perlu menutup file.

Sekarang setelah mengunggah kode ke Arduino, jika semuanya baik, berikut akan muncul di serial monitor.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Seperti yang kita lihat, Kartu SD telah berhasil diinisialisasi, penulisan ke dalamnya juga berhasil, dan juga pembacaan data yang ditulis atau string “Testing text 1, 2 ,3…” berhasil dibaca. Jika kita membuka Kartu SD di komputer kita, kita dapat melihat file “test.txt” yang dibuat dan teks yang ditulis di dalamnya.

Pencatatan Data Kartu SD Arduino

Sekarang mari kita buat contoh lain yang lebih menarik untuk pencatatan data sensor suhu. Untuk tujuan itu kita akan menggunakan modul Real Time Clock DS3231 yang juga memiliki sensor suhu bawaan. Anda dapat menemukan detail lebih lanjut tentang cara menghubungkan dan menggunakan modul ini di tutorial saya sebelumnya.

Jadi setelah menghubungkan kedua modul ke Arduino mari kita lihat kode untuk contoh ini.

/* * Arduino Temperature Data Logging * * by Dejan Nedelkovski, www.HowToMechatronics.com */ #include <SD.h> #include <SPI.h> #include <DS3231.h> File myFile; DS3231 rtc(SDA, SCL); int pinCS = 53; // Pin 10 on Arduino Uno void setup() { Serial.begin(9600); pinMode(pinCS, OUTPUT); // SD Card Initialization if (SD.begin()) { Serial.println("SD card is ready to use."); } else { Serial.println("SD card initialization failed"); return; } rtc.begin(); } void loop() { Serial.print(rtc.getTimeStr()); Serial.print(","); Serial.println(int(rtc.getTemp())); myFile = SD.open("test.txt", FILE_WRITE); if (myFile) { myFile.print(rtc.getTimeStr()); myFile.print(","); myFile.println(int(rtc.getTemp())); myFile.close(); // close the file } // if the file didn't open, print an error: else { Serial.println("error opening test.txt"); } delay(3000); }Bahasa kode: Arduino (arduino)

Deskripsi Kode: Pertama-tama kita perlu menyertakan perpustakaan yang diperlukan untuk kedua modul, kemudian membuat dua objek dan di bagian setup menginisialisasikannya.

Di bagian loop menggunakan fungsi Serial.print() kita akan mencetak nilai waktu dan suhu di serial monitor, dengan karakter “koma” di antaranya dan baris baru setelah nilai suhu. Kita perlu bentuk baris ini sehingga kita dapat dengan mudah mengimpornya dan membuat grafik di Excel. Juga perhatikan bahwa nilai suhu dikonversi menjadi integer.

Jadi nilai yang sama ini juga akan ditulis ke file “test.txt” yang baru dibuat dan pada akhirnya kita hanya perlu menambahkan delay yang akan mewakili interval perekaman data suhu.

Setelah mengunggah kode Arduino akan mulai menyimpan nilai suhu setiap 3 detik. Setelah beberapa saat kita dapat membuka Kartu SD di komputer kita untuk melihat hasilnya.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Untuk membuat grafik di Excel kita perlu mengimpor file ini dan berikut cara kita akan melakukannya:

Dari menu data kita perlu klik tombol “Get Data From Text” dan pilih file teks. Di sini kita akan memilih “Delimited” dan klik next, dan di langkah kedua, pilih koma sebagai delimiter lalu selesaikan wizard.

Jadi proses ini akan memasukkan nilai waktu dan suhu ke dalam kolom terpisah. Sekarang kita hanya perlu memilih kedua kolom dan dari menu insert pilih “Insert line chart”. Ini akan membuat grafik tempat kita dapat melihat nilai suhu setiap 3 detik.

Pencatatan Data Arduino dengan Kartu SD & DS3231 RTC – Tutorial Langkah demi Langkah

Itu saja untuk tutorial ini, silakan ajukan pertanyaan apa pun di bagian komentar di bawah ini.


Proses manufaktur

  1. IXON Cloud: Kuasai Pencatatan Data & Dasbor Mesin dalam Beberapa Menit
  2. Buat Kunci RFID Arduino yang Aman – Panduan Langkah demi Langkah
  3. Buat Pemantau Energi & Pencatat Data Arduino yang Andalkan – Panduan Langkah demi Langkah
  4. Buat Animasi LCD dan Game Menarik dengan Arduino UNO
  5. Pencatat Suhu & Kelembaban Arduino dengan DHT11 dan Ethernet Shield
  6. Python 3 ke Arduino UNO: Kontrol Perintah Mudah dan Demo LED
  7. Membuat Radio FM Kompak dengan Arduino Nano dan RDA8057M
  8. Tutorial Langkah demi Langkah: Proyek Sensor Sidik Jari Arduino Nano
  9. Membuat Mini Piano dengan Arduino UNO – Tutorial Langkah demi Langkah
  10. Tutorial Arduino Untuk Pemula 01: Mulai dengan Proyek Pertama Anda