INOVASI
• 2014 : RESET RTU DARI MASTER STATION
• 2016 : SMART DUMMY SCADA 20KV
• 2017 : SIMOR
• 2020 : MONBETO
AGENDA Workshop Online:
-Pengenalan Arduino & Modbus RTU
-Bahasa pemrograman Arduino
-Pemrograman Input – Output port dengan Arduino
-Teknik Kendali beban dengan Arduino
-Pemrograman Arduino dengan protocol Modbus
RTU
Pengenalan ARDUINO
ARDUINO
• Adalah merupakan papan
.
elektronik berbasis mikrontroler
ATMEGA yang memenuhi sistem
minimum mikrokontroller agar
dapat bekerja secara mandiri
(standalone controller)
• Arduino pertama kali dirancang 2005 Oleh Mazzimo Banzi dan David
Cuartielles di Italia
• Arduino membutuhkan perangkat tambahan untuk bisa koneksi
dengan dunia luar, yang mana biasanya disebut dengan SHIELD
Macam-macam Arduino
ARDUINO UNO
ARDUINO NANO
ARDUINO MEGA 2560
ARDUINO PRO MICRO
ARDUINO PRO MINI
ARDUINO LEONARDO
ARDUINO VIO
ARDUINO LILYPAD
ARDUINO ESPLORA
ARDUINO YUN
Arduino UNO
• Mikrokontroller Berbasis ATMega328
• 14 Digital Input/Output
• 6 diantaranya bisa digunakan sebagai
PWM
• 6 Pin Analog Input Sebagai ADC (analog
digital converter)
BLOK DIAGRAM ATMEGA328
1Kb
EEPROM CPU
(data)
Port Input/Output
UART (Universal Asynchronous Reciever
Transmitter)
• Merupakan bagian antarmuka untuk komunikasi serial dengan
perangkat lain.
• Level tegangan TTL 0-5v
• Jika ingin koneksi dengan perangkat lain, maka butuh converter
external. Contoh koneksi ke power meter yang komunikasinya
RS485. berarti menggunakan TTL to RS485
RAM (Random Acces Memory)
• Merupakan tempat penyimpanan data sementara
• Hilang saat sumber tegangan dimatikan
Flash Memory
• Merupakan tempat penyimpanan data yang bersifat tidak hilang
saat sumber tegangan dimatikan
• Seperti untuk menyimpan program dan bootloader arduino
EEPROM
• Memori ini mempunyai sifat seperti flash memory,
• Namun secara fisik berbeda tipe bahan penyusunnya.
CPU (Central Processing Unit
• Merupakan Pusat pemrosesan instruksi
program yang ada di flash memory.
Port IO
• Merupakan pintu keluar masuknya
data untuk antarmuka mikrokontroller
dengan dunia luar
PINOUT ARDUINO UNO REV 3
Software ARDUINO
• Bootloader adalah semacam program kecil
yang menginisiasi lingkungan pemrograman
arduino setiap kali booting
• Arduino IDE adalah Software yang diinstal di
PC yang digunakan untuk mengembangkan
program sekaligus untuk mengunggah ke
Arduino
Cara Instal Arduino IDE
• Download di https://www.arduino.cc/en/Main/Software
• Instal
1 2 3
4
5
Cara menambah Library versi Online
Sketch – Include Library – manage library
void setup() {
pinMode(LAMPU, OUTPUT);
}
void loop() {
digitalWrite(LAMPU, HIGH);
delay(1000);
digitalWrite(LAMPU, LOW);
delay(1000);
}
Pernyataan Control (if)
• Digunakan untuk mengatur alur program
• Biasanya berupa pilihan
• Sintaks : If <kondisi> <aksi>
• Contoh : if ( a > 10 ) digitalWrite (LAMPU, HIGH);
• Jika <aksi> lebih dari satu baris , maka sesudah <kondisi> wajib menggunakan
tanda { dan di akhir aksi di tutup dengan tanda }
• Contoh : if ( a > 10 ) {
digitalWrite (3, HIGH);
digitalWrite (2, LOW);
}
Pernyataan Control (if……… else)
• Digunakan untuk melaksanakan suatu aksi jika kondisi tertentu
terpenuhi, dan jika tidak terpenuhi akan dilanjutkan aksi yang dinyalakan
setelah else.
• Sintaks : If <kondisi> <aksi A> else <aksi B>
• Contoh : if ( a > 10 ) {
digitalWrite (3, HIGH);
}
else {
digitalWrite (3, LOW);
}
Operator
Adalah karakter khusus yang berupa symbol atau tanda yang
digunakan untuk mengoperasikan dua operand atau lebih untuk
mendapatkan hasil tertentu
Operator Aritmatika
Operator Operasi Contoh Hasil
= Penugasan X=analogRead(0) Variabel x berisi nilai pembacaan
dari pin analog A0
+ Penjumlahan X= 5+3 Variabel x berisi 8
- Pengurangan X= 6-3 Variabel x berisi 3
* Perkalian X= 2*3 Variabel x berisi 6
/ Pembagian X= 4/2 Variabel x berisi 2
Operator perbandingan
Operator Operasi Contoh Hasil
== Persamaan If (a == 30) digitalWrite (8, Jika a berisi data sama dengan 30
HIGH); maka pin 8 akan mengeluarkan
tegangan 5V atau logika HIGH
!= Pertidaksamaan If (a != 30) digitalWrite (8, Jika a berisi data tidak sama dengan
HIGH); 30 maka pin 8 akan mengeluarkan
tegangan 5V/HIGH
< Kurang dari If (a < 30) digitalWrite (8, Jika a kurang dari 30, maka pin 8 akan
HIGH); HIGH
> Lebih dari If (a > 30) digitalWrite (8, Jika a lebih dari 30, maka pin 8 akan
HIGH); HIGH
<= Kurang dari atau If (a <= 30) digitalWrite (8, Jika a kurang dari atau sama dengan
sama dengan HIGH); 30, maka pin 8 akan HIGH
>= Lebih dari atau If (a >= 30) digitalWrite (8, Jika a lebih dari atau sama dengan
sama dengan HIGH); 30, maka pin 8 akan HIGH
Operator Boolean
Modbus Slave
v
Frame Data Modbus
Frame dikirim dari Master:
Slave Address (1byte) + Function code
(1byte) + Start Address + informasi (n
byte) + CRC 16 (2 byte)
v
Add a Slide Title - 1
RANGKAI SEMUA KOMPONEN
UPLOAD DAN CEK DATA MODBUS