Tutorial Plot Data Suhu MATLAB dengan Arduino


Dalam tutorial Arduino Indonesia kali ini akan mengulas mengenai bagaimana membuat plot graphic data suhu di MATLAB dengan Arduino. Beberapa hal yang perlu dipersiapkan dalam percobaan kali ini ialah sebagai berikut.
  • Board Arduino Uno
  • Kabel USB connector
  • Breadboard
  • Kabel connector
  • Sensor suhu LM35
  • Arduino IDE
  • MATLAB dan support package for Arduino

Untuk MATLAB dan support package for Arduino dapat diperoleh dengan download gratis melalui link berikut. MATLAB dan support package for Arduino tersebut tersedia untuk sistem komputer dengan operating system Windows 32-bit dan 64-bit, Mac OS 64-bit, dan juga Linux 64-bit.
Sensor suhu LM35 merupakan komponen elektronika yang memiliki kemampuan mendeteksi input nilai besaran suhu dari lingkungannya, kemudian memberikan output besaran listrik dalam bentuk tegangan. Konfigurasi kaki IC LM35 tampak pada gambar, dengan urutan Vs tegangan pencatu (5 volt), nilai tegangan input ke microcontroller Arduino, dan ground.

<img src="lm35.png" alt="lm35">


Langkah Kerja
Langkah kerja untuk project Arduino membuat plot graphic data suhu pad MATLAB ini ialah sebagai berikut ini.
  • Rangkai komponen yang dibutuhkan seperti pada gambar wiring diagram dengan board Arduino
  • Sambungkan board Arduino dengan connector USB ke komputer
  • Buka Arduino IDE, dan tulis source code (sketch) program
  • Lakukan Verify untuk memastikan program telah ditulis dengan benar
  • Selanjutnya Upload program tersebut ke board Arduino
  • Tulis program MATLAB
  • Lakukan pengujian dan amati hasil suhu terukur
  • Bandingkan hasil pengukuran tersebut dengan suhu terukur dari thermometer suhu raksa

Wiring Diagram
Langkah selanjutnya perlu dilakukan pemetaan konfigurasi wiring diagram. Hal ini ditujukan agar pin yang digunakan pada source code dan wiring diagram sesuai. Berikut ini ialah wiring diagram yang digunakan antara Arduino dengan LCD.

<img src="arduino_lm35.png" alt="arduino_lm35">


Berdasarkan gambar wiring diagram tersebut.
  • LCD RS pin dihubungkan ke digital pin 12
  • LCD Enable pin dihubungkan ke digital pin 11
  • LCD D4 pin dihubungkan ke digital pin 5
  • LCD D5 pin dihubungkan ke digital pin 4
  • LCD D6 pin dihubungkan ke digital pin 3
  • LCD D7 pin dihubungkan ke digital pin 2
  • Vout LM35 dihubungkan ke analog pin A0

Source Code
Berikut ini adalah source code (sketch) Arduino, aplikasi pengukur suhu dengan LM35.

/*
Program plot graphic data suhu MATLAB
Arduino LM35

Loki Lang
*/

#include <LiquidCrystal.h>

LiquidCrystal lang(12, 11, 5, 4, 3, 2);

int lm35 = A0;
int val = 0;
float temp;

void setup()
{
  Serial.begin(9600);
  pinMode(A0, INPUT);
  lang.begin(16, 2);
  lang.setCursor(0,0);
  lang.print("Arduino");
  lang.setCursor(0,1);
  lang.print("Pengukur Suhu");
  delay(1000);
}

void loop()
{
  lang.clear();
  val = analogRead(lm35); // nilai ADC terbaca
  delay(100);
  lang.setCursor(0,0);
  lang.print("Suhu celsius:");
  lang.setCursor(0,1);
  temp = val * 5;
  temp *= 100;
  temp /= 1023;
  lang.print(temp);
  Serial.println(temp);
}


MATLAB Serial Class

<img src="matlab.png" alt="matlab">


Pada program MATLAB, akan menampilkan plot graphic data suhu yang dikirimkan oleh board Arduino. Hal ini dapat dilakukan semudah pada Arduino IDE. Langkah pertama adalah membuat sebuah object dari class serial di MATLAB. Lakukan set COM port yang digunakan Arduino. Bila Arduino terhubung dengan komputer pada COM4 maka tulis port tersebut, dan tuliskan juga baud rate yang digunakan. Pengambilan data dilakukan hingga 100 data suhu.
Berikut ini adalah keseluruhan source code MATLAB.

clear all
clc

arduino=serial('COM4','BaudRate',9600);

fopen(arduino);

x=linspace(1,100);
for i=1:length(x)
y(i)=fscanf(arduino,'%d');
end

fclose(arduino);
disp('making plot..')
plot(x,y);


Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment atau melalui page Facebook berikut.