0% menganggap dokumen ini bermanfaat (0 suara)
45 tayangan23 halaman

Praktikum Kontrol Otomatis Arduino

Praktikum sistem pengendalian otomatis berbasis Arduino dan PLC ini membahas tentang pengantar sistem kendali otomatis, materi praktikum yang mencakup pengenalan Arduino, sensor, aktuator, dan bahasa pemrograman dasar untuk Arduino seperti if-else, while. Praktikum ini dilaksanakan selama 18 minggu.

Diunggah oleh

Giyanto Garenk
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
45 tayangan23 halaman

Praktikum Kontrol Otomatis Arduino

Praktikum sistem pengendalian otomatis berbasis Arduino dan PLC ini membahas tentang pengantar sistem kendali otomatis, materi praktikum yang mencakup pengenalan Arduino, sensor, aktuator, dan bahasa pemrograman dasar untuk Arduino seperti if-else, while. Praktikum ini dilaksanakan selama 18 minggu.

Diunggah oleh

Giyanto Garenk
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Praktikum

Sistem Pengendalian
Otomatis

Kontrol Berbasis Arduino


Teknik Mesin - Polines

Giyanto, S.T, M.T, [Link]

Mechanical Engineering, POLINES - Semarang

Sistem Pengendalian Otomasi


(Teori & Praktek)
Kelas MS-3A Hari Jumat Jam 1-5
⚫ Pengantar dan Teori Secara Umum (Minggu 1 dan 2)
⚫ Praktek SPO berbasis Arduino (Minggu 3 -10) – Paket
Arduino + Laptop
⚫ Praktek SPO berbasis PLC (Minggu 11-18) – Laptop (Cx
Programmer)

Group 1 Absen 1-9 _Minggu Ganjil _Absen 8 Mandiri


Group 2 Absen 10-19 _Minggu Genap

1
Materi (Pokok Bahasan)
1. Pengantar Arduino
✓ Pengantar Arduino (Teori Dasar)
✓ LCD Display
✓ Komunikasi Serial
✓ Digital & Analog Input
✓ Analog to Digital Converter (ADC)
✓ Dasar Logika Program Arduino

2. Aplikasi Penggunaan Sensor pada Arduino


✓ Sensor Temperatur DHT-11
✓ Sensor Temperatur LM35
✓ Sensor Cahaya LDR
✓ Sensor Ultrasonic PING

3. Aplikasi Penggunaan Aktuator pada Arduino


✓ LED, Buzzer
✓ Relay
✓ Motor DC & Motor Stepper
✓ PWM Kontrol

Introduction
Arduino
Platform physical computing open source yang
terdiri dari hardware (Arduino Board) dan sortware
(Arduino IDE) untuk memudahkan penggunaan
elektronik dalam berbagai bidang aplikasi.

[Link]

2
Classification

Arduino Uno Arduino Leonardo Arduino Nano

Arduino Duemilanove Arduino Diecimila Arduino Mega

[Link]

Physical Layout

Arduino Uno Atmega Arduino Uno SMD

[Link]

3
Arduino Pinout

[Link]

Arduino Specification

4
Arduino Wiring Architecture

[Link]

Atmega328 PinOut

5
Atmega328 SMD PinOut

Blok Diagram Atmega328


RS232, RS-422, RS-485

Non-Volatile Memory
Volatile Memory

Non-Volatile Memory Bootloader:


Program inisiasi awal

6
Arduino IDE (Software)

[Link]

7
Arduino IDE Installation
Peralatan:
a. Komputer/PC/Laptop dengan Port USB
b. Arduino Board + Kabel
c. Software Arduino IDE

Arduino IDE Installation


Pengecekan Port Komunikasi (COM)

8
Arduino IDE Installation
Tampilan Awal Arduino IDE

Tampilan Awal Arduino IDE

Set up tipe data, variabel,


inisisalisasi (nilai awal), dll ➔
dieksekusi sekali

Isi program utama ➔ dieksekusi


berkali-kali

9
Tipe Data

Contoh Pemakaian Tipe Data

10
Operasional

Input Output (I/O)

• 14 Digital Input Output (I/O)


• 6 Analog Input
• 6 Analog Output PWM Mode

11
Digital I/O
A. Pin Mode (pin, Mode)
Sebelum menggunakan digital input/output dan analog
output, harus disetting terlebih dahulu mengenai status
PIN. Default konfigurasi pin disetting sebagai input.

Contoh:
pinMode(pin,OUTPUT); //mengeset pin sebagai output;
pinMode(13,INPUT); // mengeset pin 13 sebagai input;

Digital Input
B. Digital Read (pin)
Digunakan untuk membaca nilai pin yang kita kehendaki
dengan hasil HIGH atau LOW.

Contoh:
Value = digitalRead(pin); //membaca ‘value’ pin HIGH atau LOW

x = digitalRead(12); //membaca ‘x’ pada pin 12 HIGH atau LOW

pinMode(12,INPUT); mengeset pin 12 sebagai input;

12
Digital Output
C. Digital Write (pin)
Digunakan untuk mengsetting pin digital sesuai dengan
masukan yang kita kehendaki (HIGH atau LOW).

Contoh:
digitalWrite(pin, HIGH); //set pin to HIGH

digitalWrite(12, LOW); //set pin 12 to LOW

Digital I/O

13
Digital I/O

Digital I/O
Example Program: Blink

14
Analog I/O

Analog Input
A. Analog Read (pin)
Digunakan untuk membaca nilai pin analog yang memiliki
resolusi 10-bit. Hasil dari pembacaan berupa nilai integer
dengan range 0 - 1023.
Value/2n-1 *5V

Contoh: 500/1023*5 Volt


analogRead(0); // Membaca nilai input dari pin A0

analogRead(4); // Membaca nilai input dari pin A4

Value = analogRead (pin); // membaca ‘value’ sama dengan nilai analog pin

15
Analog Input
Resolusi Analog (ADC) pada ArduinoUno adalah 10 bit, yaitu
sama dengan 2^10=1024.
Nilai yang dibaca berada pada range 0-1023 yg setara
dengan 0-5 Volt.
Sehingga nilai sebenarnya = nilai ADC X ([5/1023] atau
0.0049 V).

Analog Output
A. Analog Write (pin, value)
Digunakan untuk mengirimkan nilai analog pada pin analog
Arduino. Nilai analog yang dikirimkan berupa nilai integer
dengan range 0 - 1023.
Pin Arduino yang digunakan adalah 3, 5, 6, 9, 10, dan 11.

Contoh:
analogWrite(pin, value) // menulis ke pin analog

analogWrite(3,500); //Output tegangan pin 3 yaitu: 500x(5/1023)= 2.44V

analogWrite(5,1023); //Output tegangan pin 5 yaitu: 1023x(5/1023)= 5.00V

16
Analog I/O
Nilai dari Input Analog (A0) dikeluarkan ke Output Analog 9

Analog I/O
Nilai dari Input Analog (A0) dikeluarkan ke Output Analog 9

17
If
Digunakan untuk menguji kondisi tertentu, apakah suatu
kondisi sudah terpenuhi atau belum.
Jika terpenuhi ➔ bagian { } akan dieksekusi,
Jika tidak ➔ akan dilanjut ke script program selanjutnya.

Syntax :
If (comparison operator) {
... Isi intruksi jika terpenuhi
}

18
If
Contoh: Jika input > 500, Led PIN 5,6 dan 9 menyala berkedip

If-else
Memungkinkan pengendalian program yang lebih dari ‘if’ dengan menguji dua
kondisi sekaligus.
Contoh:
Jika nilai x = 500 ➔ akan mengeksekusi perintah tertentu.
Jika tidak (x>=500) ➔ akan mengeksekusi perintah lainnya.

Syntax :
If (comparison operator) {
... Isi intruksi jika kondisi 1 atau comparison operator terpenuhi
}
else
{
.... Isi intruksi jika kondisi 2 (kebalikan dari kondisi comparison operator 1)
}

19
If-else
Contoh:
Jika nilai x < 500 ➔ ledpin 5,6,9 akan berkedip
jika tidak (x >=500) ➔ ledpin 5,9 akan berkedip bergantian dengan ledpin6

If-else-If-else
Memungkinkan pengendalian program yang lebih spesifik dari ‘if’ dan ‘if-else’
dgn menguji lebih dari dua kondisi sekaligus.
Misal,
Jika nilai x < 500 ➔ akan mengeksekusi perintah tertentu.
Jika x diantara 500 dan 800 ( x>=500; x<800 ) ➔ akan mengeksekusi perintah tertentu.
Jika selain dua kondisi tersebut (x>=800) ➔ akan mengeksekusi perintah lainnya.

Syntax : If (comparison operator) {


... Isi intruksi jika kondisi 1 atau comparison operator terpenuhi
}
else if
{
.... Isi intruksi jika kondisi 2 terpenuhi
}
else
{
... Isi intruksi jika kondisi 3 terpenuhi
}

20
If-else-If-else
Contoh:
Jika nilai x < 500 ➔ ledpin kuning berkedip (ledpin5)
Jika x diantara 500 dan 800 ( x>=500; x<800 ) ➔ led hijau berkedip (ledpin6)
Jika selain dua kondisi tersebut (x>=800) ➔ akan merah berkedip (ledpin9)

While
Intruksi didalam {...} akan dieksekusi sampai pernyataan didalam () atau
‘expression’ bernilai salah.

Contoh:
Selama (while) nilai ‘input’ <200, led
akan berkedip

21
For
Digunakan untuk mengulangi pengeksekusian intruksi dalam suatu blok, {}
Operator for digunakan dalam blok pengulangan tertutup.

Syntax :
for (nilai awal; batas nilai
akhir; besarnya kenaikan)
{
... Isi intruksi
}

For
Contoh1:
Ledpin5 ➔ berkedip 2 kali
Ledpin6 ➔ berkedip 3 kali
Ledpin9 ➔ berkedip 5 kali

22
For
Contoh2:
Ledpin5 (PWM) ➔ nilai naik dari 0-255
Ledpin6 (PWM) ➔ nilai turun dari 255-0
Ledpin9 (PWM) ➔ nilai naik dari 0-255

Aplikasi Sistem Kontrol


Berbasis Arduino

1. Kontrol gelap terang nyala LED dengan potensiometer


atau bisa dikombinasi dengan sensor LDR (aplikasi lampu
taman otomatis)
2. Kontrol RPM atau putaran kipas kecil (kipas laptop)
berdasarkan sensor temperatur (dht11 atau lm35) +
modifikasi tambahan alarm buzzer
3. Kontrol kecepatan motor dc pakai mode pwm
4. Kontrol sudut pergerakan motor stepper (kombinasi sensor
limit switch atau potensiometer)

23

Anda mungkin juga menyukai