Anda di halaman 1dari 84

LAPORAN PRAKTIKUM

MIKROKONTROLLER
Semester IV Tahun Akademik 2022/2023

Disusun Oleh :

Nama (NIM) : Akbar Rayhan Hasfi (211020100040)


Kel. / Gel : Kelompok 8 / Gelombang 2
Tgl. Praktikum : 12 Mei 2023 & 23 Juni 2023

LABORATORIUM TEKNIK ELEKTRO


PRODI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2023
LEMBAR PERSETUJUAN

LAPORAN PRAKTIKUM

MIKROKONTROLLER

Disusun oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2

Telah diperiksa dan disetujui

i
isi laporan ini

Dosen Pengampu Praktikum Disetujui


Mikrokontroller Laboran Teknik Elektro

Akhmad Ahfas, ST., M.Kom. Mochammad Rizal M, ST.

NIK. 205124 NIK. 19215

LABORATORIUM TEKNIK ELEKTRO

PRODI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS MUHAMMADIYAH SIDOARJO

2023

KATA PENGANTAR

Puji syukur atas kehadirat Allah SWT yang telah memberikan


rahmat, hidayah, serta inayah-NYA sehingga penyusun dapat
menyelesaikan praktikum Mikrokontroller ini dengan baik.
Dalam pembuatan laporan ini penyusun tidak lepas dari
bantuan berbagai pihak. Untuk itu penyusun menyampaikan terima
kasih yang sebesar-besarnya kepada :
1. Iswanto S.T., M.MT Selaku Dekan Fakultas Sains dan
Teknologi Universitas Muhammadiyah Sidoarjo.
2. Dr. Izza Anshory, MT. Selaku Kepala Prodi Teknik Elektro
Universitas Muhammadiyah Sidoarjo.
3. Akhmad Ahfas, ST., M.Kom. Selaku Dosen Pengampuh
ii
dalam Praktikum Mikrokontroller Universitas
Muhammadiyah Sidoarjo.
4. Mochammad Rizal M., ST. Selaku Laboran Teknik Elektro
Universitas Muhammadiyah Sidoarjo.
5. Ali Zaenal Abidin Selaku Asisten Laboratorium Teknik
Elektro yang telah membantu terlaksanakannya Praktikum
Mikrokontroller.
6. Dan semua pihak yang telah membantu penyusun dalam
menyusun laporan praktikum ini secara baik, secara langsung
maupun tidak langsung.
Akhir kata saya berharap mudah-mudahan laporan praktikum
ini bermanfaat bagi kemajuan bersama dan juga kami meminta maaf
apabila dalam penyusunan laporan ini terdapat kesalahan.

Sidoarjo, 23 Juni 2023

Akbar Rayhan Hasfi

TATA TERTIB LABORATORIUM TEKNIK ELEKTRO

A. Aturan Umum Laboratorium Teknik Elektro


1. Tidak boleh berbicara terlalu keras (membuat gaduh)
2. Dilarang bercanda pada saat pengoperasian alat-alat praktikum
3. Tidak boleh memakai baju oblong/kaos (harus beju berkera)
4. Tidak boleh memakai sand al (harus bersepatu)
5. Tidak boleh membawa makanan ke dalam ruangan
6. Tidak boleh mengoperasikan handphone, kecuali dengan izin
aslab/laboran, atau kondisi yang mengharuiskan untuk mengoperasikan
handphone (menghitung, browsing keperluan percobaan/penelitian,
serta izin keluar ruangan jika menelfon/ditelfon)
7. Selalu memakai ID-Card yang sudah di berikan di pra-praktikum
iii
8. Mengisi form peminjaman ruangan dan alat sebelum melakukan
praktikum dan pengecekan kondisi alat, baik sebelum melakukan
praktikum ataupun sesudah melakukan praktikum.
9. Kerusakan peralatan yang dipinjam menjadi tanggung jawab penuh
ketua/koordinator peminjam yang bersangkutan (diperbaiki atau
mengganti baru).

B. Aturan Penggunaan Laboratorium Mikroprosesor, Sistem


Pengaturan, PLC Dan Dasar Sistem Komunikasi (Terdapat
Komputer Didalamnya)
1. Tidak menginstal apapun pada komputer yang digunakan
a. Tidak menginstal dan menghapus
b. Tidak membuat akun, direktori
c. Tidak menambah atau mengurangi data yang ada, kecuali yang
dibutuhkan
2. Pelanggaran atas aturan ini dikenakan sanksi tidak dapat mengikuti
praktikum berikutnya.
3. Asisten harus melaporkan terjadinya pelanggaran ke laboran dan
mencatat pelanggaran yang terjadi.
4. Mematikan komputer, dan merapikan ruangan setelah selesai
menggunakan ruangan.

C. Aturan Penggunaan Laboratorium Sistem Digital, Rangkaian Listrik,


Elektronika Dasar, Pengukuran Besaran Listrik, Fisika, dan Teknik
Tenaga Listrik
1. Dilarang menggunakan peralatan kecuali dengan izin aslab/laboran
2. Pengoperasian alat apapun harus dengan dampingan aslab/laboran,
atau dosen pengampuh
3. Mengembalikan peralatan ke tempat semula, dan merapikan ruangan
setelah selesai menggunakan ruangan.

D. Peraturan Tambahan Praktikum dimasa Pandemi New Normal


1. Wajib memakai masker, dianjurkan untuk memakai face shield dan
sarung tangan medis.
2. Cuci tangan dahulu sebelum memasuki ruangan lab teknik elektro, dan
sering cuci tangan dengan sabun, atau selalu membawa handsanitizer

iv
3. Check suhu tubuh sebelum masuk ke lab teknik elektro
4. Selalu jaga jarak pada saat melakukan kegiatan praktikum dan tidak
bergerombol dengan kelompok lain
5. Harus datang tepat waktu (sesuai jadwal praktikum), karena jam sudah
diatur agar tidak bergerombol dengan mahasiswa yang lain
6. Ketika selesai wajib langsung pulang ke rumah masing-masing, tidak
diperkenankan untuk kumpul di lab atau di area kampus.
7. Membawa alat tulis sendiri, seperti bolpoin, tipx (penghapus tinta),
pensil, penghapus, dan penggaris.
8. Membukan semua ventilasi udara (jendela) yang ada diruangan
tersebut, dan membatasi penggunaan AC di dalam ruangan

v
vi
vii
viii
DAFTAR ISI

HALAMAN JUDUL
LEMBAR PERSETUJUAN............................................................................. i
KATA PENGANTAR....................................................................................... ii
TATA TERTIB LABORATORIUM TEKNIK ELEKTRO......................... iii
SK REKTOR.....................................................................................................v
DAFTAR ISI...................................................................................................... viii
Lembar Asistensi Percobaan I.......................................................................... x

1. Percobaan I : Dasar Logika Pemrograman Dengan Traffic Light..


1.1 Tujuan Percobaan........................................................................
1.2 Alat dan Bahan............................................................................
1.3 Teori Dasar .................................................................................
1.4 Prosedur Percobaan.....................................................................
1.5 Hasil Percobaan...........................................................................
1.6 Tugas Percobaan..........................................................................

Lembar Asistensi Percobaan II........................................................................ xi


2. Percobaan II : Pemrograman LCD 16x2 Dengan I2C.......................
2.1 Tujuan Percobaan .......................................................................
2.2 Alat dan Bahan............................................................................
2.3 Teori Dasar..................................................................................
2.4 Prosedur Percobaan.....................................................................
2.5 Hasil Percobaan ..........................................................................
2.6 Tugas Percobaan..........................................................................

Lembar Asistensi Percobaan III...................................................................... xii


3. Percobaan III : Pemrograman Motor Servo......................................
3.1 Tujuan Percobaan........................................................................
3.2 Alat dan Bahan............................................................................
3.3 Teori Dasar..................................................................................
3.4 Prosedur Percobaan.....................................................................
3.5 Hasil Percobaan...........................................................................

ix
3.6 Tugas Percobaan..........................................................................

Lembar Asistensi Percobaan IV...................................................................... xiii


4. Percobaan IV : Pemrograman Ultrasonic..........................................
4.1 Tujuan Percobaan......................................................................................
4.2 Alat dan Bahan Percobaan........................................................................
4.3 Teori Dasar ...............................................................................................
4.4 Prosedur Kerja/Langkah Percobaan .........................................................
4.5 Hasil dan Analisa Percobaan....................................................................
4.6 Tugas dan Kesimpulan Percobaan............................................................

Lembar Asistensi Percobaan V........................................................................ xiv


5. Percobaan V : Pemrograman DHT22.................................................
5.1 Tujuan Percobaan………………………………………………
5.2 Alat dan Bahan Percobaan……………………………………..
5.3 Teori Dasar……………………………………………………..
5.4 Prosedur Kerja/Langkah Percobaan..............................................................
5.5 Hasil dan Analisa Percobaan.........................................................................
5.6 Tugas dan Kesimpulan Percobaan................................................................

Lembar Asistensi Percobaan VI...................................................................... xv


6. Percobaan VI : Pemrograman Sensor PZEM Monitoring Energy. .
6.1 Tujuan
Percobaan………………………………………………

6.2 Alat dan Bahan Percobaan……………………………………..

6.3 Dasar
Teori……………………………………………………..

6.4 Prosedur Kerja/Langkah Percobaan.............................................

6.5 Hasil dan Analisa Percobaan........................................................

6.6 Tugas dan Kesimpulan Percobaan................................................

Kartu Asistensi Praktikum Mikrokontroller................................................. xvi


x
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

Percobaan I
Dasar Logika Pemrograman Dengan Traffic Light

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 12 Mei 2023

Mengetahui,

Sidoarjo, 02 Juni 2023


Asisten Praktikum
Mikrokontroller

Ali Zaenal Abidin


NIM. 201020100005

x
PERCOBAAN I
DASAR LOGIKA PEMROGRAMAN DENGAN TRAFIC LIGHT

1.1. Tujuan Percobaan


Adapun tujuan percobaan ini sebagai berikut :
1. Mahasiswa memahami dasar logika pemrograman if else, while dll.
2. Mahasiswa dapat memahami pemrograman trafic light dengan
logika delay pada program arduino IDE.

1.2. Alat dan Bahan


Adapun alat dan bahan yang digunakan adalah sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Kabel jumper secukupnya

1.3. Teori Dasar


1. Board Arduino UNO
Dalam Percobaan kali ini akan dilakukan pemahaman tentang
pemrograman mikrokontroller yang biasanya d sebut µC, uC, atau MCU.
Dapat juga di artikan sebagai komputer yang berukuran mikro dalam satu
chip IC (Integrated Circuit) yang terdiri dari processor, memory, dan
antarmuka yang bisa diprogram. Jadi disebut komputer mikro karena dalam
IC atau chip mikrokontroller terdiri dari CPU, memory, dan I/O yang bisa
kita kontrol dengan memprogramnya. I/O juga sering disebut dengan GPIO
(General Purpose Input Output Pins) yang berarti pin yang bisa kita
program sebagai input atau output sesuai kebutuhan. Dalam bahasan ini kita
akan menggunakan board Arduino Uno (Gambar 1). Board Arduino terdiri
dari hardware/modul mikrokontroller yang siap pakai dan software IDE
yang digunakan untuk memprogram sehingga kita bisa belajar dengan
mudah. Kelebihan dari Arduino yaitu kita tidak direpotkan dengan
rangkaian minimum sistem dan programmer karena sudah built in dalam
satu board.
Gambar 1.1 Board Arduino Uno beserta data sheetnya

2. Aplikasi Arduino IDE


Aplikasi IDE ( Integrated Development Environment ) bawaan dari
Arduino yang digunakan untuk membuat, membuka, dan mengedit source
code Arduino (Sketches). Sketch merupakan source code yang berisi logika
dan algoritma yang akan diupload ke dalam IC mikrokontroller (Arduino).

Gambar 1.2 Interface Arduino IDE


Interface Arduino IDE tampak seperti gambar 2 diatas, adapun bagian-bagian
Arduino IDE sebagai berikut :
a. Verify : Pada versi sebelumnya dikenal dengan istilah Compile. Sebelum
aplikasi diupload ke board Arduino, biasakan untuk memverifikasi
terlebih dahulu sketch yang dibuat. Jika ada kesalahan pada sketch, nanti
akan muncul error. Proses Verify / Compile mengubah sketch ke binary
code untuk diupload ke mikrokontroller.
b. Upload : Tombol ini berfungsi untuk mengupload sketch ke board
Arduino. Walaupun kita tidak mengklik tombol verify, maka sketch akan
di-compile, kemudian langsung diupload ke board. Berbeda dengan
tombol verify yang hanya berfungsi untuk memverifikasi source code
saja.
c. New Sketch : Membuka window dan membuat sketch baru
d. Open Sketch : Membuka sketch yang sudah pernah dibuat. Sketch yang
dibuat dengan IDE Arduino akan disimpan dengan ekstensi file .ino
e. Save Sketch : menyimpan sketch, tapi tidak disertai mengcompile.
f. Serial Monitor : Membuka interface untuk komunikasi serial, nanti
akan kita diskusikan lebih lanjut pada bagian selanjutnya
g. Keterangan Aplikasi : pesan-pesan yang dilakukan aplikasi akan
muncul di sini, misal "Compiling" dan "Done Uploading" ketika kita
mengcompile dan mengupload sketch ke board Arduino
h. Konsol : Pesan-pesan yang dikerjakan aplikasi dan pesan-pesan tentang
sketch akan muncul pada bagian ini. Misal, ketika aplikasi mengcompile
atau ketika ada kesalahan pada sketch yang kita buat, maka informasi
error dan baris akan diinformasikan di bagian ini.
i. Baris Sketch : bagian ini akan menunjukkan posisi baris kursor yang
sedang aktif pada sketch.
j. Informasi Port : bagian ini menginformasikan port yang dipakah oleh
board Arduino.
3. Simbol-Simbol Pemrograman Bahasa C++
Adapun simbol dan tanda-tanda yang dibutuhkan dalam bahasa
pemrograman sebagai berikut :
Tanda/Simbol Arti/Keterangan
= Operator memberikan nilai pada Variabel
+ Operator Penjumlahan
- Operator Pengurangan
* Operator Perkalian
/ Operator Pembagian, dengan Catatan :
Jika tipe data yang digunakan adalah integer (int), maka
hasil bagi adalah nilai asli, bukan desimal. Misal 5/2 = 2,
bukan 2.5 atau 3. Tapi jika tipe data yang digunakan adalah
double/float, maka hasil bagi adalah angka desimal. Misal,
5/2 = 2.5
% Operator modulo (sisa pembagian). Misal:
- 10%2 = 0, 10 dibagi 2 = 5 + 0
- 10%3 = 1, 10 dibagi 3 = 3 + 1
- 10%4 = 2, 10 dibagi 4 = 8 + 2
- 10%5 = 0, 10 dibagi 5 = 2 + 0
Simbol di gunakan untuk pembanding antara di variabel
== Sama dengan
!= Tidak sama dengan
< Lebih Kecil
> Lebih Besar
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan
Simbol Pengaplikasian Gerbang Logika
Contoh Penggunaan
Simbol Arti/Keterangan
Simbol
&& (A < 10) && (B >10) Logika AND akan menghasilkan True
apabila kondisi A dan B sesuai (True), jika
tidak, maka False
|| (A < 10) || (B >10) Logika OR akan menghasilkan True apabila
salah satu dari A, B, atau
semuanya sesuai (True), tapi jika keduanya
False, maka akan bernilai False
! ! (A < 10) Logika NOT akan menghasilkan True jika
kondisi tidak sesuai (False), sebab NOT
adalah kondisi sebaliknya
1.4. Prosedur Percobaan
Berikut prosedur percobaan dengan menggunakan perintah
pemrograman bahasa C++ yang ada di Arduino IDE :
1. Siapkan Trainer mikrokontroller dan periksa di dalamnya pastikan
lengkap sesuai yang dipaparkan di alat dan bahan di atas, berikut
rangkaiannya :

Gambar 1.3 Rangkaian LED


Siapkan kabel jumper secukupnya untuk pemasangan traffic light ke
Arduino Uno, dengan menancapkan kabel jumper sebagai berikut :
a. pin 8 pada arduino ke pin M pada traffic light,
b. pin 9 pada arduino ke pin K pada traffic light,
c. pin 10 pada arduino ke pin H pada traffic light, serta
d. pin 11 pada arduino ke pin B pada traffic light
untuk lebih jelasnya bisa dilihat pada gambar di bawah ini

Gambar 1.4 Penyambungan traffic light ke Arduino Uno


2. Sebelum melakukan pemrograman pastikan kabel transfer sudah
tertancap di Arduino dan komputer Anda, serta jangan lupa tekan tombol
Traffic Light.
Kemudian lakukan pemrograman.
3. Nyalakan komputer dan buka program Arduino IDE
4. Lakukan percobaan program dibawah ini sebagai pemahaman dalam
pemrograman arduino
Sketch Arduino dengan perintah IF – ELSE
// Pin 8 untuk LED
const int pinLED = 8;

void setup() {
// pin LED sebagai output
pinMode(pinLED, OUTPUT);
}

// awal time delay 1000 | 1 detik


int timeDelay = 1000;

void loop() {
/* Jika timeDelay bernilai lebih kecil sama dengan 0 maka
LED akan diam selama 3 detik
lalu nilai timeDelay direset ke 1000
*/
if(timeDelay <= 100){
delay(3000); timeDelay
= 1000;
}else{
// nilai timeDelay dikurangi 100 jika time delay > 100
timeDelay = timeDelay - 100;
}

//Nyalakan dan matikan LED selama timeDelay


digitalWrite(pinLED, HIGH); delay(timeDelay);
digitalWrite(pinLED, LOW);
delay(timeDelay);
}
5. Setelah memasukkan algoritma pada Arduino IDE, maka verifikasi
algoritma yang sudah Anda buat agar bisa dideteksi kesalahan

dalam penulisan programnya


6. Compile algoritma pada modul Arduino agar bisa dilihat hasilnya pada

led merah yang ada di traffic light


7. Dan lakukan analisa setiap pemrogramannya.
1.5. Hasil Percobaan
Berikut hasil percobaan dan hasil analisa pemrogramannya.
1. Pemrograman dengan perintah IF – ELSE
Pada pemrograman perintah IF-ELSE ini mengatur waktu nyala dan mati
lampu LED pada pin 8 dengan menggunakan time delay yang berubah
secara terus menerus dengan kecepatan yang semakin cepat.
Program Penjelasan dari hasil pemrograman
// Pin 8 untuk LED  Hanya LED merah yang
const int pinLED = 8; menyala dan berkedip
void setup() {  Berkedip sebanyak 10 kali dan
// pin LED sebagai output memiliki delay dari kedip
pinMode(pinLED, OUTPUT); lambat menjadi cepat
}  Saat LED reset ke awal
// awal time delay 1000 | 1 detik terdapat delay selama 3 detik.
int timeDelay = 1000;
void loop() {
/* Jika timeDelay bernilai lebih kecil
sama dengan 0 maka LED akan diam
selama 3 detik lalu nilai timeDelay
direset ke 1000 */ if(timeDelay <= 100)
{ delay(3000);
timeDelay = 1000;
}else{
// nilai timeDelay dikurangi 100 jika time
delay > 100
timeDelay = timeDelay - 100;
}
//Nyalakan dan matikan LED selama
timeDelay
digitalWrite(pinLED, HIGH);
delay(timeDelay);
digitalWrite(pinLED, LOW);
delay(timeDelay);
}
2. Pemrograman dengan perintah WHILE
Pemrograman perintah while ini mengendalikan alur eksekusi program
dengan mengatur waktu nyala dan mati LED dengan menggunakan time
delay yang berubah secara terus-menerus.
Program Penjelasan dari hasil
pemrograman
// Pin 8 untuk LED  Hanya LED merah yang
const int pinLED = 8;
menyala dan mati
void setup() {
// pin LED sebagai output  Pertama LED menyala dan
pinMode(pinLED, OUTPUT);
mati dengan delay 1000
}
// awal time delay 1000 | 1 detik milidetik atau 1 detik.
int timeDelay = 1000;
Setelah menyala dan mati
void loop() {
// selama nilai timeDelay > 0 10 kali delaynya berubah
// eksekusi blok program ini
menjadi 500 milidetik atau
while(timeDelay > 0){
// LED hidup mati dengan durasi 500 0,5 detik lebih cepat.
milisekon
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
// kurangi timeDelay dengan 100
timeDelay = timeDelay - 100;
}
// setelah timeDelay dikurangi terus-menerus
// maka pada akhirnya akan bernilai minus
atau < 0
// maka while di atas akan berhenti
// selama nilai timeDelay < 1000
// eksekusi blok program ini
while(timeDelay < 1000){
// LED hidup mati dengan durasi 100
milisekon
digitalWrite(pinLED, HIGH);
delay(100);
digitalWrite(pinLED, LOW);
delay(100);
// tambahkan timeDelay dengan 100
timeDelay = timeDelay + 100;
}
}
3. Pemrograman dengan perintah perulangan dengan FOR
Pemrograman ini digunakan untuk menjalankan serangkaian perintah
secara berulang sesuai dengan kondisi yang ditentukan.
Program Penjelasan dari hasil pemrograman
// Pin 8 untuk LED  Hanya LED merah yang
const int pinLED = 8; menyala dan mati
void setup() {  Menyala dan mati sebanyak 10
// pin LED sebagai output kali dengan waktu delay tetap.
pinMode(pinLED, OUTPUT);  Delay 3 detik untuk mereset ke
} awal.
// awal time delay 1000 | 1 detik
int timeDelay = 3000;
void loop() {
// perulangan sebanyak 10 kali dari 1
hingga 10
for(int i=1; i<=10; i++){
// LED hidup mati dengan durasi 500
milisekon
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
}
// diam selama 3 detik
delay(timeDelay);
}

1.6. Tugas Percobaan


Rangkailah rangkaian traffic lighttersebut, sebagaimana mestinya dengan
logika lampu penyeberangan jalan dengan jeda 5 detik untuk kembali ke
logika awal serta beri keterangan penjelasan pada setiap programnya.
Program Penjelasan dari hasil pemrograman
const int merah = 8; Pertama LED merah menyala
const int kuning = 9; dengan durasi 5 detik dan
const int hijau = 10; dilanjutkan LED kuning menyala
selama 2 detik (selama LED kuning
void setup() { HIGH dan LED merah mati karena
pinMode(merah, OUTPUT); LOW). Selanjutnya LED hijau
pinMode(kuning, OUTPUT); menya (HIGH) dan LED merah dan
pinMode(hijau, OUTPUT); hijau mati (LOW) selama 5 detik.
} Kemudian LED kuning menyala
(HIGH) selama 3 detik dan LED
void loop() { merah dan hijau mati (LOW).
digitalWrite(merah, HIGH); Setelah itu LED merah menyala
digitalWrite(kuning, LOW); lagi yang berarti kembali ke awal
digitalWrite(hijau, LOW); lagi.
delay(5000);
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
delay(2000);
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
delay(5000);
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
delay(3000);
}
Kesimpulan
Dari hasil percobaan dan tugas percobaan yang telah dilakukan dapat
diambil kesimpulan bahwa percobaan dasar logika pemrograman dengan traffic
light dapat membantu dalam memahami konsep dasar pemrograman pada
software Arduino Uno. Dengan menggunakan pemrograman tersebut, traffic light
ini dapat digunakan sebagai dasar untuk mengembangkan sistem pengaturan lalu
lintas yang lebih kompleks dan efisien.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

Percobaan II
Pemrograman LCD 16x2 Dengan I2C

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 12 Mei 2023

Mengetahui,

Sidoarjo, 02 Juni 2023


Asisten Praktikum
Mikrokontroller

Ali Zaenal Abidin


NIM. 201020100005

xi
PERCOBAAN II
PEMROGRAMAN LCD 16x2 DENGAN I2C

2.1. Tujuan Percobaan


Meminimalisir penggunaan pin Arduino untuk LCD 16x2 dengan
memanfaatkan I2C dalam menampilkan karakter huruf maupun angka

2.2. Alat dan Bahan


Adapun Alat dan bahan yang digunakan adalah sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Kabel jumper secukupnya

2.3. Teori Dasar


1. Konsep I2C Serial Bus
Untuk menghubungkan antar processor atau controller dibutuhkan suatu
system bus tertentu. Bus ini harus dapat melewatkan data atau parameter
control antar processor yang berfungsi sebagai jaringan atau networking.
Alasan penggunaan serial bus adalah implementasinya yang lebih mudah
dalam sisi pengkabelan dan lebih mudah dari pada ada parallel bus. I2C
serial bus dikembangkan oleh Philips sejak tahun 1980 ditunjukkan untuk
pengaplikasian kontrol dengan mikrokontroller. Pada dokumen resmi yang
dikeluarkan oleh Philips semiconductor memiliki 3 buah kecepatan pada
I2C serial bus, yakni 100 KHz (standard-mode), 400 KHz (fast-mode) dan
3.4 MHz (highspeed-mode). Komunikasi pada I2C serial bus merupakan
komunikasi serial sinkron, artinya data pada bus dikirim bit per bit (serial)
dan clock ikut dikirimkan (sinkron). Sebagai saluran clock berupa SCL
line. Dan satu buah saluran common ground sebagai referensi. (Mubarak T,
Sumaryo, Abdurohman, 2008).
Gambar 2.1 Data transfer pada I2C serial bus. (Mubarak T, Sumaryo,
Abdurohman, 2008)
Modul LCD I2C backpack interface ini meminimalisir jumlah pin
mikrokontroler yang digunakan untuk mengendalikan LCD. Awalnya pakai
8/4 pin data, skarang cukup 2 yakni SCL dan SDA.

Gambar 2.2 Tampilan I2C


2.4. Prosedur Kerja/Langkah Percobaan
Berikut prosedur percobaan pemrograman LCD 16x2 dengan I2C
1. Siapkan trainer mikrokontroller dan periksa di dalamnya pastikan
lengkap sesuai yang dipaparkan di alat dan bahan di atas, berikut
rangkaiannya :

Gambar 2.3 Rangkaian LCD 16x2 dengan I2C


2. Siapkan kabel jumper secukupnya untuk pemasangan I2C ke Arduino
Uno, dengan menancapkan kabel jumper pin SDA pada arduino ke pin
SDA pada LCD I2C, serta tancapkan juga kabel jumper pin SCL
Arduino ke pin SCL pada LCD I2C, seperti pada gambar di bawah ini :

Gambar 2.4 Penyambungan SDA dan SCL I2C ke Arduino


3. Sebeium melakukan pemrograman pastikan kabel transfer sudah
tertancap di arduino dan komputer anda, serta jangan Iupa tekan tombol
LCD 12C. Kemudian lakukan pemmrograman.
4. Nyalakankomputer dan buka program Arduino IDE
5. Lakukan scan pada LCD 12C untuk mengetahui alamat ( address) dari
board I2C yang digunakan, dengan cara upload program scan tersebut.
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127;
address++ )
{
Wire.beginTransmission(address
);
error =
Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device
found at address
0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");

nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error
at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices
found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds
for next scan
}

Gambar 5. Scane Arduino sebelum membuat karakter huruf atau


angka pada LCD 16x2 menggunakan i2C
6. Setelah algoritma sebagaimana gambar 5 di atas dicompile maka klik
pada menu Tools lalu pilih Serial Monitor. Sehingga akan muncul
gambar seperti berikut ini :

Gambar 6. Serial Monitor


7. Ketik algoritma sebagaimana contoh pada Gambar 2.7 yang merupakan
Algoritma dalam Menampilkan karakter di LCD 16x2 dengan I2C atau
bisa pakai program LCD I2C yang lain.

Gambar 7. Algoritma pada IDE Arduino


8. Setelah memasukkan algoritma pada Arduino IDE maka Verifikasi
Algoritma yang sudah anda buat agar bisa dideteksi kesalahan dalam

penulisan programnya
9. Upload algoritma pada modul Arduino agar bisa dilihat hasilnya pada

LCD I2C 16x2


10. Lihat hasilnya pada tampilan LCD.
2.5. Hasil Percobaan
Berikut hasil percobaan dan hasil analisa pemrogramannya.

1.
Koordinat Penjelasan tampilan
No Karakter Hasil Foto
(Kolom, Baris) LCD
1 (1,0) Nama Menempati kolom 1
(kotak kedua) dan
baris 0 (atas) dengan
tampilan bertuliskan
“Ahmad Naajih”
2 (3,1) NIM Menempati kolom 3
(kotak keempat) dan
baris 1 (bawah)
dengan bertuliskan
angka
“211020100036”
3 (0,0) Jurusan Menempati kolom 0
(kotak pertama) dan
baris 0 (atas) dengan
tulisan “Teknik
Elektro”
4 (0,1) Institusi Menempati kolom 0
(kotak pertama) dan
baris 1 (bawah)
dengan tulisan
“UMSIDA”
5 (5,1) Hobi Menempati kolom 5
(kotak keenam) dan
baris 1 (bawah)
dengan tulisan
“Membaca”
Tulis karakter berdasarkan koordinat (kolom, baris) untuk keterangan seperti
sebagaimana tabel berikut ini, dan foto hasilnya untuk dimasukkan pada
laporan praktikum.
2.6. Tugas dan Kesimpulan Percobaan
1. Buat Algoritma berjalan dari kiri ke kanan untuk Nama dan NIM pada
LCD
Program Hasil Foto
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
void setup()
{
lcd.begin();
}
void loop()
{
int i,a;
lcd.setCursor(0, 0);
lcd.print("Nama: Ahmad Naajih Syamsi Dhuha");
for (i = 0 ; i < 16; i++)
lcd.setCursor(0, 1);
lcd.print("NIM: 211020100036");
for (a = 0 ; a < 16; a++)
{
lcd.scrollDisplayRight();
delay(1000);
}
}

2. Buatlah kesimpulan dari percobaan yang dilakukan


Kesimpulan
Dari percobaan di atas yang telah dilakukan dapat disimpulkan bahwa
hasil percobaan ini dapat membantu dalam memahami konsep dasar
pemrograman dan penggunaan LCD dengan I2C pada Arduino Uno. Dengan
adanya pemrograman tersebut, akan mudah untuk mengatur dan mengontrol
tampilan pada LCD.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

PERCOBAAN III
PEMROGRAMAN MOTOR SERVO

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 12 Mei 2023

Mengetahui,

Sidoarjo, 02 Juni 2023


Asisten Praktikum
Mikrokontroller

Ali Zaenal Abidin


NIM. 201020100005

xii
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

PERCOBAAN III

PEMROGRAMAN MOTOR SERVO

3.1. Tujuan Percobaan


Adapun tujuan percobaan ini sebagai berikut :
1. Mahasiswa memahami prinsip kerja dan rangkaian dari servo motor
180o.
2. Mahasiswa dapat memahami pemrograman servo motor 180o yang
nantinya bisa diimplementasikan pada tugas akhir ataupun kehidupan
sehari-hari.

3.2. Alat dan Bahan


Adapun alat dan bahan yang digunakan adalah sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Kabel jumper secukupnya

3.3. Teori Dasar


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 atur untuk 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

xii
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023
kontrol input akan mengirim sinyal kendali untuk membuat posisi poros
tersebut tepat pada posisi yang diinginkan.

xii
Gambar 3.1 Motor Servo MG996R

Gambar 3.2 Sinyal Modulasi Lebar Pulse Motor Servo


Prinsip kerja motor servo dikendalikan dengan memberikan sinyal
modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel
kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi
sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan
waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut
90⁰. Bila pulsa lebih pendek dari 1,5ms maka akan berputar ke arah posisi
0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa
yang diberikan lebih lama dari 1,5ms maka poros motor servo akan
berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih
jelasnya perhatikan gambar dibawah ini.
3.4. Prosedur Percobaan
Berikut prosedur percobaan dengan menggunakan perintah pemrograman
bahasa C++ yang ada di Arduino IDE :
1. Siapkan Trainer mikrokontroller dan periksa didalamnya pastikan
lengkap sesuai yang di paparkan pada alat dan bahan diatas, berikut
rangkaiannya :
Gambar 3.3 Rangkaian Motor Servo

Siapkan kabel jumper secukupnya untuk pemasangan motor servo ke Arduino,


dengan menancapkan kabel jumper pin 3 pada arduino ke kabel kuning pada
servo. untuk lebih jelasnya bisa dilihat pada gambar di bawah ini :

Gambar 3.4 Penyambungan motor servo ke Arduino Uno


2. Sebelum melakukan pemrograman pastikan kabel transfer sudah
tertancap di Arduino dan komputer Anda, serta jangan lupa tekan
tombol motor servo. Kemudian lakukan pemrograman.
3. Buka Program Arduino IDE dan lakukan pemrograman

Sketch Arduino dengan servo


#include <Servo.h>
Servo motorServo;

void setup()
{
motorServo.attach(10); // servo Pada Pin digital 10
}

void loop()
{
motorServo.write(0); // Turn Servo ke kiri to 0
degrees delay(1000);
motorServo.write(45); // Turn Servo ke kiri 45 degrees
delay(1000);
motorServo.write(90); // Turn Servo ke posisi center
position (90 degrees)
delay(1000);
motorServo.write(135); // Turn Servo Ke kanan 135 degrees
delay(1000);
motorServo.write(180); // Turn Servo ke kanan 180 degrees
delay(1000);
}
4. Lakukan pemrograman motor servo pada Arduino IDE, maka
verifikasi algoritma yang sudah Anda buat agar bisa dideteksi

kesalahan dalam penulisan programnya


5. Upload algoritma pada modul Arduino agar bisa dilihat hasil

pergerakan motor servonya


3.5. Hasil Percobaan
Berikut Hasil percobaan dan hasil analisa pemrogramannya, dan
isi tabel pengambilan data sebagai berikut :
Besar Penjelasan
No Program Hasil Foto
Sudut Program
1 0* #include <Servo.h> Motor servo tetap
Servo motorServo; berada pada sudut 0°
void setup() karena berputarnya
{ servo sebesar 0°.
motorServo.attach(3);
}
void loop()
{
motorServo.write(0);
delay(1000);
}
2 45* #include <Servo.h> Motor servo berputar
Servo motorServo; sebesar sudut 45° ke
void setup() kiri.
{
motorServo.attach(3);
}
void loop()
{
motorServo.write(45);
delay(1000);
}
3 90* #include <Servo.h> Motor servo berputar
Servo motorServo; ke kiri hingga lurus
void setup() membentuk sudut 90°.
{
motorServo.attach(3);
}
void loop()
{
motorServo.write(90);
delay(1000);
}
4 135* #include <Servo.h> Motor servo berputar
Servo motorServo; ke kanan hingga
void setup() membentuk sudut
{ 135°.
motorServo.attach(3);
}
void loop()
{
motorServo.write(135);
delay(1000);
}
5 180* #include <Servo.h> Motor servo berputar
Servo motorServo; ke kanan hingga
void setup() membentuk sudut
{ 180°.
motorServo.attach(3);
}
void loop()
{
motorServo.write(180);
delay(1000);
}
3.6. Tugas Percobaan
1. Lakukan pemrograman dengan pengontrolan motor servo dengan
potensiometer, dengan detail sebagai berikut :
a. Potensio + ke pin 5v Arduino uno
b. Potensio – ke pin gnd Arduino uno
c. Potensio A0 ke pin A0 Arduino uno
d. Pin PWM (kabel kuning) ke pin 10 Arduino uno

Progra Penjelasan Program Hasil Foto


m
#include <Servo.h> Motor servo bergerak
Servo myservo; sesuai dengan potensio
int potpin = 0; yang kita gerakkan.
int val;
void setup() {
myservo.attach(10);
}
void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0,
180);
myservo.write(val);
delay(15);
}

2. Beri kesimpulan hasil dari percobaan di atas.


Kesimpulan
Dari percobaan di atas dapat disimpulkan bahwa hasil percobaan ini dapat
membantu dalam memahami konsep dasar pemrograman dan penggunakan motor
servo pada software Arduino. Motor servo dapat dikendalikan melalui
pemrograman, seperti pengaturan presisi sudut putaran motor.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

PERCOBAAN IV
PEMROGRAMAN SENSOR ULTRASONIK

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 02 Juni 2023

Mengetahui,

Sidoarjo, 22 Juni 2023


Asisten Praktikum
Mikrokontroller

Ali Zaenal Abidin


NIM. 201020100005

xii
PERCOBAAN IV
PEMROGRAMAN SENSOR ULTRASONIK

4.1. Tujuan Percobaan


Adapun tujuan percobaan ini sebagai berikut :
1. Mahasiswa memahami prinsip kerja dari sensor Ultrasinok (HC-SR04).
2. Mahasiswa dapat memahami pemrograman sensor Ultrasinok (HC-
SR04) dengan tampilan pada LCD 16x2 dengan I2C untuk mengukur
jarak sebuah objek.

4.2. Alat dan Bahan Percobaan


Adapuun Alat dan bahan yang digunakan adalah sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Penggaris 1 unit
5. Kabel jumper secukupnya

4.3. Teori Dasar


Sensor ultrasonik bekerja dengan cara memancarkan suatu
gelombang dan kemudian menghitung waktu pantulan gelombang
tersebut. Gelombang ultrasonik bekerja pada frekuensi mulai dari 20
KHz sampai dengan 20 MHz. frekuensi kerja yang digunakan dalam
gelombang ultrasonik bervariasi tergantung pada medium yang dilalui,
mulai dari kerapatan pada fasa gas, cair, hingga padat. Sensor ultrasonik
terdiri dari sebuah chip pembangkit sinyal 40 KHz, sebuah speaker
ultrasonik, dan sebuah microphone ultrasonik. Speaker ultrasonik
(transmitter) mengubah sinyal 40 KHz menjadi suara sementara
microphone ultrasonik (receiver) berfungsi untuk mendeteksi pantulan
suaranya. Sensor ultrasonik akan mengirimkan suara ultrasonik ketika
ada pulsa trigger dari mikrokontroler. Suara ultrasonik dengan frekuensi
sebesar 40 KHz akan dipancarkan selama 200 uS. Suara ini akan
merambat di udara dengan kecepatan 340 m/s atau 29.412 uS setiap 1
cm, mengenai objek dan akan terpantul kembali ke sensor ultrasonik.
Selama menunggu pantulan, sensor ultrasonik akan menghasilkan
sebuah pulsa. Pulsa ini akan berlogika low ketika suara pantulan
terdeteksi oleh sensor ultrasonik. Maka dari itu, lebar pulsa dapat
merepresentasikan jarak antara sensor ultrasonik dengan objek. Contoh
Gambar sensor ultrasonic dapat dilihat seperti gambar berikut ini.
(Andirianto H, Darmawan A 2016).

Gambar 1. Sensor Ultrasinik

Gambar 2. Cara kerja sensor ultrasonik

Sensor Ultrasonik memiliki 4 pin yang diantaranya pin Grounf, pin


vcc, pin Transmitter dan Receiver. Pin Transmitter dan Receiver akan
terhubung ke pin Digital Arduino. Adapun Cara kerja sensor ultrasonik
sebagai berikut :
Gambar 3. Timing HC SR04

4.4. Prosedur Kerja/Langkah Percobaan


Berikut prosedur percobaan dengan menggunakan perintah
pemrograman bahasa C++ yang ada di Arduino IDE :
1. Siapkan Trainer mikrokontroller dan periksa di dalamnya
pastikan lengkap sesuai yang di paparkan d alat dan bahan diatas,
berikut rangkaiannya :

Gambar 4. Rangkaian Ultrasonik dengan LCD 16x2 I2C


Siapkan kabel jumper secukupnya untuk pemasangan
Ultrasonik dengan lcd 16x2 i2c ke Arduino, dengan
mentancapkan kabel jumper sebagai berikut :

a. pin 8 pada arduino ke pin Trig pada sensor Ultrasonik,


b. pin 9 pada arduino ke pin Echo pada sensor Ultrasonik,
c. pin SDA pada arduino ke pin SDA pada LCD 16x2 I2C, serta
d. pin SCL pada arduino ke pin SCL pada LCD 16x2 I2C.
untuk lebih jelasnya bisa dilihat pada gambar di bawah ini :
Gambar 5. Penyambungan trafic light ke Arduino Uno

2. Sebelum melakukan pemrograman pastikan kabel transfer sudah


tertancap di arduino dan komputer anda, serta jangan lupa tekan
tombol LCD i2c dan HC SR04. Kemudian lakukan pemrograman.

3. Buka Program Arduino IDE dan lakukan pemrograman sensor


ultrasonik pada arduino IDE
Sketch Arduino Sensor Ultrasonik
int trig = 8; // pin 8 trigger
int echo = 9; // pin 9 echo
long durasi, jarak;

void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}

void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);

durasi = pulseIn(echo, HIGH);


jarak = (durasi / 2) / 29.1;
Serial.print ("Jarak sekarang : ");
Serial.print (jarak);
Serial.println (" cm");
}

4. Verifikasi Algoritma yang sudah anda buat agar bisa dideteksi

kesalahan dalam penulisan programnya


5. Compail Algoritma pada modul Arduino agar bisa dilihat hasilnya pada

serial monitor pada aplikasi arduino IDE


6. Dan lakukan analisa setiap pemrogramannya serta lakukan
penggabungan dengan lcd 16x2 i2c sehingga dapat tampil juga di lcd
16x2 i2c
4.5. Hasil dan Analisa Percobaan
Berikut Hasil percobaan dan hasil analisa pemrogramannya.
1. Pemrograman sensor ultrasonik tampil di serial monitor

Dari gambar tersebut menunjukkan pin trigger sensor jarak akan


mengirimkan sinyal dan dikembalikan dan diterima oleh pin echo.
Hasil perhitungan akan tampil di serial monitor

Program Penjelasan dari hasil pemrograman


int trig = 8; Ketika pemrograman di samping
int echo = 9;
long durasi, jarak; dijalankan di software Arduino, nilai
jarak yang diukur akan tampil diserial
void setup() {
Serial.begin(9600); monitor dengan tampilan “jarak
pinMode(trig, OUTPUT); sekarang:( nilai jarak) cm”. Nilai jarak
pinMode(echo, INPUT);
} akan muncul terus karena pada
void loop() { programnya terdapat loop.
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);

durasi = pulseIn(echo, HIGH);


jarak = (durasi / 2) / 29.1;

Serial.print ("Jarak sekarang : ");


Serial.print (jarak);
Serial.println (" cm");
}

2. Pemrograman sensor ultrasonik tampil di lcd 16x2 i2c

Dari rangkaian di atas menunjukkan pin trigger sebagai pengirim


sinyal ultrasonik dan pin echo sebagai penerima sinyal ultrasonik
ketika di depan sensor terdapat objek. Hasil pengukuran jarak akan
tampil pada LCD 16x2 I2C.
Program Penjelasan dari hasil pemrograman
#include<Wire.h> Dari pemrograman di samping bila
#include <LiquidCrystal_I2C.h> dijalankan nilai jarak yang di ukur
LiquidCrystal_I2C lcd(0x27, 16,2); akan tampil pada LCD I2C dengan
tampilan “Jarak :(nilai jarak) cm”
int trig = 8; dan diberikan delay 1000/satu
int echo = 9; detik untuk melakukan pengukuran
jarak berikutnya dan menampilkan
long durasi, jarak; hasilnya pada LCD.
void setup() {
lcd.init();
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
lcd.backlight();
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi = pulseIn(echo, HIGH);
jarak = (durasi / 2) / 29.1;
lcd.setCursor(0,0);
lcd.print("Jarak :");
lcd.setCursor(8,0);
lcd.print(jarak);
lcd.setCursor(13,0);
lcd.println(" cm");
delay(1000);
}

4.6. Tugas dan Kesimpulan Percobaan


1. Lakukan pengambilan jarak yang terbaca oleh sensor ultrasonik
dengan penggaris (alat standar). Dengan cara isi tabel pengambilan
data sebagai berikut :

Jarak objek Ketepatan Foto


No Nilai yang Selisih
dengan ultrasonik (%) Pembacaan
terbaca di LCD
(penggaris)
1 10 cm 8 cm 2 75%

2 20 cm 19 cm 1 95%

3 30 cm 29 cm 1 96,6%

4 40 cm 37 cm 3 92%

5 50 cm 47 cm 3 93,7%
Gunakan Persamaan pengukuran ketepatan sebagai berikut :
%Ketepatan= 1−
Yn−Xn
Xn | |×100 % |
Dimana : Yn = Hasil pengukuran dengan penggaris

Xn = Nilai yang terbaca di LCD

Hasil Perhitungan :

1. % Ketepatan = 1− | Xn ||×100 %
|Yn−Xn

= |1−|10−8
8 |
×100 %

= |1−0,25|×100 %
= 0,75 x 100 %
= 75 %

2. % Ketepatan = 1− | |Yn−Xn
Xn ||
×100 %

= | |
1−
19 |
20−19
×100 %

= |1−0,05|×100 %
= 0,95 x 100 %
= 95 %

3. % Ketepatan = 1− | Xn ||×100 %
|Yn−Xn

= |1−|30−29
29 |
×100 %

= |1−0,034|×100 %
= 0,966 x 100 %
= 96,6 %

4. % Ketepatan = 1− | |Yn−Xn
Xn ||
×100 %

= | |
1−
37 |
40−37
× 100 %

= |1−0,08|×100 %
= 0,92 x 100 %
= 92 %

5. % Ketepatan = 1− | Xn ||×100 %
|Yn−Xn

= |1−|50−47
47 |
× 100 %

= |1−0,063|×100 %
= 0,937 x 100 %
= 93,7 %

2. Beri Kesimpulan hasil dari percobaan diatas.


Kesimpulan
Dari percobaan yang telah dilakukan dapat disimpulkan bahwa
pada percobaan tersebut dapat mengetahui prinsip kerja sensor ultrasonik
dan dapat mengetahui pemrograman sensor ultrasonik dengan tampilan
pada LCD 16x2 I2C untuk mengukur jarak objek.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

PERCOBAAN V
PEMROGRAMAN SENSOR DHT 22

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 02 Juni 2023

Mengetahui,

Sidoarjo, 22 Juni 2023


Asisten Praktikum
Mikrokontroller

Ali Zaenal Abidin


NIM. 201020100005

xiv
PERCOBAAN V

PEMROGRAMAN SENSOR DHT 22

5.1. Tujuan Percobaan


Adapun tujuan percobaan ini sebagai berikut :
1. Mahasiswa memahami prinsip kerja dari sensor suhu dan kelembapan
(DHT 22).
2. Mahasiswa dapat memahami pemrograman sensor sensor suhu dan
kelembapan (DHT 22) dengan tampilan pada LCD 16x2 dengan I2C
untuk mengukur suhu dan kelembapan ruangan.

5.2. Alat dan Bahan


Adapun alat dan bahan yang digunakan adalah sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Thermometer 1 unit
5. Kabel jumper secukupnya

5.3. Teori Dasar


DHT-22 atau AM2302 adalah sensor suhu dan kelembaban, sensor
ini memiliki keluaran berupa sinyal digital dengan konversi dan
perhitungan dilakukan oleh MCU 8-bit terpadu. Sensor ini memiliki
kalibrasi akurat dengan kompensasi suhu ruang penyesuaian dengan
nilai koefisien tersimpan dalam memori OTP terpadu. Sensor DHT22
memiliki rentang pengukuran suhu dan kelembaban yang luas, DHT22
mampu mentransmisikan sinyal keluaran melewati kabel hingga 20
meter sehingga sesuai untuk ditempatkan di mana saja, tapi jika kabel
yang panjang di atas 2 meter harus ditambahkan buffer capacitor 0,33μF
antara pin#1 (VCC) dengan pin#4 (GND).
Gambar 1. Bentuk fisik sensor DHT22

Spesifikasi teknis DHT22 / AM-2302:


a. Catu daya: 3,3 - 6 Volt DC (tipikal 5 VDC)
b. Sinyal keluaran: digital lewat bus tunggal dengan kecepatan
5 ms/operasi
c. Elemen pendeteksi: kapasitor polimer (polymer capacitor)
d. Jenis sensor: kapasitif (capacitive sensing)
e. Rentang deteksi kelembapan : 0-100% RH (akurasi ±2% RH)
f. Rentang deteksi suhu : -40° - +80° Celcius (akurasi ±0,5°C)
g. Resolusi sensitivitas : 0,1%RH; 0,1°C
h. Histeresis kelembaban: ±0,3% RH
i. Stabilitas jangka panjang: ±0,5% RH / tahun
j. Periode pemindaian rata-rata: 2 detik
k. Ukuran: 25,1 x 15,1 x 7,7 mm
l. Hubungkan pin#2 (data) dari sensor ini dengan pin Digital I/O
pada MCU (Microcontroller Unit).

Komunikasi dan sinyal Data bus tunggal digunakan untuk


komunikasi antara MCU dan DHT22, dengan waktu 5mS untuk satu
kalikomunikasi. Data terdiri dari bagian integral dan desimal.

5.4. Prosedur Kerja/Langkah Percobaan

Berikut prosedur percobaan dengan menggunakan perintah


pemrograman bahasa C++ yang ada di Arduino IDE :
1. Siapkan Trainer mikrokontroller dan periksa di dalamnya pastikan
lengkap sesuai yang dipaparkan di alat dan bahan di atas, berikut
rangkaiannya :

Gambar 2. Rangkaian DHT22 dengan LCD 16x2 I2C

Siapkan kabel jumper secukupnya untuk pemasangan dht22 dengan lcd 16x2 i2c
ke Arduino, dengan menancapkan kabel jumper sebagai berikut :
pin 2 pada arduino ke pin SDA/data pada sensor DHT22,
pin SDA pada arduino ke pin SDA pada LCD 16x2 I2C, serta
pin SCL pada arduino ke pin SCL pada LCD 16x2 I2C.
untuk lebih jelasnya bisa dilihat pada gambar di bawah ini :

Gambar 5.3 Sambungan DHT22 dengan LCD 16x2 I2C ke Arduino Uno
2. Sebelum melakukan pemrograman pastikan kabel transfer sudah
tertancap di Arduino dan komputer Anda, serta jangan lupa tekan
tombol LCD i2c dan DHT22.

3. Buka program Arduino IDE dan lakukan install library DHT22


terlebih dahulu kemudian lakukan pemrograman sensor DHT22 pada
arduino IDE.
Sketch Arduino Sensor DHT22
#include <dht.h> dht
DHT;
//Constants
#define DHT22_PIN 2 //DHT 22(AM2302 connected to

//Variables
float hum; //Stores humidity value
float temp; //Stores temperature value

void setup()
{
Serial.begin(9600);
}

void loop()
{
int chk = DHT.read22(DHT22_PIN);
//Read data and store it to variables hum and temp
hum = DHT.humidity;
temp= DHT.temperature;
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(hum); Serial.print(" %,
Temp: "); Serial.print(temp);
Serial.println(" Celsius");
delay(2000); //Delay 2 sec.
}

4. Verifikasi algoritma yang sudah Anda buat agar bisa dideteksi


kesalahan dalam penulisan programnya
5. Compile algoritma pada modul Arduino agar bisa dilihat hasilnya pada
serial monitor aplikasi Arduino IDE.
6. Dan lakukan analisa setiap pemrogramannya serta lakukan
penggabungan dengan lcd 16x2 i2c sehingga dapat tampil juga di lcd
16x2 i2c
5.5. Hasil dan Analisa Percobaan
Berikut Hasil percobaan dan hasil analisa pemrogramannya.
1. Pemrograman sensor DHT22 tampil di serial monitor

Rangkaian ini merupakan rangkaian untuk membaca suhu dan


kelembaban menggunakan sensor DHT22 dan menampilkan nilainya
pada serial monitor jika memasukkan program di bawah.

Program Penjelasan dari hasil


pemrograman
#include <dht.h> Jika pemrograman ini dijalankan
dht DHT; nilai humidity/kelembaban dan
#define DHT22_PIN 2 suhu akan tampil pada serial
float hum; monitor dengan tampilan
float temp; “Humidity: (nilai kelembaban)%,
void setup() Temp: (nilai suhu) Celsius”.
{
Serial.begin(9600);
}
void loop()
{
int chk = DHT.read22(DHT22_PIN);
hum = DHT.humidity;
temp= DHT.temperature;
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
delay(2000);
}
2. Pemrograman sensor DHT22 tampil di lcd 16x2 i2c

Rangkaian ini merupakan rangkaian untuk membaca nilai


kelembaban dan suhu menggunakan sensor DHT22 dan
menampilkan nilainya pada LCD 16x2 I2C.

Program Penjelasan dari hasil


pemrograman
#include <dht.h> Pemrograman akan tampil pada
#include <LiquidCrystal_I2C.h> LCD 16x2 I2C dengan tampilan
LiquidCrystal_I2C lcd(0x27, 16,2); tulisan diatasnya “Humidity :
dht DHT; (nilai kelembaban)%” dan
#define DHT22_PIN 2 tulisan dibawahnya “Temp :
float hum; (nilai suhu)Celsius” dengan
float temp; diberikan delay 2000/2 detik
void setup(){ untuk nilai suhu dan
lcd.init(); kelembaban yang baru.
lcd.backlight();
lcd.clear();
}
void loop(){
int chk = DHT.read22(DHT22_PIN);
hum = DHT.humidity;
temp= DHT.temperature;
lcd.setCursor(0,0);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print(" %");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(temp);
lcd.println(" Celsius");
delay(2000);
}
5.6. Tugas dan Kesimpulan Percobaan
1. Lakukan pengambilan jarak yang terbaca oleh sensor dht22 dengan
suhu dan kelembapan ruangan (alat standar) dan gunakan stopwatch
handphone anda. Dengan cara isi tabel pengambilan data sebagai
berikut :
Tabel data Suhu

Nilai yang Nilai Alat Ketepatan Foto


No Menit ke Selisih
terbaca di LCD Standart (%) Pembacaan
1 1 menit 26 26,1 0,1 99,7%

2 3 menit 26,1 26,1 0 100%

3 5 menit 26,1 26,1 0 100%

Tabel data Kelembapan

Nilai yang Nilai Alat Ketepatan Foto


No Menit ke Selisih
terbaca di LCD Standart (%) Pembacaan
1 1 menit 57,20 - - -

2 3 menit 57,30 - - -

3 5 menit 57,60 - - -

Gunakan Persamaan pengukuran ketepatan sebagai berikut :


%Ketepatan= 1− | |
Yn−Xn
Xn
×100 % |
Dimana : Yn = Hasil pengukuran dengan penggaris

Xn = Nilai yang terbaca di LCD


Perhitungan ketepatan suhu pada Alat dengan Hasil LCD

| |
1. % Ketepatan = 1−
Yn−Xn
Xn ||
×100 %

| |
= 1−
26,1−26
26 |
×100 %

= |1−0,003|×100 %
= 0,997 x 100 %
= 99,7 %

2. % Ketepatan = 1−| Xn ||×100 %


|Yn−Xn

= |1−|26,1−26,1
26,1 |
× 100 %

= |1−0|×100 %
= 1 x 100 %
= 100 %

3. % Ketepatan = 1−| | Yn−Xn


Xn ||
×100 %

= 1−| | 26,1−26,1
26,1 |
× 100 %

= |1−0|×100 %
= 1 x 100 %
= 100 %
2. Beri Kesimpulan hasil dari percobaan diatas.
Kesimpulan
Dari percobaan diatas dapt disimpulkan bahwa hasil percobaan dari
pembacaan LCD dengan memakai alat standart tidak berbeda jauh
hasilnya dan lebih dominan nilainya sama pada LCD dengan memakai
alat standart. Dengan adanya percobaan ini menjadi mengetahui
prinsip kerja dari sensor suhu dan kelembaban dan dapat mengetahui
pemrogramannya dengan tampilan pada LCD 16x2 I2C.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

LEMBAR ASISTENSI

PRAKTIKUM
MIKROKONTROLLER

PERCOBAAN VI
PEMROGRAMAN SENSOR PZEM MONITORING ENERGY

Disusun Oleh:

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 02 Juni 2023

Mengetahui,

Sidoarjo, 22 Juni 2023


Asisten Praktikum
Mikrokontroller

PERCOBAAN VI
Ali Zaenal Abidin
PEMROGRAMAN SENSOR PZEM NIM. 201020100005
MONITORING ENERGY

6.1. Tujuan Percobaan


Adapun tujuan dilakukan percobaan pemrograman Sensor PZEM ini
adalah sebagai berikut :
xv
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

1. Memahami rangkaian dan kegunaan dari sensor PZEM


2. Mahasiswa dapat memprogram sensor PZEM dengan benar

6.2. Alat dan Bahan Percobaan


Pada percobaan ini dibutuhkan beberapa peralatan untuk
menunjang praktikum yaitu sebagai berikut :
1. Trainer Mikrokontroller 1 unit
2. Adaptor 12vdc 1 unit
3. Kabel data USB type B 1 unit
4. Kabel jumper secukupnya
5. Modul beban percobaan

6.3. Dasar Teori


Sebelum melakukan percobaan perlu di fahami karateristik dari
peralatan apa saja yang digunakan yaitu sebagai berikut :
1. Sistem Monitoring Energy Listrik
Monitoring adalah suatu proses pengumpulan dan menganalisis
informasi dari penerapan suatu program termasuk mengecek secara
reguler untuk melihat apakah kegiatan/program itu berjalan dengan baik
sehingga masalah yang dilihat/ditemui dapat diatasi. Sedangkan energi
listrik adalah energi yang berasal dari muatan listrik yang menyebabkan
medan listrik statis atau gerakan elektron dalam konduktor (penghantar
listrik) atau ion (positif atau negatif) dalam zat cair atau gas. Energi listrik
dinamis dapat diubah menjadi energi lain dengan tiga komponen dasar,
sesuai dengan sifat arus listriknya. Jadi energi listrik adalah energi utama
yang dibutuhkan oleh peralatan listrik.

Sistem monitoring energi listrik dilakukan untuk mengetahui


konsumsi energi listrik yang digunakan dengan melakukan pengukuran
tegangan, arus, dayanya sehingga dapat dilakukan tindakan menganalisis
hasil dari konsumsi daya. Sistem monitoring energi energi listrik merupakan
bagian dari sistem manajemen energi yang merupakan teknik memonitor,
menganalisa dan mengontrol aliran energi yang ada dalam sebuah sistem

xv
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

sehingga dapat dilakukan tindakan efisiensi penggunaan energi yang


maksimal dapat tercapai. Manajemen energi adalah aktifitas dalam
menggunakan energi dengan bijaksana dan efektif untuk memaksimalkan
keuntungan (minimize costs) dan meningkatkan kondisi yang kompetitif.

a. Karakteristik Sumber Listrik PLN


Sumber listrik PLN merupakan sumber energi listrik dengan
arus bolak-balik atau Alternating Current (AC) yang dihasilkan dari
generator AC pada pembangkit listrik baik itu pembangkit listrik
bertenaga diesel (PLTD), pembangkit listrik bertenaga air (PLTA)
ataupun pembangkit listrik lainnya.
b. Tegangan dan Arus Bolak-Balik
Sumber listrik AC menghasilkan tegangan dan arus dengan
besaran serta polaritasnya selalu berubah-ubah dari polaritas positif
ke negatif atau sebaliknya. Secara periodik terhadap fungsi waktu,
dengan bentuk gelombang dapat berupa gelombang sinus. Square
dan segitiga, untuk sumber listrik dari PLN sendiri berupa
gelombang sinus, sementara untuk gelombang square dan segitiga
biasanya banyak digunakan pada inverter.

Gambar 1 Sinyal Sinusoida pada listrik Bolak-balik (AC)

Rumus tegangan terhadap arus ini sebagai berikut :


V = I x R....................................(1)
Untuk mencari arus terhadap tegangan sebagai berikut :
I = V / R.....................................(2)

xv
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

Sedangkan untuk mencari suatu Resistansi/ Hambatan dengan rumus

sebagai berikut :
R = V / I.....................................(3)

c. Pengertian Daya Listrik


Daya listrik didefinisikan sebagai laju hantaran energi listrik
dalam rangkaian listrik. Simbol satuan daya ini yaitu W (watt). Daya
listrik dibagi menjadi tiga, yaitu daya aktif, daya reaktif dan daya
semu.

P = V x I.....................................(4)
Dimana,
P adalah Daya (Watt atau W)
I adalah Arus (Ampere atau A)
V adalah Perbedaan potensial (Volt atau V)

2. Sensor PZEM
Sensor PZEM-004T adalah sensor yang dapat mengukur Arus,
Tegangan, Power dan Energy dari listrik AC. Sensor ini mengeluarkan
output dengan komunikasi serial. Jika kita ingin menghubungkan dengan
Arduino maka komunikasi yang di gunakan adalah komunikasi serial.

Gambar 2 Sensor PZEM

Sensor ini cukup mudah di gunakan, karena output nya langsung bisa di
baca, baik berupa arus, tegangan, power maupun energy, tetapi sensor ini
tidak mampu membaca arus AC dengan ketelitian mili Ampere. Jadi kalo
teman-teman ingin membaca sensor ini untuk Arus orde mili Ampere, maka
xv
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

tidak di sarankan menggunakan sensor ini. Pengkabelan dari modul ini


memiliki 2 bagian, yaitu dari pengkabelan terminal masukan tegangan dan
arus, serta pengkabelan komunikasi serial. Berdasarkan pada kebutuhan,
modul ini memiliki papan pin TTL untuk mendukung komunikasi data
serial antar hardware. Jika pengguna ingin mengkomunikasikan PZEM-
004T ini dengan perangkat yang memiliki port USB atau RS-232 (seperti
komputer), diperlukan lagi kabel konverter (TTL ke USB, TTL ke
RS232).

xv
6.4. Prosedur Kerja/Langkah Percobaan
Adapun langkah-langkah yang harus dilakukan dalam percobaan kali
ini yaitu sebagai berikut :
1. Siapkan Trainer mikrokontroller dan periksa di dalamnya
pastikan lengkap sesuai yang di paparkan di alat dan bahan
diatas, berikut rangkaiannya :

Gambar 3. Rangkaian PZEM-004T dengan beban


Siapkan kabel jumper secukupnya untuk pemasangan PZEM-
004T dengan beban ke Arduino, dengan mentancapkan kabel
jumper sebagai berikut :
a. Pin 10 dari Arduino ke Tx pada sensor PZEM-004T
b. Pin 11 dari Arduino ke Rx pada sensor PZEM-004T
c. Pin SDA dari Arduino ke SDA pada LCD
d. Pin SCC dari Arduino ke SCC pada LCD
untuk lebih jelasnya bisa dilihat pada gambar di bawah ini :

Gambar 4. Sambungan rangkaian PZEM-004T


2. Sebelum melakukan pemrograman pastikan kabel transfer sudah
tertancap di arduino dan komputer anda, serta jangan lupa tekan
tombol sensor PZEM-004T dan LCD I2C. Kemudian lakukan
pemrograman.

3. Buka Program Arduino IDE dan lakukan install library PZEM-


004T terlebih dahulu kemudian pemrograman sensor PZEM-004T
pada arduino IDE.
Sketch Arduino Sensor PZEM-004T
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <PZEM004Tv30.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
PZEM004Tv30 pzem(10, 11);

void setup() {
 lcd.init();
 lcd.backlight();
 lcd.clear();
}

void loop() {
 float voltage = pzem.voltage();
 if (voltage != NAN) {
   lcd.print("Voltage: ");
   lcd.print(voltage);
   lcd.print("V");
   lcd.setCursor(0, 0);
 } else {
   lcd.println("Error reading voltage");
 }

 float current = pzem.current();


 if (current != NAN) {
   lcd.print("Current: ");
   lcd.print(current);
   lcd.println("A");
   lcd.setCursor(0, 1);
 } else
 {
   lcd.println("Error reading current");
 }
 delay(500);
}

4. Verifikasi Algoritma yang sudah anda buat agar bisa dideteksi

kesalahan dalam penulisan programnya


5. Compail Algoritma pada modul Arduino agar bisa dilihat hasilnya
pada serial monitor pada aplikasi arduino IDE
6. Dan lakukan analisa setiap pemrogramannya serta lakukan
penggabungan sensor PZEM-004T

6.5. Hasil dan Analisa Percobaan


1. Lakukan penelitian dan pengukuran dengan alat standart sesuai
tabel dibawah ini dan beri kesimpulan hasil pengujian sensor
Tabel Pengujian Tegangan Sensor PZEM-00T
Alat Percobaan Sensor PZEM-004T ke- Persentase
No Standart Rata-rata Ketepatan
1 2 3 4 5
1 235,3 235,7 235,8 235,3 235,3 235,8 235,58 99,89%
2 235 235,3 235,5 235,6 235,3 235,2 235,38 99,84%
3 234,5 234,7 234,5 234,6 234,7 234,8 234,66 99,94%

Beri Kesimpulan hasil pengujian dari tabel diatas :


Dari hasil pengujian tegangan sensor PZEM-004T didapatkan rata-rata
dari pengujian 1 sampai 5 tidak jauh berbeda hasilnya dengan
menggunakan alat standart. Sehingga pada percobaan 1 sampai 3
mendapatkan persentase ketepatan hampir 100%.
Tabel Pengujian Ampere Sensor PZEM-004T
Alat Percobaan Sensor PZEM-004T ke- Persentase
No Standart Rata-rata Ketepatan
1 2 3 4 5
1 0,103 0,12 0,12 0,12 0,12 0,12 0,12 85,9%
2 0,257 0,28 0,28 0,28 0,28 0,28 0,28 91,8%
3 0,509 0,55 0,55 0,55 0,55 0,55 0,55 92,6%

Beri Kesimpulan hasil pengujian dari tabel diatas :


Dari hasil pengujian ampere sensor PZEM-004T didapatkan rata-rata
pada percobaan ke-1 sampai 5 dengan hasil yang tidak begitu jauh
dengan hasil yang menggunakan alat standart. Sehingga pada percobaan
no. 1 sampai 3 didapatkan persentase ketepatan berkisar 85% - 93%.

2. Lakukan perhitungan manual dari tabel diatas sesuai rumus rata-


rata dan persentase ketepatan dibawah ini :

Rumus :

Rumus Rata-Rata Rumus Persentase Ketepatan

μ=
x 1+ x2 + x 3 …+ x n
n | |
%Ketepatan= 1−
Yn−Xn
Xn |
×100 %

Keterangan :
µ = Nilai Rata-rata Yn = Hasil pengukuran Alat Standart
n = Banyaknya data Xn = Nilai yang terbaca sensor
𝑥1 = Data ke-1
𝑥𝑛 = Data ke-n
𝑥𝑖 = Data ke-i

 Perhitungan rata-rata dan persentase ketepatan pada pengujian


tegangan sensor PZEM-004T

x 1 + x 2+ x3 …+ x n
1. μ ¿
n
235,7+235,8+235,3+235,3+235,8
¿
5
1177,9
¿
5
¿ 235,58

% Ketepatan= 1−| |Yn−Xn


Xn ||
×100 %

= 1−| |235,3−235,58
235,58 ||
×100 %

= |1−0,0011|× 100 %
= 0,9989 x 100 %
= 99,89 %

x 1 + x 2+ x3 …+ x n
2. μ ¿
n
235,3+ 235,5+235,6+235,3+235,2
¿
5
1176,9
¿
5
¿ 235,38

% Ketepatan= 1−| |Yn−Xn


Xn ||
×100 %

= 1−| |235−235,38
235,38 |
×100 %

= |1−0,0016|×100 %
= 0,9984 x 100 %
= 99,84 %

x 1 + x 2+ x3 …+ x n
3. μ ¿
n
234,7+234,5+234,6+234,7+ 234,8
¿
5
1173,3
¿
5
¿ 234,66

% Ketepatan= 1−| |Yn−Xn


Xn ||
×100 %

= 1−| |234,5−234,66
234,66 |
×100 %

= |1−0,0006|×100 %
= 0,9994 x 100 %
= 99,94 %

 Perhitungan rata-rata dan persentase ketepatan pada pengujian


ampere sensor PZEM-004T

x 1 + x 2+ x3 …+ x n
1. μ ¿
n
0,12+ 0,12+0,12+0,12+0,12
¿
5
0,6
¿
5
¿ 0 , 12

| |
% Ketepatan = 1−
Yn−Xn
Xn ||
×100 %

| |
= 1−
0,103−0,12
0,12 |
×100 %

= |1−0,141|× 100 %
= 0,859 x 100 %
= 85,9 %

x 1 + x 2+ x3 …+ x n
2. μ ¿
n
0,28+0,28+0,28+ 0,28+0,28
¿
5
1,4
¿
5
¿ 0 , 28

| |
% Ketepatan = 1−
Yn−Xn
Xn ||
×100 %

| |
= 1−
0,257−0,28
0,28 |
×100 %

= |1−0,082|× 100 %
= 0,918 x 100 %
= 91,8 %

x 1 + x 2+ x3 …+ x n
3. μ ¿
n
0,55+0,55+0,55+ 0,55+ 0,55
¿
5
2,75
¿
5
¿ 0 , 55

% Ketepatan = 1− | Xn ||×100 %
| Yn−Xn

= |1−| | ×100 %
0,509−0,55
0,55

= |1−0,074|×100 %
= 0,926 x 100 %
= 92,6 %

6.6. Tugas dan Kesimpulan Percobaan


1. Lakukan langkah diatas dengan berbeda beban yang di ambil
serta tampilakan ke LCD hasil pembacaannya.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <PZEM004Tv30.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
PZEM004Tv30 pzem(10, 11);

void setup() {
lcd.init();
lcd.backlight();
lcd.clear();
}

void loop() {
float voltage = pzem.voltage();
if (voltage != NAN) {
lcd.print("Voltase: ");
lcd.print(voltage);
lcd.print("V");
lcd.setCursor(0, 0);
} else {
lcd.println("Error reading voltage");
}

float current = pzem.current();


if (current != NAN) {
lcd.print("Ampere: ");
lcd.print(current);
lcd.println("A");
lcd.setCursor(0, 1);
} else
{
lcd.println("Error reading current");
}
delay(500);

2. Beri Kesimpulan hasil dari percobaan diatas.


Kesimpulan

Dari percobaan yang telah dilakukan dapat disimpulkan bahwa


dengan adanya ini menjadi mengetahui rangkaian dan kegunaan dari
sensor PZEM, yaitu salah satunya sebagai pengukur arus dan tegangan
yang telah dilakukan pada percobaan ini dan dari percobaan ini
menjadi dapat mengetahui pemrograman PZEM dengan benar.
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

KARTU ASISTENSI
MIKROKONTROLLER

Nama / NIM : Akbar Rayhan Hasfi / 211020100040


Kel. / Gel : Kelompok 8 / Gelombang 2
Pelaksanaan : 12 Mei & 23 Juni 2023

No Modul Praktikum Tanggal Asistensi Catatan Asistensi

Dasar Logika Pemrograman 23-06-2023


1 OK
Dengan Traffic Light
Pemrograman LCD 16x2 23-06-2023 OK
2
dengan I2C

3 Pemrograman Motor Servo 23-06-2023 OK

Pemrograman Sensor 23-06-2023 OK


4
Ultrasonik

5 Pemrograman Sensor DHT22 23-06-2023 OK

Pemrograman Sensor PZEM 23-06-2023 OK


6
Monitoring Energy

Mengetahui,
Sidoarjo, 23 Juni 2023
Dosen Pengampu Praktikum Asisten Praktikum
Mikrokontroller Mikrokontroller

Akhmad Ahfas, ST., M.Kom. Ali Zaenal Abidin


NIK. 205124 NIM. 201020100005

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi
LABORATORIUM PRODI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS MUHAMMADIYAH SIDOARJO 2023

xvi

Anda mungkin juga menyukai