Anda di halaman 1dari 59

TIM PENYUSUN :

ASISTEN MEKATRONIKA 2022

PROGRAM STUDI TEKNIK MESIN


FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2022
KATA PENGANTAR

Assalamu’alaikum Wr, Wb,

Puji dan syukur penyusun ucapkan kehadirat Allah SWT atas segala limpahan rahmat
dan karunia-Nya kepada penyusun, sehingga penyusun dapat menyelesaikan penyusunan
modul praktikum Mekatronika ini.

Modul Mekatronika terdiri dari modul yang menjelaskan bagaimana suatu komponen
mesin diperintah oleh suatu program . Setiap modul akan menjelaskan fungsi – fungsi
statement program .Pratikkan ini Penyusun menyadari bahwa dalam penyusunan ini masih
terdapat banyak kekurangan, oleh karena itu penyusun senantiasa mengharapkan saran
kritikan yang sifatnya membangun demi kesempurnaan modul ini.

Akhir kata, semoga modul praktikum Mektronika ini dapat bermanfaat dan menambah
pemahaman mahasiswa khususnya di Program Studi Teknik Mesin Universitas Bengkulu
terhadap aplikasi teknik digital.

Wassalamu’alaikum Wr, Wb.

Bengkulu, November 2022

Tim Penyusun

ii
DAFTAR ISI

KATA PENGANTAR ........................................................................................................................ ii


DAFTAR ISI ...................................................................................................................................... iii
MODUL 1 LED (Light Emitting Diode) ........................................................................................... 1
1.1 Tujuan ..................................................................................................................................... 1
1.2 Dasar Teori .............................................................................................................................. 1
1.3 Alat dan Bahan ........................................................................................................................ 2
1.4 Langkah Percobaan ................................................................................................................. 3
1.4.1 Percobaan Running LED............................................................................................... 3

1.4.2 Pecobaan LED dan Sensor LDR (Light Dependant Resistor) ...................................... 5

MODUL 2 INPUT/OUTPUT ARDUINO .......................................................................................... 7


2.1 Tujuan ..................................................................................................................................... 7
2.2 Dasar Teori .............................................................................................................................. 7
2.3 Peralatan .................................................................................................................................. 8
2.4 Langkah Percobaan ................................................................................................................. 8
2.4.1 Percobaan Switching LED ............................................................................................ 8

2.4.2 Percobaan Making Sound ........................................................................................... 10

MODUL 3 SEVEN SEGMENT ...................................................................................................... 13


3.1 Tujuan Pratikum.................................................................................................................... 13
3.2 Dasar Teori ............................................................................................................................ 13
3.3 Peralatan yang dibutuhkan .................................................................................................... 14
3.4 Langkah Percobaan ............................................................................................................... 14
3.5 Rangkaian Percobaan ........................................................................................................... 14
3.6 Program Percobaan ............................................................................................................... 15
MODUL 4 LIQUID CRYSTAL DISPLAY (LCD) 16X2 I2C......................................................... 21
4.1 Tujuan Praktikum .................................................................................................................. 21
4.2 Dasar Teori ............................................................................................................................ 21
4.3 Alat dan Bahan ...................................................................................................................... 23
4.4 Langkah Percobaan ............................................................................................................... 23
4.4.1 Pecobaan LCD 16x2 I2C............................................................................................. 23

4.4.2 Percobaan LCD 16x2 Membaca Temperatur ............................................................. 23

MODUL 5 MOTOR SERVO .......................................................................................................... 27


iii
5.1 Tujuan ................................................................................................................................... 27
5.2 Dasar Teori ............................................................................................................................ 27
5.3 Peralatan ................................................................................................................................ 29
5.4 Langkah Percobaan ............................................................................................................... 29
5.4.1 Percobaan Test Servo Dengan Potensiometer ............................................................ 29

5.4.2 Percobaan Servo Dengan Ultrasonic Sensor ................................................................ 30

MODUL 6 MOTOR STEPPER ........................................................................................................ 32


6.1 Tujuan Praktikum .................................................................................................................. 32
6.2 Dasar Teori ............................................................................................................................ 32
6.2.1 Motor Stepper 28BYJ-48 ............................................................................................ 32

6.2.2 Module Bluetooth HC-05 ........................................................................................... 34

6.3 Percobaan ............................................................................................................................... 35


6.3.1 Peralatan ...................................................................................................................... 35

6.3.2 Langkah Percobaan ..................................................................................................... 35

6.3.2.1 Percobaan 1 Half-Speed Test .................................................................................. 35


6.3.2.2 Percobaan 2 Clockwise-Counter Clockwise ........................................................... 36
MODUL 7 LOAD CELL .................................................................................................................. 44
7.1 Tujuan Praktikum .................................................................................................................. 44
7.2 Dasar Teori ............................................................................................................................ 44
7.3 Peralatan ................................................................................................................................ 45
7.4 Langkah Percobaan ............................................................................................................... 45

iv
TATA TERTIB PELAKSANAAN PRAKTIKUM
1. Sebelum melaksanakan praktikum, praktikan wajib menyerahkan “Laporan Awal
Praktikum” untuk setiap modul praktikum.
2. Praktikan wajib memakai baju berkerah.
3. Setiap kelompok harus membawa minimal 2 buah modul praktikum.
4. Praktikan diwajibkan hadir 10 menit lebih awal sesuai dengan jadwal pelaksanaan praktikum
untuk melakukan absensi dengan asisten.
5. Bagi praktikan yang melanggar poin 1-4 tidak diperkenankan mengikuti
praktikum.
6. Setiap kelompok harus mengisi blangko peminjaman peralatan praktikum.
7. Selama melaksanakan praktikum, praktikan dilarang :
a) Makan dan merokok.
b) Melakukan kegiatan selain kegiatan praktikum.
c) Mengaktifkan HP kecuali dibutuhkan.
8. Sebelum melaksanakan praktikum, praktikan harus memahami terlebih
dahulu prosedur percobaan dan rangkaian percobaan.
9. Setelah melaksanakan praktikum, peralatan praktikum harus dikembalikan
sesuai dengan jumlah dan jenis yang tertera pada blangko peminjaman
peralatan praktikum.
10. Setiap peralatan praktikum yang rusak dan atau hilang karena kesalahan
praktikan, harus diganti dan menjadi tanggung jawab praktikan.

Kontrak Nilai :
- Laporan Awal 10%
- Tugas Awal 5%
- Pre Test 5%
- Indeks Pemahaman 10%
- Post Test 5%
- Laporan Akhir 15%
- Laporan Kelompok 15%
- Responsi 20%
- Tugas Besar 15%
- Kehadiran Mutlak

v
MODUL 1
LED (Light Emitting Diode)
1.1 Tujuan
Setelah mengikuti praktikum ini, praktikan diharapkan mampu untuk :
1) Mengenal dan memahami fungsi dasar pemrograman Arduino.
2) Mengenal dan memahami fungsi dari komponen dasar elektronika LED.
3) Mampu membuat program untuk mengkontrol nyala LED dengan Arduino.
4) Mengamati keluaran data berupa nyala LED dari Arduino.
1.2 Dasar Teori
Arduino dikatakan sebagai sebuah platform dari physical computing yang
bersifat open source. Arduino tidak hanya sekedar sebuah alat pengembangan,
tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated
Development Environment (IDE) yang canggih. IDE adalah sebuah software
yang sangat berperan untuk menulis program, meng-compile menjadi kode biner
dan meng-upload ke dalam memori mikrokontroler. Ada banyak projek dan
alat- alat dikembangkan oleh akademisi dan profesional dengan menggunakan
Arduino, selain itu juga ada banyak modul- modul pendukung (sensor, tampilan,
penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan
dengan Arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi
pilihan dan acuan bagi banyak praktisi.
Blink adalah pelajaran pemrograman yang paling sederhana dari pelajaran
pemrogramanArduino. Seperti halnya mempelajari bahasa pemrograman baru,
maka pelajaran pertama adalah "Hello World" -- nah, blink an LED inilah
"Hello World" dari pemrograman Arduino.
Dengan blink kita dapat melakukan pengujian yang berfungsi untuk
mengetes apakah board arduino dapat berfungsi dengan baik atau tidak, selain
itu untuk menguji keterkiriman source code yang diupload pada board. Dalam
pengembangannya program blink juga digunakan sebagai kontrol dasar Light
Emiting Diode (LED).

1
LED adalah komponen yang dapat mengeluarkan emisi cahaya. LED
merupakan produk temuan lain setelah dioda. Strukturnya juga sama dengan
dioda, tetapi belakangan ditemukanbahwa elektron yang menerjam sambungan
P-N juga melepaskan energi berupa energi panas dan energi cahaya. Untuk
mendapatkan emisi cahaya pada semi konduktor, doping yang dipakai adalah
galium, arsenik, dan fosfor. Jenis doping yang berbeda menghasilkan warna
yang berbeda pula.

Gambar 1.1 Simbol dan Bentuk Nyata LED


Pada saat ini cahaya LED yang banyak dibuat adalah merah, biru, kuning
dan hijau. Namun untuk menghasilkan cahaya yang berfariasi dapat digunakan
RGB LED, yaitu LED dengan kombinasi 3 warna merah, hijau dan biru untuk
menghasilkan warna-warna lain.

Gambar 1.2. Simbol dan Bentuk Nyata LED RGB


1.3 Alat dan Bahan
Alat dan bahan yang dibutuhkan adalah sebagai berikut :
1) Laptop 1 buah.
2) Arduino 1 buah
3) BreadBoard 1 buah
4) LED 5 buah
5) Resistor 10 KΩ 1 buah
6) Resistor 220 Ω 5 buah
7) Jumper secukupnya

2
1.4 Langkah Percobaan
1.4.1 Percobaan Running LED
Disini output dari LED dapat diatur sesuai dengan listing dari program
yang dibuat. Output yang dikeluarkan dari rangkaian LED berupa hidup dan
nyalanya dari lampu LED tersebut.
1. Susun rangkaian seperti terlihat pada Gambar 1.4 berikut

Gambar 1.3 Rangkaian Percobaan Running LED


2. Pasang kabel USB pada Arduino dengan port USB yang terdapat pada
Laptop untuk mengupload program.
3. Buka Arduino IDE, lalu ketikkan program berikut.
4. Compile dan upload program ke dalam Arduino board.
int LED1 = 7;
int LED2 = 8;
int LED3 = 9;
int LED4 = 10;
int LED5 = 11;
void setup()
{
pinMode(LED1, OUTPUT); //set pin 7 digital di arduino
sebagai output
pinMode(LED2, OUTPUT); //set pin 8 digital di arduino
sebagai output
pinMode(LED3, OUTPUT); //set pin 9 digital di arduino
sebagai output
pinMode(LED4, OUTPUT); //set pin 10 digital di arduino
sebagai output
pinMode(LED5, OUTPUT); //set pin 11 digital di arduino
sebagai output
}

3
void loop()
{
//LED1 yang ada di pin 7 menyala,LED lain di pin 8-9 mati
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(100); //kecepatan kedip 0,5 detik
//LED2 yang ada di pin 8 menyala,LED lain mati
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(100); //kecepatan kedip 0,5 detik
//LED3 yang ada di pin 9 menyala,LED lain mati
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(100); //kecepatan kedip 0,5 detik
//LED4 yang ada di pin 10 menyala,LED lain mati
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, LOW);
delay(100); //kecepatan kedip 0,5 detik
//LED5 yang ada di pin 11 menyala,LED lain mati
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, HIGH);
delay(100); //kecepatan kedip 0,5 detik
}

4
1.4.2 Pecobaan LED dan Sensor LDR (Light Dependant Resistor)
Seperti pada percobaan sebelumnya, output dari LED dapat dilihat
menggunakan sensor LDR. LDR adalah jenis resistor yang nilainya berubah
seiring intensitas cahaya yang diterima oleh komponen tersebut. Biasa digunakan
sebagai detektor cahaya atau pengukur besaran konversi cahaya. Berikut langkah
percobaan rangakaian LED dan LDR
1. Susun rangkaian seperti terlihat pada Gambar 1.3 berikut

Gambar 1.4 Rangkaian Percobaan LED dan Sensor LDR


2. Pasang kabel USB pada Arduino dengan port USB yang terdapat pada laptop
untuk mengupload program.
3. Buka Arduino IDE, lalu ketikkan program berikut.
int ledPin = 13; //Pin LED
int ldrPin = A0; //Pin LDR
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT); //Menyatakan bahwa led sebagai
output
pinMode(ldrPin, INPUT); //Menyatakan bahwa ldr sebagai
input
}
void loop() {
int ldrStatus = analogRead(ldrPin); //Membaca nilai dari
sensor ldr
Serial.println(ldrStatus);
delay(100);

5
//Pengecekan nilai yang diterima sensor ldr <= 300
//jika kecil, LED hidup

if (ldrStatus <=300) {
digitalWrite(ledPin, HIGH); //led hidup
Serial.println("LDR is DARK, LED is ON");
}
else {
digitalWrite(ledPin, LOW); //led mati
Serial.println("---------------");
}
}
4. Compile dan upload program ke dalam Arduino board.

6
MODUL 2
INPUT/OUTPUT ARDUINO
2.1 Tujuan
Tujuan dari praktikum ini adalah :
1) Memahami prinsip kerja dari sebuah switch yang digunakan sebagai digital
input.
2) Menggunakan tombol push dengan input digital untuk mengubah sebuah
kondisi dari LED ( Light Emiting Diode).
3) Memahami frekuensi yang digunakan pada sebuah mikrokontroler untuk
menghasilkan sebuah nada.
4) Memahami prinsip kerja dari sensor ultrasonik sebagai input digital.
2.2 Dasar Teori
Arduino dikatakan sebagai sebuah platform dari physical computing yang
bersifat opensource. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi
ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated
Development Environment (IDE) yang canggih. IDE adalah sebuah software yang
sangat berperan untuk menulis program, meng-compile menjadikode biner dan meng-
upload ke dalam memori mikrokontroler. Switch (Saklar) adalah sebuahperangkat
elektronik yang digunakan untuk memutuskan jaringan listrik atau untuk
menghubungkannya. Jadi saklar pada dasarnya adalah alat penyambung atau pemutus
aliran listrik. Selain untuk jaringan listrik arus kuat, saklar berbentuk kecil juga
dipakai untuk alat komponen elektronika arus lemah. Alat ini befungsi sebagai
pemberi sinyal masukan pada rangkaian listrik, ketika / selama bagian knopnya
ditekan maka alat ini akan bekerja,sebaliknya ketika dilepas maka alat ini akan
berhenti bekerja.
Salah satu jenis switch yang sering digunakan adalah tactile switches seperti
yang terlihat pada Gambar 2.1. Fungsinya sama seperti switch pada umumnya,
namun komponen ini memiliki 4 kaki. Untuk menggunakan komponen tactile
switches harus dihubungkan secara bersilang A dan C atau B dan D.

Gambar 2.1 Komponen Tactile Switch

7
Sensor ultrasonik tipe HCSR04 merupakan perangkat yang
digunakan untuk mengukur jarak dari suatu objek. Kisaran
jarak yang dapat diukur sekitar 2-450 cm. Sensor ini dapat dilihat pada Gambar
2.2

Gambar 2.2 Sensor Ultrasonik


2.3 Peralatan
Peralatan yang dibutuhkan adalah sebagai berikut :
1) LED 1 buah
2) Arduino UNO 1 buah
3) Kabel jumper secukupnya
4) Kabel USB 1 buah
5) Breadboard 1 buah
6) Resistor 220 ohm 1 buah
7) Push Botton(Switch) 1 buah
8) Sensor Ultrasonik 1 buah
9) Buzzer 1 buah
2.4 Langkah Percobaan
2.4.1 Percobaan Switching LED

Gambar 2.3 Rangkaian Percobaan LED Switching


Susunlah komponen-komponen yang diperlukan seperti Gambar 2.2
sebagai berikut :

8
Push Button :
1. Hubungkan kaki + anoda LED dengan Resistor 1 ohm, kemudian
hubungkan ke PIN 3 PWM Arduino.
2. Hubungkan Push Button (pin A) ke Pin arduino PIN 3 PWM.
3. Hubungkan Push Button (pin B) dengan resistor 1k dan hubungkan ke Pin
arduino GND.
4. Hubungkan Push Button (pin C) ke Pin arduino 5V.
LED :
5. Hubungkan kaki Katoda (-) atau Short Leg pada LED ke Ground (GND)
6. Hubungkan kaki Anoda (+) atau Long Leg pada LED ke resistor 220 dan
hubungkan ke Pin Arduino PIN 12 PWM
7. Hubungkan Arduino dengan PC/Komputer dengan menggunakan Kabel
USB Arduino.
8. Masukan listing program ini ke Software compiler arduino.
int pinLed = 3; //Membuat variabel untuk LED
int pintombol = 4; // Membuat variabel untuk Tombol
void setup() {
Serial.begin (9600);
pinMode(pinLed, OUTPUT); // variabel pinLed menjadi output
pinMode(pintombol, INPUT_PULLUP); // variabel pinBtn menjadi
input
}
void loop() {
// variabel statusBtn menyimpan nilai dari hasil pembacaan
pinBtn
int statusBtn = digitalRead(pintombol);
// Ketika push button tidak ditekan nilainya HIGH/1
if(statusBtn == HIGH)
{
digitalWrite(pinLed, HIGH);
Serial.print("Hidup");
} else {
digitalWrite(pinLed, LOW);
Serial.print("Mati");
}
}

9
Berikutnya Compile dan Upload Program ke Arduino Board, perhatikan yang
terjadi, apakah sesuai dengan spesifikasi atau tidak.
2.4.2 Percobaan Making Sound
a) Percobaan Menggunakan Buzzer

Gambar 2.4 Rangkaian Percobaan


Menggunakan Buzzer Susunlah komponen-komponen praktikum seperti
Gambar 2.4, sebagai berikut :
1. Hubungkan Arduino dengan PC/Komputer dengan menggunakan
Kabel
2. Masukan listing program ini ke Software compiler arduino.
int buz = 3;
int bt = 4;
int nada [120]= {1702, 1702,1702, 1012,1012,1012, 1136,
1012, 995, 1136, 1269, 1702, 1702, 1702, 1702, 851, 851,
851, 851, 955, 851, 758, 955, 1269, 1269, 1269, 758, 955,
955, 851, 758, 851, 1012, 1702, 1702, 1702, 1269, 1269,
1269, 1269, 1012, 1012, 1136, 1269, 1136, 851, 1012, 1012,
1012, 1012, 1136, 1012, 955, 1136, 1269, 851, 851, 758, 955,
1012, 1012, 1012, 1012, 1136, 1012, 955, 1136, 1269, 1702,
1517, 1350, 1269, 1269, 1136, 1269, 1012, 1136, 955, 955,
851, 758, 955, 1012, 1136, 955, 1012, 1136, 1702, 1517,
1350, 1269, 1269, 1136, 1269, 1012, 1136, 955, 955, 851,
758, 851, 955, 1012, 1136, 1269 };
int x = 0;
void setup(){
pinMode(buz, OUTPUT);
pinMode(bt, INPUT);
}

10
void loop(){
while(digitalRead(bt)){
digitalWrite(buz, HIGH);
delayMicroseconds(nada[x]);
digitalWrite(buz, LOW);
delayMicroseconds(nada[x]);
if(digitalRead(bt) == 0){
if(x <109){
x++;
break;
}else{
x=0;
break;
}
}
}
}
3. Berikutnya compile dan upload program ke arduino Board.
b) Percobaan Menggunakan Buzzer dan Sensor Ultrasonik

Gambar 2.5 Rangkaian Percobaan Buzzer dan Sensor Ultrasonik


Susunlah komponen-komponen praktikum seperti Gambar 2.4, Sebagai
berikut :
1. Masukan listing program ini ke Software compiler arduino.
// defines pins numbers
const int trigPin = 5;
const int echoPin = 6;
const int buzzer = 11;
const int ledPin = 13;

// defines variables
long duration;
int distance;

11
int safetyDistance;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance= duration*0.034/2;

safetyDistance = distance;
if (safetyDistance <= 5){
digitalWrite(buzzer, HIGH);
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(buzzer, LOW);
digitalWrite(ledPin, LOW);
}
Serial.println(distance);
}

12
MODUL 3
SEVEN SEGMENT
3.1 Tujuan Pratikum
Tujuan praktikum seven segment adalah :
1. Mahasiswa dapat mengetahui bagaimana mengouputkan karakter angka dan
huruf pada seven segment menggunakan arduino.
2. Mahasiswa dapat mengetahui bagaimana menggunakan decoder 7447 BCD to
seven segment.
3.2 Dasar Teori
Pada umumnya seven segment terdiri 7 buah led yang disusun membentuk
angka 8, dimana setiap segmentnya terdiri dari LED yang salah satu kaki terminal
lednya di jadikan satu atau yang disebut dengan common. Kaki yang dijadikan satu
/ common sendiri dibagi menjadi 2 macam yaitu kaki common anoda dan kaki
common cathoda. Skema dari 7 batang led tadi biasanya di tandai dengan huruf a -
g, sebagai berikut

Gambar 3.1 Skema Seven Segment


1. Common Anoda
Common Anoda merupakan bagian kaki dari anoda (+) yang dijadikan satu dan
dihubungkan dengan arus positif tegangan. sedangkan untuk mengaktifkan kaki
yang lainnya harus di beri tegangan negatif. atau led akan menyala jika dalam
kondisi aktif low (diberi logika 0). Misalkan ingin menampilkan angka 1, maka
yang harus di lakukan adalah. Kaki common di beri tegangan +, sedangkan kaki
b dan c di beri tegangan -.
2. Common Katoda
Common katoda ini kebalikannya dari common anoda, jadi kaki common yang
disatukan adalah kaki katoda (-), sehingga untuk mengaktifkan kaki yang lain di
beri tegangan (+) atau diberi logik high (1)

13
Untuk memudahkan, maka setiap segmen tersebut diberi kode huruf
a,b,c,d,e,f,g, dan dp; seperti pada gambar di bawah ini.

3.3 Peralatan yang dibutuhkan


Pada praktikum seven segment diperlukan peralatan di antara lain :
1) Breadboard 1 buah
2) Arduino Uno 1 buah
3) Seven Segment 1 buah
4) Kabel Jumper 1 buah
3.4 Langkah Percobaan
Susunlah komponen-komponen praktikum seperti gambar di atas, caranya :
1. Hubungkan kaki + Anoda Seven ke Pin VCC Arduino menggunakan kabel
jumper. Segment
2. Hubungkan pin-pin seven segment ke pin Arduino menggunakan kabel jumper.

3. Hubungkan board Arduino Uno dengan Komputer menggunakan kabel USB.


4. Bukalah IDE Arduino, kemudian ketikkan kode program/sketch.
5. Compile menggunakan verify button (tanda ceklist pada IDE arduino) untuk
mengecek ada atau tidaknya error/kesalahan dalam pengetikan.
6. Upload program ke Arduino.
3.5 Rangkaian Percobaan

Gambar 3.2 Rangkaian Seven Segment

14
3.6 Program Percobaan
Beriku langkah percobaan pada komponen seven segment :
A. Memeriksa LED
int a=8;
int b=9;
int c=11;
int d=12;
int e=13;
int f=7;
int g=6;
int dp=10;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
void loop() {
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
}
B. Membuat Rotasi Angka dan Huruf
int a=8;
int b=9;
int c=11;
int d=12;
int e=13;
int f=7;

15
int g=6;
int dp=10;
void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
void loop() {
//angka 0
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH;
digitalWrite(dp,LOW;
//angka 1 delay(1000);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
delay(1000);
//angka 2
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);

16
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 3
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 4
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 5
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 6
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);

17
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 7
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
delay(1000);
//angka 8
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//angka 9
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
delay(1000);
//clear led
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);

18
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,HIGH);
delay(1000);
//huruf a
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
delay(1000);
//huruf b
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
delay(1000);
//huruf c
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(dp,HIGH);
delay(1000);
//huruf d
digitalWrite(a,HIGH);
digitalWrite(b,LOW);

19
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
delay(1000);
//huruf e
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
delay(1000);
//huruf f
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(dp,HIGH);
delay(1000);
//clear
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,HIGH);
delay(1000);
}

20
MODUL 4
LIQUID CRYSTAL DISPLAY (LCD) 16X2 I2C
4.1 Tujuan Praktikum
Setelah mengikuti praktikum ini, praktikan diharapkan mampu untuk:
1. Mahasiswa mampu mengenal dan memahami dalam penerapan perangkat
arduino.
2. Mahasiswa dapat mengontrol dan manajemen tampilan Pada perangkat LCD
16x2 I2C
4.2 Dasar Teori
Dalam modul LCD (Liquid Cristal Display) 16x2 I2C terdapat
microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD.
Microntroller pada suatu LCD dilengkapi dengan memori dan register. Memori
yang digunakan microcontroler internal LCD adalah : DDRAM (Display Data
Random Access Memory) merupakan memori tempat karakter yang akan
ditampilkan berada. CGRAM (Character Generator Random Access Memory)
merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk
dari karakter dapat diubah-ubah sesuai dengan keinginan. CGROM (Character
Generator Read Only Memory) merupakan memori untuk menggambarkan pola
sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah
ditentukan secara permanen oleh pabrikan pembuat LCD tersebut sehingga
pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat
merubah karakter dasar yang ada dalam CGROM. Register control yang terdapat
dalam suatu LCD diantaranya adalah. Register perintah yaitu register yang berisi
perintah-perintah dari mikrokontroler ke panel LCD pada saat proses penulisan
data atau tempat status dari panel LCD dapat dibaca pada saat pembacaan data.
Register data yaitu register untuk menuliskan atau membaca data dari atau
keDDRAM. Penulisan data pada register akan menempatkan data tersebut ke
DDRAM sesuai dengan alamat yang telah diatur sebelumnya. Pin, kaki atau jalur
input dan kontrol dalam suatu LCD diantaranya adalah : Pin data adalah jalur untuk
memberikan data karakter yang ingin ditampilkan menggunakan LCD dapat
dihubungkan dengan bus datadari rangkaian lain seperti mikrokontroler dengan
lebar data 8 bit. Pin RS (Register Select) berfungsi sebagai indikator atau yang

21
menentukan jenis data yang masuk, apakah data atau perintah. Logika low
menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data,
sedangkan high baca data. Pin E (Enable) digunakan untuk memegang data baik
masuk atau keluar. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras)
dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan
dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
LCD 16x2 I2C dapat dilihat pada Gambar 4.1.

Gambar 4.1 LCD 16x2 I2C dan Pin-Pin


Sensor suhu LM35 adalah jenis sensor suhu yang paling banyak digunakan
untuk project mikrokontroler sederhana. Sensor ini merupakan jenis sensor yang
memiliki tegangan keluaran analog. Sensor LM35 dapat mendeteksi suhu dengan
range -55 celcius sampai 150 celcius. Tegangan keluaran sensor akan bervariasi
dari -1 volt sampai 5 volt sesuai dengan kondisi suhu ruangan. Tegangan keluaran
sensor akan naik sebesar 10mV/celcius. Karena output sensor berupa tegangan
analog, maka untuk mengolah data dari sensor diperlukan ADC (Analog To Digital
Converter). Arduino yang akan kita gunakan sebagai mikrokontroler pengolah data
didalamnya sudah terdapat ADC, sehingga sensor dapat langsung dihubungkan
dengan Arduino. Untuk lebih jelasnya mari kita lihat penjelasan di bawah ini

Gambar 4.2 Sensor LM35

22
4.3 Alat dan Bahan
Alat dan bahan yang digunakan pada praktikum ini adalah :
1. Laptop/ PC yang telah terinstal IDE Arduino
2. Arduino
3. LCD 16x2 I2C
4. Kabel Jumper
5. Sensor LM35
4.4 Langkah Percobaan
4.4.1 Percobaan LCD 16x2 Membaca Temperatur
Sama seperti sebelumnya, LCD juga dapat menampilkan bacaan sesuai
dengan inputan dari sensor. Sensor yang digunakan percobaan ini yaitu LM35
untuk mendeteksi temperatur.
Langkah Percobaan :
1. Susun Rangkaian seperti pada Gambar 4.2

Gambar 4.4 Susunan Rangkaian Pada LCD 16x2 I2C dan LM35
2. Pasang kabel USB pada Arduino dengan port USB yang terdapat pada
labtop untukmengupload program.
3. Buka Arduino IDE, lalu ketikkan program berikut:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);//Atur alamat LCD ke 0x27
untuk tampilan 16 karakter dan 2 baris
#define sensor A1//Sensor LM35
byte degree[8] =
{
0b00011,
0b00011,
0b00000,

23
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};// Baris-baris ini untuk membuat tanda Derajat khusus
void setup() {
lcd.backlight();
Serial.begin(9600);
lcd.init();
lcd.createChar(1, degree);
lcd.setCursor(0,0);
lcd.print(" Digital ");
lcd.setCursor(0,1);
lcd.print(" Thermometer ");
delay(2000);
lcd.clear();
}
void loop()
{
/*---------Temperature-------*/
float reading=analogRead(sensor);
float temperature=reading*(5.0/1023.0)*100;
delay(10);

/*------Display Result------*/
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Temperature");
lcd.setCursor(4,1);
lcd.print(temperature);
lcd.write(1);
lcd.print("C");
delay(1000);
}

4. Compile dan upload program ke dalam Arduino board.


5. Perhatikan dan amati pada rangkaian yang telah anda buat.

24
4.4.2 Pecobaan LCD 16x2 I2C
Para percobaan ini memanfaatkan LCD untuk m enampilkan
bacaan pada layar LCD itu sendiri .
Langkah Percobaan :
1. Susun Rangkaian seperti pada Gambar 4.2

Gambar 4.3 Susunan Rangkaian Pada LCD 16x2 I2C


2. Pasang kabel USB pada Arduino dengan port USB yang terdapat pada
labtop untukmengupload program.
3. Buka Arduino IDE, lalu ketikkan program berikut:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
void setup()
{
lcd.init ();
}
void loop()
{
//Prosedur Tes Lampu Pada LCD
lcd.backlight();//Lampu LCD Hidup
delay(500); //Selama 0,5 detik
lcd.setCursor(0,0);
lcd.print("Prak Mekatronika"); //(Boleh diganti, Karakter
Sebanyak 16 termasuk spasi)
lcd.setCursor(0,1);
lcd.print("Tes BackLight");
delay(3000);
lcd.clear(); // Menghapus tulisan sebelumnya menjadi
tanpa karakter
delay(50); // dengan jeda tampilan 0,05 detik

25
lcd.noBacklight();//Lampu LCD Mati
delay(5000);
lcd.backlight();//
delay(50);
lcd.setCursor(0,0);
lcd.print("Mati ");
lcd.setCursor(0,1);
lcd.print("Pertama");
delay(3000);

lcd.clear();
delay(50);
lcd.backlight();
delay(500);
lcd.noBacklight();
delay(5000);
lcd.backlight();
lcd.setCursor(7,0);
lcd.print("Mati Lagi");
lcd.setCursor(11,1);
lcd.print("Kedua");
delay(3000);
lcd.clear();
}
4. Compile dan upload program ke dalam Arduino board.
5. Perhatikan dan amati pada rangkaian yang telah anda buat.
6. Buat program dengan menambahkan deklarasi baru pada program.
7. Ulangi langkah 4 dan 5.

26
MODUL 5
MOTOR SERVO
5.1 Tujuan
Tujuan dari praktikum ini adalah :
1) Mahasiswa mampu menggunakan fungsi motor servo dengan arduino.
2) Mahasiswa mampu mengetahui prinsip kerja dari motor servo.
5.2 Dasar Teori
Motor servo adalah sebuah perangkat sebagai aktuator putar (motor) yang
dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat
di set-up atau di aturuntuk menentukan dan memastikan posisi sudut dari poros
output motor. Motor servo merupakan perangkat yang terdiri dari motor DC,
serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang
melekat pada poros motor DC akan memperlambat putaran poros dan
meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan
resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran
poros motor servo.
Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk
mengontrol gerakan dan posisi akhir dari poros motor servo. Posisi poros output
akan dihasilkan oleh sensor, untuk mengetahui posisi poros sudah tepat seperti
yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim
sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang
diinginkan. Motor servo biasa digunakan dalam aplikasi- aplikasi di industri,
selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan
radio kontrol, robot, pesawat, dan lain sebagainya.
Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC
lebih dapat menangani arus yang tinggi atau beban berat, sehingga sering
diaplikasikan pada mesin- mesin industri. Sedangkan motor servo DC biasanya
lebih cocok untuk digunakan pada aplikasi-aplikasi yang lebih kecil. Dan bila
dibedakan menurut rotasinya, umumnya terdapat dua jenis motor servo yang dan
terdapat di pasaran, yaitu motor servo rotation 1800 dan servorotation continuous
3600.

27
1. Motor servo standard (servo rotation 1800) adalah jenis yang paling umum dari
motor servo, dimana putaran poros outputnya terbatas hanya 900 kearah kanan
dan 900 kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran
atau 1800.
2. Motor servo rotation continuous 3600 merupakan jenis motor servo yang
sebenarnya sama dengan jenis servo standard, hanya saja perputaran porosnya
tanpa batasan atau dengan kata lain dapat berputar terus, baik ke arah kanan
maupun kiri.

Gambar 5.1 Motor Servo


Dalam Peralatan Elektronik, sering ditemukan Potensiometer yang berfungsi
sebagai pengatur Volume di peralatan Audio / Video seperti Radio, Walkie Talkie,
Tape Mobil, DVD Player dan Amplifier. Potensiometer juga sering digunakan
dalam Rangkaian Pengatur terang gelapnya Lampu (Light Dimmer Circuit) dan
Pengatur Tegangan pada Power Supply (DC Generator).
Potensiometer adalah salah satu jenis Resistor yang Nilai Resistansinya dapat
diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan
pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam
Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki
Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya.

Gambar 5.2 Potensiometer

28
5.3 Peralatan
Peralatan yang diperlukan untuk praktikum motor servo adalah :
1) Laptop/ PC yang telah terinstal IDE Arduino
2) Motor Servo
3) Arduino Uno
4) Motor Servo
5) Kabel Jumper
6) Sensor Ultrasonik
7) Potensiometer
5.4 Langkah Percobaan
5.4.1 Percobaan Test Servo Dengan Potensiometer
1. Rangkaian percobaan seperti pada Gambar 5.2

Gambar 5.2 Test Servo Dengan Potensiometer


2. Buka aplikasi Arduino IDE untuk memulai program.
3. Setelah aplikasi dibuka, tulis pada layar kerja arduino program berikut :
#include <Servo.h>
Servo servosaya;
int Sudut;
int Potensiometer=A0;
int Hasilbaca;
void setup()
{
Serial.begin(9600);
pinMode(Potensiometer, INPUT);
servosaya.attach(9);
}
void loop()
{

29
int Hasilbaca=analogRead(Potensiometer);
Sudut=map(Hasilbaca,0 ,1023 , 0, 180);
servosaya.write(Hasilbaca);
Serial.println(Hasilbaca);
Serial.println(Sudut);
Serial.println("");
delay(15);
}
4. Lalu, klik compile untuk mengecek coding yang kita buat.
5. Coba perhatikan yang terjadi pada rangkaian, amati dan pahami.
5.4.2 Percobaan Servo Dengan Ultrasonic Sensor
1. Rangkaian percobaan seperti pada Gambar 5.3

Gambar 5.3 Servo dengan Ultrasonik


2. Buka aplikasi Arduino IDE untuk memulai program.
3. Setelah aplikasi dibuka, tulis pada layar kerja arduino program berikut:
#include <Servo.h>
#define trigPin 12
#define echoPin 11
Servo servo;
int sound = 250;
void setup() { Serial.begin
(9600);pinMode(trigPin,
OUTPUT); pinMode(echoPin,
INPUT); servo.attach(9);
}
void loop() {
long duration, distance; digitalWrite(trigPin,LOW);
delayMicroseconds(2);

30
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 10) {
Serial.println("the distance is less than 10");
servo.write(90);
delay(500);
}
else { servo.write(0);
}
if (distance > 60 || distance <= 0){ Serial.println("The
distance is more than 60");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
4. Lalu, klik compile untuk mengecek coding yang kita buat.
5. Coba perhatikan yang terjadi pada rangkaian, amati dan pahami.

31
MODUL 6
MOTOR STEPPER
6.1 Tujuan Praktikum
Tujuan dari praktikum ini adalah :
1. Mahasiswa dapat mengetahui prinsip kerja dari motor stepper.
2. Mahasiswa mampu menggunakan motor stepper dengan menggunakan
mikrokontroler arduino.
3. Mahasiswa dapat memahami penerapan atau pengalikasian motor stepper
dalam dunia industri.
6.2 Dasar Teori
6.2.1 Motor Stepper 28BYJ-48
Motor stepper merupakan salah satu jenis motor yang banyak digunakan
sebagai aktuator. Perputaran dari motor stepper dapat diatur dengan menggunakan
mikroprosesor maupun mikrokontroler. Motor stepper tidak memiliki komutator
dan umumnya hanya memiliki kumparan pada bagian stator dan magnet permanen
(bahan fremagnetic) pada bagian rotor. Konstruksi tersebut menyebabkan motor
stepper dapat diatur posisinya pada posisi tertentu, misalnya searah jarum jam atau
berlawanan dengan arah jarum jam. Motor ini bergerak sesuai dengan
sudut step yang bisa bervariasi tergantung dari motor stepper yang digunakan.
Pada datasheet disebutkan motor stepper mempunyai stride angle sebesar
5.625 derajat. Artinya motor stepper membutuhkan 360/5.625 = 64 step untuk
melakukan 1 kali putaran. Ini dihitung setelah melalui gearbox yang ada pada
motor. Aslinya bisa lebih banyak lagi step yang dibutuhkan untuk satu kali
putaran, tergantung rasio gearbox nya. Beberapa motor stepper mempunyai stride
angle lebih kecil lagi, berarti motor stepper tersebut lebih bagus, karena bisa
dikendalikan ke posisi yang lebih presisi. Jumlah step yang diperlukan untuk satu
kali putaran juga bisa ditentukan melalui script. Memutar motor stepper lebih
rumit dibanding motor dc, karena memerlukan gelombang pulsa (pwm=pulse
width modulation) untuk menggerakkanya.
Motor Stepper 28BYJ-48 adalah motor stepper unipolar dengan tegangan
sebesar 5V DC, jumlah fase sebanyak 4, rasio variasi kecepatan 1/64, stride
angle 5,625 derajat/64 dan frekuensi 100 Hz, konsumsi arus sekitar 160mA untuk

32
setiap lilitan dan 200mA saat motor dijalankan dengan kecepatan maksimum
Motor ini memiliki banyak fitur yaitu :
1. Rotasi sudut dari motor proporsional terhadap input pulsa
2. Memiliki torsi penuh ketika lilitan diberi energi
3. Posisi yang presisi dan perpindahan yang dapat diulang (akurasi 5% dari
satu step dan error yang terjadi tidak akan di akumulasikan ke step yang
berikutnya).
4. Respon yang sangat baik untuk memulai, berhenti atau berbalik.
5. Sangat handal, karena tidak ada kontak dengan brushes pada motor.
6. Open loop control, membuat motor lebih sederhana dan lebih mudah dikontrol.
7. Memungkinkan untuk mendapatkan putaran sinkron pada kecepatan yang
sangat rendah.
8. Berbagai kecepatan putaran dapat direalisasikan karena kecepatannya
sebanding dengan frekuensi pulsa input.
Dibawah ini adalah Gambar 6.1 atau gambar schematics internal dari Motor
Stepper 28BYJ-48. Dapat kita lihat bahwa motor stepper unipolar memiliki
sebuah common dibagian tengah

Gambar 6.1 Schematics Internal Motor Stepper 28BYJ-48


Contoh penggunaan motor stepper yang paling umum adalah sebagai
penggerak head pada disk drive dan motor ini sering digunakan pada bidang
robotik.
Motor stepper memerlukan driver khusus agar bisa berputar. Driver ini
memberikan tegangan dan arus yang cukup ke motor. Bila hanya menggunakan
arduino, dipastikan motor tidak akan bergerak karena tegangan dan arus tidak
mencukupi.

33
ULN2003A adalah sebuah high-voltage (50 VDC) dan high-current (500
mA) Darlington Array Transistor. Setiap chip ULN2003A berisi 7 pasang NPN
Darlington. Rating arus pada pin collector sebuah Darlington sebesar 500
mA. Chip ini dapat di aplikasikan pada driver relay, driver lampu, logic
buffer dan lain lain. Berikut bentuk dan pin-pin dari Driver ULN2003A yang
dapat dilihat pada Gambar 6.2.

Gambar 6.2 ULN2003A


6.2.2 Module Bluetooth HC-05
Module Bluetooth HC-05 adalah modul Bluetooth yang mudah digunakan
melalui penggunaan SPP (Serial Port Protocol) yang di desain untuk pengaturan
koneksi sinyal wireless. Modul ini memenuhi syarat Bluetooth V2.0+EDR
(Enhaced Data Rate) dengan modulasi sebesar 3 Mbps dan transceiver radio 2,4
GHz. Modul ini menggunakan CSR Bluecore 04-external single chip dengan
teknologi CMOS dan Adaptive Frequency Hoping Feature (AFH). Berikut ini
fitur hardware Module Bluetooth HC-05 :
1. Sensitivitas -80 dBm
2. RF Transmit power sampai dengan +4dBm
3. Low power operation 1,8 Volt dan untuk I/O 1,8 Volt s/d 3,6 Volt
4. PIO Control
5. UART interface dengan baudrate yang dapat diprogram
6. Antena yang terintegrasi
7. Memiliki edge connector
Bentuk fisik dari Modul Bluetooth HC-05 dapat dilihat pada Gambar 6.3.

34
Gambar 6.3 Modul Bluetooth HC-05
6.3 Percobaan
Akan dilakukan 3 percobaan yaitu half-speed test, Clockwise-Counter
clockwise, dan Connect with Module Bluetooth.
6.3.1 Peralatan
Peralatan yang dibutuhkan pada praktikum ini adalah :
1. Laptop/PC yang telah ter-install Arduino IDE 1 Set
2. Arduino Uno 1 Buah
3. Motor Stepper 28BYJ-48 1 Buah
4. Driver ULN 2003A 1 Buah
5. Bread Board 1 Buah
6. Smartphone (Androrid) 1 Buah
7. Kabel Jumper Secukupnya
6.3.2 Langkah Percobaan
6.3.2.1 Percobaan 1 Half-Speed Test
1. Rangkai percobaan seperti pada Gambar 6.4

Gambar 6.4 Rangkaian Percobaan 1


2. Buka Software Arduino IDE untuk memulai pemograman.

35
3. Setelah software terbuka, tulis program atau coding dibawah ini pada
layar kerja arduino
#include <AccelStepper.h>
#define HALFSTEP 8

// Motor pin definitions


#define motorPin1 11 // IN1 on the ULN2003 driver 1
#define motorPin2 10 // IN2 on the ULN2003 driver 1
#define motorPin3 9 // IN3 on the ULN2003 driver 1
#define motorPin4 8 // IN4 on the ULN2003 driver 1
// inisial awal penggunaan pin yang terhubung dengan
driver ULN2003
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3,
motorPin2, motorPin4);
void setup()
{
pinMode(3,OUTPUT);
digitalWrite(3,LOW);
stepper1.setMaxSpeed(1000.0);//mengatur nilai kecepatan
maksimum dari putaran motor stepper
stepper1.setAcceleration(100.0);//Acceleration setting
stepper1.setSpeed(500); //Setting kecepatan yang
diinginkan
}
void loop()
{
stepper1.runSpeed();
}
4. Lalu, Klik Compile untuk mengecek kebenaran dari coding yang telah
dibuat.
5. Klik Upload, untuk meng-upload coding yang telah dibuat ke Arduino.
6. Perhatikan yang terjadi pada rangkaian.
6.3.2.2 Percobaan 2 Clockwise-Counter Clockwise
1. Rangkai percobaan sama seperti pada Gambar 6.4
2. Buka Software Arduino IDE untuk memulai pemograman.
3. Setelah software terbuka, tulis program atau coding dibawah ini pada
layar kerja arduino

36
#include <Stepper.h>
// Tentukan jumlah langkah yang diperlukan untuk satu kali
putaran:
const int stepsPerRevolution = 2048; //berputar 360 derajat
// Pengkabelan:
// Pin 8 ke IN1 pada driver
// Pin 9 ke IN2 pada driver
// Pin 10 ke IN3 pada driver
// Pin 11 ke IN4 pada driver
// Mebuat objek StepperKu, untuk mendefinisikan urutan
pengkabelan:
Stepper StepperKu = Stepper(stepsPerRevolution, 8, 10, 9,
11);
void setup() {
// Menentukan rpm = 10 rpm:
StepperKu.setSpeed(10);
// Komunikasi serial dengan baud rate 9600:
Serial.begin(9600);
}
void loop() {
// Stepper berputar 360 derajat satu arah:
Serial.println("Searah Jarum jam");
StepperKu.step(stepsPerRevolution);
delay(500);
// Stepper berputar 360 derajat ke arah sebaliknya:
Serial.println("Berlawanan Arah Jarum jam");
StepperKu.step(-stepsPerRevolution);
delay(500);
}
4. Lalu, Klik Compile untuk mengecek kebenaran dari coding yang telah
dibuat.
5. Klik Upload, untuk meng-upload coding yang telah dibuat ke Arduino.
6. Perhatikan yang terjadi pada rangkaian.
6.3.2.2 Percobaan 3 Connect With Bluetooth Module HC-05
1. Rangkai percobaan seperti pada Gambar 6.5

37
Gambar 6.5 Rangkaian Percobaan 3
2. Buka Software Arduino IDE untuk memulai pemograman.
3. Setelah software terbuka, tulis program atau coding dibawah ini pada layar
kerja Arduino
#include <AccelStepper.h>
#define HALFSTEP 8
#define motorPin1 8 // IN1 on ULN2003 ==> Blue on
28BYJ-48
#define motorPin2 9 // IN2 on ULN2004 ==> Pink on
28BYJ-48
#define motorPin3 10 // IN3 on ULN2003 ==> Yellow on
28BYJ-48
#define motorPin4 11 // IN4 on ULN2003 ==> Orange on
28BYJ-48
// NOTE: The sequence 1-3-2-4 is required for proper
sequencing of 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3,
motorPin2, motorPin4);
String myString = "";
boolean validCommand = false;
boolean justRun = false; // if True, indicates need
to run at constant speed
long mySteps = 2048; // Assuming a nominal 4096
steps per revolution
float mySpeed = 500.0;
char command;
void setup()
{

38
Serial.begin(9600);
Serial.println("Bluetooth is NOT connected");
Serial.println("Waiting for data");
stepper1.disableOutputs(); // disable
motor coils until needed
stepper1.setMaxSpeed(1000.0);
}
void loop()
{
validCommand = false;
readData(); // Read any available characters
from the serial input buffer
checkData(); // Check the input data string for
validity and extract the command
if (validCommand) // If the command string was valid
{
processCommand(); // Process command character and
change stepper motor behaviour
}
if (justRun)
{
stepper1.runSpeed(); // Keep running continuously at
predefined speed & direction
}
else
{
stepper1.run(); // Run until previously defined
endpoint is reached,
} // with previously defined
acceleration and final speed.
}
//-----------------------------------------------------------
--------------------------------
//
// Function to read available data from serial input buffer
//
void readData()
{
while ( Serial.available() ) // Read while there

39
are available characters
{
delay(3);
char c = Serial.read();
myString += c; // build the command
string
}
Serial.print(myString); // Output the full
command string - for debugging
}
//-----------------------------------------------------------
--------------------------------
//
// Function to check the input data string for validity and
extract the command character
//
void checkData()
{
// Is the input data string 4 characters long, starting
with sub-string "com" ?
if (( myString.length() == 4) &&
(myString.startsWith("com") ))
{
validCommand = true;
command = myString[3]; // Get the command
character
Serial.print(" command is ");
Serial.println(command);
}
else // input data string must contain at least 1
character, or we get stuck in a loop
if ( myString.length() > 0)
{
validCommand = false;
Serial.println(" command string is invalid");
}
myString = ""; // Clear the input
data string for next time
}

40
//-----------------------------------------------------------
--------------------------------
//
// Function to process command character and change stepper
motor behaviour
//
void processCommand()
{
justRun = false;
stepper1.enableOutputs(); // enable the motor
coils

switch (command)
{
case '0': // Stop immediately
{
Serial.println("STOP immediately");
stopNow();
break;
}
case '1': // move half turn clockwise, accelerating
& decelerating
{
Serial.println("step clockwise");
moveSteps(mySteps);
break;
}
case '2': // move half turn anticlockwise,
accelerating & decelerating
{
Serial.println("step anti-clockwise");
moveSteps(-mySteps);
break;
}
case '3': // run slow clockwise at Constant Speed,
no acceleration
{
Serial.println("run clockwise");
runAtSpeed(mySpeed);

41
break;
}
case '4': // run slow anti-clockwise at Constant
Speed, no acceleration
{
Serial.println("run anti-clockwise");
runAtSpeed(-mySpeed);
break;
}
case 'Z': // Bluetooth Disconnected; Stop
immediately
{
Serial.println("Bluetooth Disconnected; STOP
immediately");
stopNow();
break;
}
default: // command character does not match range
of valid commands
Serial.print(command);
Serial.println(" ....is not in valid command range");
break;
}
}
//-----------------------------------------------------------
--------------------------------
//
// Function to setup the stepper motor to move a defined
number of steps
//
void moveSteps(long steps)
{
stepper1.setAcceleration(10.0);
stepper1.setSpeed(5.0);
stepper1.setCurrentPosition(0);
stepper1.moveTo(steps);
}
//-----------------------------------------------------------
--------------------------------

42
//
// Function to set up the stepper motor to run at a defined
speed
//
void runAtSpeed(float cSpeed)
{
stepper1.setSpeed(cSpeed);
justRun = true;
}
// Function to stop the stepper motor immediately and disable
the motor coils
//
void stopNow()
{
stepper1.stop();
stepper1.setCurrentPosition(0);
stepper1.run(); // stop & set commands only
"active" after a call to "run"
stepper1.disableOutputs(); // disable the motor coils
to conserve power
}
4. Lalu, Klik Compile untuk mengecek kebenaran dari coding yang telah
dibuat.
5. Sebelum di upload, lepas terlebih dahulu kabel jumper yang terkoneksi ke pin
TX dan RX pada arduino.
6. Kemudian, Klik Upload, untuk meng-upload coding yang telah dibuat ke
Arduino.
7. Setelah coding berhasil ter-upload pasangkan kembali kabel jumper pada TX
dan RX yang dilepas sebelumnya.
8. Pasang aplikasi pada smartphone (android) yaitu aplikasi BlueCore Tech
Curtain Control.
9. Buka aplikasi tersebut dan koneksikan smartphone dengan module Bluetooth
HC-05 dengan mengklik logo Bluetooth pada layar kerja aplikasi tersebut.
10. Pilih nama dari module Bluetooth yang digunakan.
11. Lakukan control pada motor stepper sesuai yang diinginkan menggunakan
aplikasi tersebut.

43
MODUL 7
LOAD CELL
7.1 Tujuan Praktikum
Tujuan dari praktikum ini adalah :
1. Mahasiswa dapat mengetahui prinsip kerja dari load cell.
2. Mahasiswa mampu menggunakan load cell dengan menggunakan
mikrokontroler arduino.
7.2 Dasar Teori
Sensor load cell merupakan transduser yang bekerja sebagai konversi dari berat
benda menjadi elektrik, perubahan ini terjadi karena terdapat resistansi pada strain
gauge. Pada satu sensor loadcell memiliki 4 susunan strain. Sensor ini memiliki
nilai konduktansinya berbanding lurus dengan gaya/beban yang diterima dan
bersifat resistif. Jika loadcell tidak ada beban besar resistansi nya akan bernilai
sama pada setiap sisinya, tetapi ketika loadcell memiliki beban maka nilai
resistansinya akan menjadi tidak seimbang. Proses inilah yang dimanfaatkan untuk
mengukur berat pada suatu benda.

Gambar 7.1 Load Cell


Sensor yang mengukur berbagai tekanan mengakibatkan terjadinya perubahan
resistansi dan di konversikan menjadi elektrik, yang nantinya dapat terukur adalah
Strain Gauge. Sensor ini terdiri dari selembar kertas tipis seperti kertas foil logam
yang dibentuk menjadi benang-benang halus. Karena sangat sensitif, sensor loadcell
mampu membaca perubahan gaya mekanik yang sangat kecil

44
Gambar 7.2 Rangkaian Sederhana Loadcell

7.3 Peralatan
Peralatan yang diperlukan untuk praktikum motor servo adalah :
1) Laptop/ PC yang telah terinstal IDE Arduino
2) Loadcell
3) HX711 Module
4) LCD+I2C Module
5) Kabel jumper
7.4 Langkah Percobaan
1. Rangkai percobaan seperti pada Gambar 7.1

Gambar 7.1 Rangkaian Percobaan Loadcell


2. Buka Software Arduino IDE untuk memulai pemograman.
3. Setelah software terbuka, tulis program atau coding dibawah ini pada layar
kerja arduino :
#include<HX711_ADC.h>

45
#include<EEPROM.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int HX711_dout = 12;
const int HX711_sck = 13;
HX711_ADC LoadCell(HX711_dout, HX711_sck);
const int calVal_eepromAdress = 0;
long t;

void setup() {
Serial.begin(9600);
lcd.init();
pinMode(HX711_dout, INPUT);
delay(10);
Serial.println();
Serial.println("Memulai...");
lcd.init();
LoadCell.begin();
lcd.setCursor(0,0);
lcd.print("Brt: ");
lcd.setCursor(12,0);
lcd.print("0");
lcd.setCursor(14,0);
lcd.print("gr");
float calibrationValue;
calibrationValue = 696.0;
EEPROM.get(calVal_eepromAdress, calibrationValue);
long stabilizingtime = 2000;
boolean _tare = true;
LoadCell.start(stabilizingtime, _tare);
if (LoadCell.getTareTimeoutFlag()) {
Serial.println("Timeout, cek kabel MCU>HX711 pastikan sudah
tepat");
while (1);
}
else {
LoadCell.setCalFactor(calibrationValue);
Serial.println("Startup selesai");
}

46
}

void loop() {
static boolean newDataReady = 0;
const int serialPrintInterval = 0;
if (LoadCell.update()) newDataReady = true;
if (newDataReady) {
if (millis() > t + serialPrintInterval) {
int i = LoadCell.getData();
if(i<0){
i=0;
}
tampil(i);
newDataReady = 0;
t = millis();
}
}
if(Serial.available() > 0){
float i;
char inByte = Serial.read();
if (inByte == 't') LoadCell.tareNoDelay();
}
if (LoadCell.getTareStatus() == true) {
Serial.println("Tara selesai");
}
}

void tampil(int j){


lcd.setCursor(4,0);
lcd.print(" ");
if(j<10){
lcd.setCursor(12,0);
}else if(j<100 && j>=10){
lcd.setCursor(11,0);
}else if(j<1000 && j>=100){
lcd.setCursor(10,0);
}else if(j<10000 && j>=1000){
lcd.setCursor(9,0);
}else if(j<100000 && j>=10000){

47
lcd.setCursor(8,0);
}else if(j<1000000 && j>=100000){
lcd.setCursor(7,0);
}else if(j<10000000 && j>=1000000){
lcd.setCursor(6,0);
}else if(j<100000000 && j>=10000000){
lcd.setCursor(5,0);
}else{
lcd.setCursor(4,0);
}
lcd.print(j);
}
4. Lalu, Klik Compile untuk mengecek kebenaran dari coding yang telah dibuat.
5. Klik Upload, untuk meng-upload coding yang telah dibuat ke Arduino
Perhatikan yang terjadi pada rangkaian.

48
LAMPIRAN

49
Lembar Asistensi
Nama :
NPM :
Kelompok :
Tanggal Keterangan Paraf

Bengkulu, ... November 2022

Nama Asisten
NPM

50
TUGAS AWAL
PRAKTIKUM MEKATRONIKA

MODUL

Disusun Oleh :
Nama :
NPM :
Kelompok :

LABORATORIUM COMPUTER AIDED DESIGN


PROGRAM STUDI TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2022

51
LAPORAN AWAL
PRAKTIKUM MEKATRONIKA

MODUL

Disusun Oleh :
Nama :
NPM :
Kelompok :
Rekan Kerja : 1.
2.
3. dst
Dosen Pengampu : Agus Suandi, S.T., M.Eng.

LABORATORIUM COMPUTER AIDED DESIGN


PROGRAM STUDI TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2022

52
LAPORAN AKHIR
PRAKTIKUM MEKATRONIKA

MODUL

Disusun Oleh :
Nama :
NPM :
Kelompok :
Rekan Kerja : 1.
2.
3. dst
Dosen Pengampu : Agus Suandi, S.T., M.Eng.

LABORATORIUM COMPUTER AIDED DESIGN


PROGRAM STUDI TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2022

53
LAPORAN KELOMPOK
PRAKTIKUM MEKATRONIKA

MODUL 1, MODUL 2, ..., dst

Disusun Oleh :
Kelompok :
Dosen Pengampu : Agus Suandi, S.T., M.Eng.
Tanggal Penyerahan :

LABORATORIUM COMPUTER AIDED DESIGN


PROGRAM STUDI TEKNIK MESIN
FAKULTAS TEKNIK
UNIVERSITAS BENGKULU
2022

54

Anda mungkin juga menyukai