Dalam Guide ini, kami akan tunjukkan, bagaimana anda dapat membuat sebuah Data-Acquisition Sistem mudah dan murah dengan menggunakan Arduino dan bantuan PLX-DAQ untuk rekodkan data ke dalam Microsoft Excel.
Data Acquisition kebiasaannya diperlukan oleh Researcher untuk dapatkan TREND-DATA yang bersiri untuk menganalisa Data secara terperinci.
Sebelum ini, beberapa solusi untuk Data Logging atau Data Acquistion adalah seperti berikut:
MENGGUNAKAN DATA ACQUISITION MODULE

Ini ada adalah contoh Data Acquisition module yang biasa digunakan dalam lab-lab makmal Universiti. Harga Module seperti ini boleh mencecah RMXxx sehingga RMX,xxx.
SIMPAN DATA CLOUD-SERVER/CLOUD-APP
Teknik ini memerlukan pengetahuan dalam IoT dan Cloud-App/Server. Ini kaedah terbaik cuma perlukan pengetahuan lebih dalam setiap App tertentu.
SIMPAN DATA DALAM SD CARD
Dalam kaedah ini, menggunakan Module SD Card, kemudian data direkodkan dalam bentuk file .TXT atau .CSV ke dalam SD Card.
Kemudian apabila hendak melihat data, perlu transferkan data dari SD Card ke dalam Computer dan masukkan dalam Excel.
HANTAR DATA TERUS KE MICROSOFT EXCEL
Dalam guide ini, kami tunjukkan kaedah menghantar data TERUS ke Ms Excel, melalui USB, TANPA memerlukan sebarang pengantara/module mahupun SD Card.
Microsoft Excel 365
Dalam Microsoft Excel 365 yang terbaru, fungsi menghantar Data terus ke Excel-Sheet telah berada dalam sistem, melalui fungsi Add-On Data Streaming. Guide ini tidak akan menyentuh atau menerangkan berkenaan Data-Streaming.
Walaubagaimanapun, anda boleh rujuk video guide dari YouTube berikut untuk mengetahui lebih lanjut berkenaan Fungsi Data-Streamer Excel 365.
Microsoft Excel versi Lebih Awal (2013 -2016)
Majoriti dari komuniti kita hanya mempunyai MicroSoft Excel versi yang lebih awal (2013-2016). Versi awala tidak mempunyai fungsi Data-Streaming.
Dengan itu, solusi Universal untuk versi Excel awal, adalah dengan menggunakan PLX-DAQ.
APA ITU PLX-DAQ ?
Dalam MicroSoft Excel, kita boleh menambahkan pelbagai fungsi khusus dan custom kita sendiri dengan mengaktifkan fungsi MACRO.
Dalam fungsi MACRO, kita boleh menambahkan PROGRAMMING/CODE TAMBAHAN kepada sesuatu SpreadSheet melalui Programming Visual Basic, dan dalam Solusi PLX-DAQ, yang penting adalah SpreadSheet yang TELAH mempunyai Fungsi MACRO tersebut.

Sumber : https://i.ytimg.com/vi/1lQbzmjZQb0/maxresdefault.jpg
DOWNLOAD PLX-DAQ
Solusi PLX-DAQ ini telah dibangunkan oleh tuan NetDevil dan telah dikongsikan sepenuhnya dalam Forum Arduino , dan sehingga hari ini telah banyak dimanfaatkan oleh komuniti.
Untuk dapatkan PLX-DAQ, anda perlu download Package PLX-DAQ terlebih dahulu.
(terbaru 2021, PLX-DAQ Version 2.11, pastikan dapatkan versi terbaru)
Selepas Package PLX-DAQ di-Download, pastikan di-Extract, dan anda patut mempunyai 4 File seperti gambar di bawah:

User Manual – Beginners Guide to PLX-DAQ

Version 2.11 ini version terbaru yang dilengkapkan dengan User Manual yang serba lengkap untuk panduan Beginners. Anda patut membaca User Manual ini untuk mengetahui tentang ke-semua fungsi-fungsi yang boleh dilaksanakan dengan PLX-DAQ.
Default Sketch – Contoh Program

Package ini hanya membekalkan satu File Coding/Sketch Arduino untuk rujukan, dan hampir kesemua fungsi PLX-DAQ ada dalam file tersebut. Namun, untuk Beginners, terlalu banyak info dibekalkan dalam File ini.
Jadi anda boleh ikuti guide kami ini untuk melihat fungsi-fungsi simple yang kami highlight.
File Excel : PLX-DAQ-v.211
Ini merupakan FILE TERPENTING yang membolehkan Data diterima dari USB dihantar terus ke Excel. File ini anda boleh Dupplicate dan Save As atas nama lain untuk Project-project yang berlainan.
Pastikan anda sentiasa menggunakan fungsi Save As, supaya Code VB PLX-DAQ sentiasa berada dalam File Excel anda.

Pertama kali membuka File PLX-DAQ, akan ada paparan AMARAN untuk Enable Content atau Enable Macro.
Pastikan anda menekan ENABLE.
MENGGUNAKAN FILE EXCEL PLX_DAQ
Data sedia ada di Column A, B, C dan D adalah contoh sahaja, dan boleh didelete bila-bila masa sahaja.
PLX-DAQ UI PANEL (User Interface)

Dalam File Excel PLX-DAQ, User Interface Panel perlu diaktifkan dahulu.
Tekan butang OPEN PLX-DAQ UI untuk aktifkan User Interface.

Dalam User Interface ada 4 komponen yang perlu di setting:
- #1 Port : Pastikan Nombor Port matching dengan Port COM Arduino yang dikesan oleh komputer
- #2 Baud : Nilai 9600 perlu matching dengan setting Baud Rate speed dalam Coding Arduino
- #3 Sheet name to post to : Di sini, anda perlu pilih NAMA SPREADSHEET yang akan menyimpan rekod data
- #4 Connect : Tekan butang ini untuk mula menerima data dari Arduino
STRUKTUR DATA
Data yang masuk akan bermula dari COLUMN A dan ROW 2, dan seterusnya.
MENGUBAH/MENAMAKAN COLUMN & ROW
Nama atau Label Column, boleh diubah bila-bila masa.
MENGHANTAR DATA DARI ARDUINO
Kaedah penghantaran data oleh Arduino kepada Excel PLX-DAQ, menggunakan Fungsi SERIAL yang biasa digunakan oleh Serial Monitor.
Oleh itu, semasa penghantaran data, Serial Monitor TIDAK BOLEH DIBUKA dan tidak dapat digunakan, kerana ia akan mengganggu proses penghantaran data kepada PLX-DAQ.
SYNTAX VOID SETUP
Syntax yang patut dimulakan dalam Void Setup untuk penggunaan PLX-DAQ adalah sama sahaja seperti penggunaan Serial Monitor.
void setup() { Serial.begin(9600); }//END VOID SETUP
Pastikan nilai Baud Rate adalah sama dengan Baud Rate di PLX-DAQ User Interface.
SYNTAX VOID LOOP (Paling Asas)
void loop() { //CODING LAIN //CODING LAIN //CODING LAIN Temperature = sensor.DataTemp(); Serial.println( (String) "DATA,DATE,TIME," + Temperature); }//END VOID LOOP
Ini adalah struktur Syntax penghantaran data ke PLX-DAQ yang paling mudah, di mana, hanya satu maklumat Variable TEMPERATURE sahaja yang dihantar kepada Excel.
Jika diperhatikan struktur coding ini, 3 Syntax awala iaitu DATA,DATE,TIME adalah 3 syntax wajib yang patut berada dalam coding tersebut.
SYNTAX VOID LOOP – 2 Data
void loop() { //CODING LAIN //CODING LAIN //CODING LAIN Temperature = sensor.DataTemp(); Humidity = sensor.DataHumid(); Serial.println( (String) "DATA,DATE,TIME," + Temperature + "," + Humidity); }//END VOID LOOP
Ini struktur Syntax untuk menghantar 2 maklumat variable.
PERHATIKAN penggunaan koma “,” dan juga penggunaan tanda “+”
Tanda-tanda ini penting untuk distrukturkan betul.
SYNTAX VOID LOOP – 3 Data
void loop() { //CODING LAIN //CODING LAIN //CODING LAIN Temperature = sensor.DataTemp(); Humidity = sensor.DataHumid(); Force = sensor.DataForece(); Serial.println( (String) "DATA,DATE,TIME," + Temperature + "," + Humidity + "," + Force); }//END VOID LOOP
Ini pula struktur Syntax untuk menghantar 3 data Variable.
Jika anda faham kaedah syntax untuk 3 variable, anda boleh terus ubah syntax ini untuk penghantaran maklumat data variable yang lebih banyak.
MENGHANTAR DATA KE CELL TERTENTU
Serial.println("CELL,SET,G10," + Temperature);
Syntax ini pula, menghantar data Temperature, kepada cell G10 dalam Excel.
MENERIMA/DAPATKAN DATA DARI CELL TERTENTU
MAKLUMAT INT
Serial.println("CELL,GET,FROMSHEET,Simple Data,E,4"); int readvalue = Serial.readStringUntil(10).toInt(); //biarkan 10
Syntax ini pula, adalah untuk mendapatkan maklumat Nilai/Data INT dari:
- Spread Sheet Name : Simple Data
- Column : E
- Row : 4
Anda hanya perlu ubah Nama Spread Sheet jika perlu, dan ubah Nombor Colum/Row Cell.
Dan ini antara fungsi yang amat berguna jika anda perlu berinteraksi dengan maklumat dalam sheet excel.
AMARAN
Data yang diterima dari Excel adalah dalam bentuk STRING.
Itulah fungsi syntax .toInt() yang mengubah data String kepada bentuk INT
MAKLUMAT FLOAT (Titik Perpuluhan)
Serial.println("CELL,GET,FROMSHEET,Simple Data,E,4"); int readvalue = Serial.readStringUntil(10).toFloat(); //biarkan 10
Di sini, syntax .toFloat() digunakan untuk mengubah data String dari Excel ke bentuk FLOAT
ARAHAN SAVE FILE DAN BERI NAMA FILE
Serial.println("SAVEWORKBOOKAS,File-Data-Logging-Saya");
Syntax ini, boleh memberi arahan pada Excel untuk Save File As nama file File-Data-Logging-Saya.
Terdapat pelbagai lagi fungsi tambahan HANTAR-KELUAR-MASUk DATA yang boleh dilakukan dengan PLX-DAQ ini. Namun, kami hanya berikan guide untuk yang basic sahaja dalam tutorial ini.
Untuk fungsi-fungsi tambahan, anda boleh kaji User Manual yang telah dibekalkan bersama Package PLX-DAQ dalam file .DOC.
PERSEDIAAN UNTUK KE CODING ARDUINO
Jika anda menghadapi kesukaran dalam menggunakan atau memahamkan Arduino dan Coding, kami sarankan anda ikuti E-Learning E-Kursus Pemantapan Asas Arduino MatGyver ini.
Sebelum membuat sebarang Project Arduino, kita perlu tahu dahulu Fundamental Hardware dan juga Fundamental C++ Coding supaya kita dapat kenal-pasti sebarang masalah atau error-error basic yang bakal terjadi ketika membuat project ini.
Jika anda mempunyai sebarang PERTANYAAN berkenaan artikel ini, anda boleh maklumkan dalam bahagian COMMENT.
Selamat Membuat Project Electric-Drum!
Jika anda menyukai artikel-artikel keluaran MatGyver.my, kami mohon jasa baik tuan/cikpuan untuk sumbangkan like pada page FaceBook kami,
dan juga Subscribe ke YouTube Channel kami !

Salam.. Terima kasih atas perkongsian.. sangat membantu.. cuma saya ada soalan.. bagaimana pula jika kita mahu Save File Excel tersebut secara berkala.. contohnya save file setiap 30minit, supaya sekiranya terjadi apa2 pada server sekuranga-kurangnya data telah selamat tersimpan..
LikeLike
Kalau tuan lihat dalam artikel, kami ada highlight berkenaan “User Manual – Beginners Guide to PLX-DAQ”. BIla tuan download package PLX-DAQ tersebut, ada file tu dalam bentuk Microsoft Word. Ia adalah dokumentasi lengkap berkenaan Software PLX-DAQ.
Tuan akan jumpa ” Syntax: Serial.println(“SAVEWORKBOOKAS,MyNewWorkbookName”); “.
Tuan boleh study dan experiment berkenaan fungsi syntax tersebut.
Ada 2 kaedah untuk “Auto-Save” Excel:
1) Menggunakan syntax di atas
2) Membina VB programming macro dalam excel (ini cerita panjang)
Misalnya tuan gunakan syntax di atas, itu cuma syntax arahan untuk save.
Bermakna ada ilmu/perkara ke-2 yang tuan perlu masterkan dalam coding Arduino, iaitu implementasi penggunaan timer.
Untuk master penggunaan Timer, perlukan latihan dan pemahaman coding, kerana tiada satu cara yang berfungsi untuk semua applikasi.
Bagi penggunaan Timer, kami cadangkan tuan study dan berlatih dari SimpleTimer library, boleh rujuk tutorial kami berikut:
https://matgyver.my/2019/11/17/blink-led-tanpa-delay-gunakan-simpletimer/
Artikel ini ilmu asasnya. Tapi untuk setiap kes dan kaedah penggunaan, coding perlu diubah dan digubal dalam bentuk yang lain tapi menggunakan asas yang sama.
Pointnya adalah, tidak ada satu syntax yang berfungsi untuk semua applikasi, memang perlu gubal.
yang penting Ilmu asas perlu kuat, faham , dan master.
Practice makes perfect tuan.
LikeLike