Teknik Kendali
Teknik Kendali
Abstrak
Matlab sebagai bahasa pemrograman yang
terbuka dan mampu berjalan pada berbagai
macam perangkat keras komputasi. Pada bab
ini, praktikum yang dilakukan adalah
mengintegrasikan
bahasa
pemrograman
matlab, sehingga mampu untuk dieksekusi oleh
Arduino.
1. Pendahuluan
Praktikum unit 5 ini bertujuan untuk
memberikan penjelasan kepada mahasiswa
tentang program matlab yang dapat
dieksekusi
oleh
arduino,
sehingga
mahasiswa dapat membuat program untuk
di downloadkan ke arduino untuk
melakukan perintah perintah tertentu.
2. Dasar Teori
Arduino
Arduino merupakan kit elektronik
atau papan rangkaian elektronik yang
berbasis open source yang di dalamnya
terdapat komponen utama berupa sebuah
chip mikrokontroler dengan jenis AVR
dari perusahaan Atmel. Sedangkan
mikrokontroler itu sendiri merupakan chip
atau IC (Integrated Circuit) yang dapat
diprogram menggunakan komputer yang
bertujuan agar rangkaian elektronik yang
menyertainya dapat membaca input,
memproses input tersebut dan kemudian
menghasilkan
output
sesuai
yang
diinginkan. Maka dalam hal ini
mikrokontroler bertugas sebagai otak
yang mengendalikan input, proses dan
output sebuah rangkaian elektronik.
Karena Arduino mempunyai komponen
3. Metodologi
Alat dan bahan yang diperlukan :
Komputer
Arduino
Kabel USB
Kabel Jumper
Software Matlab
Video tutorial Arduino Support
Matlab
4. Analisa
Menjalankan Arduino Matlab
Untuk dapat mengakses arduino
dengan menggunakan matlab, matlab
harus terinstall driver arduino. Driver
arduino ini adalah sebuah add-ons yang
dapat dengan mudah ditambahkan pada
matlab.
Menyambungkan Arduino
Dengan Matlab
Mendownloadkan Program Ke
Arduino
Input Output
Untuk
memulai
menulis
program untuk arduino, harus dibuat
sebuah variabel yang mendefinisikan
posisi port yang digunakan sebagai jalur
IO arduino dan komputer.
Digital Read/Write
Digital read dan digital write
berfungsi sebagai input dan output data
digital. Input akan dibaca sebagai logika
high dan low. Output juga logika high
dan low. Pada digital read/write
arduino, logika high diwakili oleh
tegangan 5v dan logika low diwakili
tegangan 0v.
Contoh: a=arduino(COM15)
a adalah variabel yang digunakan
untuk menampung inisialisasi port.
COM15 adalah port IO yang digunakan
sebagai IO arduino dengan komputer.
Maka akan terjadi proses seperti
berikut:
b = digitalRead(a,pin)
Dimana,
b=variabel yang menampung hasil
pembacaan nilai input
a=object arduino (didefinisikan di awal)
pin=nomor pin yang dibaca nilai
inputnya
Contoh: b=digitalRead(a,10)
Variabel b akan menampung nilai hasil
pembacaan dari pin 10.
digitalWrite(a,pin,str)
Digital
Write
berfungsi
untuk
memberikan nilai output dari pin.
c=variabel yang menampung hasil
pembacaan dari pin
a=object arduino(didefinisikan di awal)
pin=nomor pin yang akan diberikan
nilai output
str=keluaran yang diinginkan (1/0)
Contoh: digitalWrite(a,13,1)
Maka pin 13 akan menghasilkan output
HIGH.
Analog read/write
Analog read/write berfungsi
untuk membaca atau menuliskan nilai
dalam bentuk analog, misalnya
pembacaan level tegangan, atau nilai
PWM.
Syntal analog read adalah:
Val=analogRead(a,pin)
a=nama orduino obyek
pin=nomor pin yang
nilainya (pin 0-5)
Contoh:
akan dibaca
val=analogRead(a,5)
Untuk pembacaan tegangan input, maka
nilai harus dikali 5 dibagi 1023, karena
nilai hasil pembacaan adalah 0-1023
yang sama dengan 0-5v.
Maka jika pin 5 disambung dengan
tegangan 5v, pembacaannya adalah
1023,
maka
nilai
sebenarnya
1023*(5/1023) = 5v.
Arduino-SIMULINK
Dengan
menggunakan
SIMULINK pembuatan program pada
arduino akan semakin mudah, karena
dengan simulink, pembuatan program
dilakukan dengan drag and drop.
Untuk memulai arduino dengan
simulink, syntax yang ditulis adalah:
1. Analog Write
yang
masing
masing
mengendalikan pin yang terdapat
led.
4. Untuk
menulis
output
analog,
digunakan
syntax
analogWrite(a,pin,val)
5. Hasil pembacaan analog adalah 0-1023
6. Pada
pemrograman
arduino
menggunakan simulink lebih mudah,
karena hanya tinggal drag and drop
komponen
6. Daftar Pustaka
Arduino-Simulink,
(2012),
http://
www.mathworks.com/hardware-support/
arduino-simulink.html, 25 April 2015
5. Kesimpulan
1. Untuk membaca input digital (0/1) pada
pin
arduino,
digunakan
syntax
digitalRead(a,pin)
2. Untuk menulis output data digital (0/1)
pada pin arduino, digunakan syntax
digitalWrite(a,pin,arg)
3. Untuk
membaca
input
analog,
digunakan syntax analogRead(a,pin)
Lampiran
Arduino folders added to the path
> In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.uninstallThirdPartyPackage
at 1353
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.uninstallTpPkgs at 828
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.uninstall at 696
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.uninstallRecursiveImp at
526
>> install_arduino
Arduino folders added to the path
Saved updated MATLAB path
>> install_arduino
Arduino folders added to the path
Saved updated MATLAB path
>> install_arduino
Arduino folders added to the path
Saved updated MATLAB path
>> arduino
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.uninstallRecursive at 480
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\PackageInstaller.p>P
ackageInstaller.updateRecursive at 343
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\+hwconnectinstaller\
+internal\executeConfirm.p>executeConfi
rm at 41
ans =
In C:\Program
Files\MATLAB\R2013a\toolbox\shared\hwco
nnectinstaller\
+hwconnectinstaller\Step.p>Step.next at
169
>> install_arduino
Servo 2 is DETACHED
Servo 3 is DETACHED
Servo 4 is DETACHED
Servo 5 is DETACHED
Servo 6 is DETACHED
>> install_arduino
Servo 7 is DETACHED
Servo 8 is DETACHED
Servo 43 is DETACHED
Servo 9 is DETACHED
Servo 44 is DETACHED
Servo 10 is DETACHED
Servo 45 is DETACHED
Servo 11 is DETACHED
Servo 46 is DETACHED
Servo 12 is DETACHED
Servo 47 is DETACHED
Servo 13 is DETACHED
Servo 48 is DETACHED
Servo 14 is DETACHED
Servo 49 is DETACHED
Servo 15 is DETACHED
Servo 50 is DETACHED
Servo 16 is DETACHED
Servo 51 is DETACHED
Servo 17 is DETACHED
Servo 52 is DETACHED
Servo 18 is DETACHED
Servo 53 is DETACHED
Servo 19 is DETACHED
Servo 54 is DETACHED
Servo 20 is DETACHED
Servo 55 is DETACHED
Servo 21 is DETACHED
Servo 56 is DETACHED
Servo 22 is DETACHED
Servo 57 is DETACHED
Servo 23 is DETACHED
Servo 58 is DETACHED
Servo 24 is DETACHED
Servo 59 is DETACHED
Servo 25 is DETACHED
Servo 60 is DETACHED
Servo 26 is DETACHED
Servo 61 is DETACHED
Servo 27 is DETACHED
Servo 62 is DETACHED
Servo 28 is DETACHED
Servo 63 is DETACHED
Servo 29 is DETACHED
Servo 64 is DETACHED
Servo 30 is DETACHED
Servo 65 is DETACHED
Servo 31 is DETACHED
Servo 66 is DETACHED
Servo 32 is DETACHED
Servo 67 is DETACHED
Servo 33 is DETACHED
Servo 68 is DETACHED
Servo 34 is DETACHED
Servo 69 is DETACHED
Servo 35 is DETACHED
Servo 36 is DETACHED
Servo 37 is DETACHED
Servo 38 is DETACHED
Servo 39 is DETACHED
Servo 40 is DETACHED
Servo 41 is DETACHED
Servo 42 is DETACHED
Encoder 0 is DETACHED
Encoder 1 is DETACHED
Encoder 2 is DETACHED
>> a=arduino('COM15')
a=
>> pinMode(a,13,'output')
>> pinMode(a,10,'input')
>> val=digitalRead(a,10)
val =
>> val=digitalRead(a,10)
val =
>> digitalWrite(a,13,1)
>> digitalWrite(a,13,0)
>> digitalWrite(a,13,1)
>> digitalWrite(a,13,0)
>> val=analogRead(a,0)
val =
1023
>> val=analogRead(a,0)
val =
>> arduinouno_gettingstarted