Anda di halaman 1dari 14

Selasa, 27 September 2022

LAPORAN PRAKTIKUM ESP

WORKSHOP MIKROKONTROLER

Dosen Pengampu:
Ir. Azzam Muzakhim Imammuddin, MT.

Disusun Oleh :

Kelompok 3
1. Haidar Rafid Ramadhan 2141160093 / 09
2. Muhammad Danish Rasyad 2141160044 / 14
3. Tasya Rahma Fadhilah 2141160142 / 20

PROGRAM STUDI JARINGAN TELEKOMUNIKASI DIGITAL

JURUSAN TEKNIK ELEKTRO

POLINEMA

2022
Percobaan Praktikum ESP 32 Menggunakan Push Botton
1.1 Tujuan
 Mengetahui dan memahami karakteristik ESP 32
 Mengetahui dan memahami cara kerja dari ESP 32
 Dapat membuat rangkaian pada protoboard menggunakan ESP 32
 Dapat mengoperasikan program pada Arduino untuk menjalankan rangkaian

1.2 Alat dan Bahan


 Laptop
 Software Arduino
 Proto Board 1 Buah
 ESP 32 1 Buah
 Lampu LED 4 Buah
 Kabel USB Type Mikro 1 Buah
 Kabel Jumper 8 Buah
 Resistor 2,2k Ohm 6 Buah
 Push Botton 2 Buah

1.3 Teori Dasar


a. Pengertian ESP 32

ESP 32 adalah mikrokontroler yang dikenalkan oleh Espressif System merupakan


penerus dari mikrokontroler ESP 8266. Pada mikrokontroler ini sudah tersedia modul
WiFi dalam chip sehingga sangat mendukung untuk membuat sistem aplikasi Internet
of Things.
ESP32 sudah Dual-Core 32 bit, jelas lebih cepat ESP32 secara kinerja. Selain itu
modul ini juga mempunyai bluetooth , satu fitur yang tidak ada di ESP 8266.
Spesifikasi ESP 32 :
1. Processor :
 Microprocessor Tensilica Xtensa 32-bit LX6
 Clock frequency up to 240 MHz

2. Wireless connectivity :
 Wi-Fi: 802.11 b/g/n/e/i (802.11n @ 2.4 GHz up to 150 Mbit/s)
 Bluetooth: v4.2 BR/EDR and Bluetooth Low Energy (BLE)

3. Memory :
 ROM: 448 KiB
 SRAM : 520 KiB

4. Peripheral Input/Output :
 ADCs (analog-to-digital converter)
 DACs (digital-to-analog converter)

5. Security :
 IEEE 802.11 standard security features all supported, including WFA,
WPA/WPA2 and WAPI
 1024-bit OTP, up to 768-bit for customers

Berikut ini adalah salah satu contoh bentuk Module ESP 32, yang nantinya akan
kami gunakan untuk menjalankan program :

Fitur dasar pada ESP 32 adalah sebagai berikut :


 Jumlah pinnya 30 meliputi pin tegangan dan GPIO
 15 pin ADC (Analog to Digital Converter)
 3 UART Interface
 3 SPI Interface
 2 I2C Interface
 16 pin PWM (Pulse Width Modulation)
 2 pin DAC (Digital to Analog Converter)

Berkut ini adalah Pin Out yang ada pada Module ESP 32 :

b. Pengertian Arduino

Arduino merupakan sebuah perangkat elektronik yang bersifat open


source dan sering digunakan untuk merancang dan membuat perangkat elektronik
serta software  yang mudah untuk digunakan. Pada aplikasi Arduino, Mikrokontroler
diprogram menggunakan bahasa pemrograman C atau C++, dengan Pustaka khas
arduino. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema
hardware arduino dan membangunnya.

Biasanya Arduino digunakan untuk mengembangkan beberapa sistem seperti


pengatur suhu, sensor untuk bidang agrikultur, pengendali peralatan pintar, dan masih
banyak lagi.

Berikut adalah penjelasan dari masing-masing komponen yang ada pada


Arduino :

 Mikrokontroler
Mikrokontroler ini adalah otak dari Arduino. Ada banyak jenis chip yang
digunakan tergantung dari jenis Arduino-nya.
 Pin
Pin ini digunakan untuk menghubungkan Arduino dengan berbagai komponen
yang akan kamu gunakan. Dalam Arduino terdapat 2 jenis pin, yaitu pin analog
dan pin digital.
 Pin Digital
Pin ini dapat menerima atau mengirim sinyal digital. Kebanyakan
perangkat Arduino memiliki 14 pin input output digital.
 Pin Analog
Pin analog pada arduino adalah pin yang digunakan untuk menerima input
analog. Setiap jenis Arduino memiliki setidaknya satu pin analog. Setiap
pin pada Arduino biasanya dapat dikonfigurasikan ke dalam 2 mode, yaitu
input dan output.
 Konektor
Arduino sendiri memiliki dua jenis konektor yang cukup penting, yaitu power
konektor dan serial konektor.
 Power konektor
adalah konektor yang digunakan untuk menyalurkan daya untuk Arduino.
Daya ini digunakan untuk menghidupkan Arduino dan juga perangkat lain
yang terhubung dengannya.
 Serial konektor
Serial konektor ini biasanya digunakan untuk menghubungkan arduino
dengan perangkatmu seperti komputer atau laptop. Konektor ini
menggunakan port USB standar pada Arduino.

1.4 Skema Rangkaian


1.5 Algoritma Rangkaian LED 2 Button
1. Siapkan alat dan bahan yang telah ditentukan.
2. Buat program dari rangkaian pada software Arduino yang ada pada laptop.
3. Susun rangkaian sesuai sekstsa yang sudah dibuat sebelumnya.
4. Hubungkan laptop dengan ESP menggunakan kabel micro USB sampai LED
yang berwarna merah menyala.
5. Jika program dan rangkaian sudah siap, selanjutnya kita akan melakukan transfer
data dari software Arduino IDE ke ESP 32 pada rangkaian yang sudah dibuat.
6. Kemudian buka software Arduino lalu klik tanda ceklis (verify). Jika tidak ada
kesalahan maka dapat kita upload program tersebut ke ESP 32 dengan klik ikon
pah (upload). Jika proses transfer data berhasil maka ESP 32 akan berkedip
warnabiru dan LED pada ESP 32 akan menyala warna merah.
7. Selanjutnya kita uji coba, apakah rangkaian dan program sudah sesuai atau belum
dengan algoritma yang sudah dibuat.
8. Adapun algoritma yang sudah dibuat dalam kelompok kita yaitu :
1. Tekan ke 1 pada PB1 maka LED merah akan menyala, pada PB2 maka
semua LED akan menyala
2. Tekan ke 2 pada PB1 maka LED Hijau akan menyala, pada PB2 maka
LED Biru akan menyala
3. Tekan ke 3 pada PB1 maka LED Merah Putih Hijau Biru (urut) akan
menyala, pada PB2 maka LED Biru, Putih, Hijau, Merah (urut) akan
menyala
4. Tekan ke 4 pada PB1 maka LED Merah dan putih menyala, pada PB2
maka semua LED akan menyala dan berkedip 2x
5. Reset

1.6 Flowchart Rangkaian


1.7 Script Program

int ledMerah = 2;

int ledPutih = 21;

int ledHijau = 4;

int ledBiru = 5;

int btn = 1;

int btn2 = 22;

int pushbtn, pushbtn2;

int i, y;

void setup(){

pinMode (btn, INPUT);

pinMode (btn2, INPUT_PULLUP);


pinMode (ledMerah, OUTPUT);

pinMode (ledPutih, OUTPUT);

pinMode (ledHijau, OUTPUT);

pinMode (ledBiru, OUTPUT);

void loop(){

pushbtn = digitalRead(btn);

if(pushbtn == 0){

i++;

delay(300);

if(i == 1){

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

y = 0;

}if (i == 2){

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, HIGH);

digitalWrite(ledBiru, LOW);

y = 0;

}if (i == 3){

digitalWrite(ledHijau, LOW);

delay(500);

digitalWrite(ledMerah, HIGH);

delay(500);
digitalWrite(ledMerah, LOW);

delay(500);

digitalWrite(ledPutih, HIGH);

delay(500);

digitalWrite(ledPutih, LOW);

delay(500);

digitalWrite(ledHijau, HIGH);

delay(500);

digitalWrite(ledHijau, LOW);

delay(500);

digitalWrite(ledBiru, HIGH);

delay(500);

digitalWrite(ledBiru, LOW);

y = 0;

}if (i == 4){

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, HIGH);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

y = 0;

}if (i == 5){

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

i = 0;

pushbtn2 = digitalRead(btn2);
if(pushbtn2 == 0){

y++;

delay(300);

if(y == 1){

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, HIGH);

digitalWrite(ledHijau, HIGH);

digitalWrite(ledBiru, HIGH);

i = 0;

}if(y == 2){

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, HIGH);

i = 0;

}if(y == 3){

digitalWrite(ledBiru, LOW);

delay(500);

digitalWrite(ledBiru, HIGH);

delay(500);

digitalWrite(ledBiru, LOW);

delay(500);

digitalWrite(ledHijau, HIGH);

delay(500);

digitalWrite(ledHijau, LOW);

delay(500);

digitalWrite(ledPutih, HIGH);

delay(500);
digitalWrite(ledPutih, LOW);

delay(500);

digitalWrite(ledMerah, HIGH);

delay(500);

digitalWrite(ledMerah, LOW);

i = 0;

}if(y == 4){

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, HIGH);

digitalWrite(ledHijau, HIGH);

digitalWrite(ledBiru, HIGH);

delay(500);

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

delay(500);

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, HIGH);

digitalWrite(ledHijau, HIGH);

digitalWrite(ledBiru, HIGH);

delay(500);

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

delay(500);

digitalWrite(ledMerah, HIGH);

digitalWrite(ledPutih, HIGH);

digitalWrite(ledHijau, HIGH);
digitalWrite(ledBiru, HIGH);

i = 0;

}if(y == 5){

digitalWrite(ledMerah, LOW);

digitalWrite(ledPutih, LOW);

digitalWrite(ledHijau, LOW);

digitalWrite(ledBiru, LOW);

y = 0;

1.8 Hasil Percobaan

Tekan ke 1 pada PB 1 maka LED merah akan menyala

Tekan ke 1 pada PB 2 maka semua LED akan menyala


Tekan ke 2 pada PB 1 maka LED hijau akan menyala

Tekan ke 2 pada PB 2 maka LED biru akan menyala

Tekan ke 3 pada PB 1 maka LED merah, putih, hijau, biru akan menyala secara berurutan
Tekan ke 3 pada PB 2 maka LED biru, putih, hijau, merah akan menyala secara berurutan

Tekan ke 4 pada PB 1 maka LED merah dan putih akan menyala

Tekan ke 4 pada PB 2 maka semua LED akan menyala dan berkedip-kedip

1.9 Analisa dan Pembahasan Rangkaian


Dalam rangkaian LED ini terdapat 2 Push Botton dan 4 buah LED yang dihubungkan
pada Pin Input dan Output ESP 32 WROOM 32 dengan rincian sebagai berikut :
 LED 1 dihubungkan pada pin 2 (GPIO 2)
 LED 2 dihubungkan pada pin 21 (GPIO 21)
 LED 3 dihubungkan pada pin 4 (GPIO 4)
 LED 4 dihubungkan pada pin 5 (GPIO 5)
 Push Botton 1 dihubungkan pada pin 22 (GPIO 22)
 Push Botton 2 dihubugkan pada pin 1 (GPIO 1)
 Grone dihubungkan pada pin GND

Pin ESP32 yang terhubung dengan LED1, LED2, LED3, dan LED4 merupakan pin
output. Sedangkan pin yang terhubung dengan push button 1 dan push button 2
merupakan pin input. LED dan Push button yang akan dihubungkan ke kondisi nyala
atau matinya LED tersebut dipengaruhi oleh kondisi push button, saat push button
dalam kondisi 1 maka LED akan menyala, tetapi saat push button dalam kondisi 0
maka LED akan mati. Pada rangkaian ini digunakan 2 push button, dimana masing –
masing dari push button ini memiliki perintah yang berbeda.
Pada push botton 1 jika ditekan 1 kali maka LED merah akan menyala sedangkan
pada push botton 2 jika ditekan 1 kali maka semua LED akan menyala, lalu pada
push botton 1 jika ditekan 2 kali maka LED hijau akan menyala sedangkan pada push
botton 2 LED biru akan menyala, kemudian pada push botton 1 jika ditekan 3 kai
maka LED merah, putih, hijau, biru akan menyala secara berurutan sedangkan pada
push botton 2 jika ditekan 3 kali maka LED biru, putih, hijau, merah akan menyala
secara berurutan, kemudian pada percobaan yang terakhir yaitu apabila push botton 1
diekan 4 kali maka LED merah dan putih akan menyala sedangkan pada push botton
2 jika ditekan 4 kali maka semua LED akan menyala dan berkedip-kedip.

2.0 Kesimpulan

Dari percobaan praktikum yang sudah kami lakukan, ada beberapa hal yang dapat kami
simpulkan, diantaranya yaitu :
1. Pemrograman Mikrokontroler menggunakan ESP 32 dapat membangun fungsi dan
prosedur yang akan dilakukan oleh mikrokontroler pada setiap kondisi yang telah
ditetapkan.

2. Aplikasi pengembang Arduino selain dapat digunakan untuk membangun program


pada mikrokontroler, juga dilengkapi dengan serial monitor. Serial monitor
digunakan untuk memonitoring aktivitas transfer data yang terjadi pada
mikrokontroler.

3. Pemrograman menggunakan Arduino IDE pada ESP 32 untuk mengontrol nyala atau
matinya LED pada rangkaian dikarenakan fungsi push button disini sebagai penentu
kondisi (pengontrol input) pada LED.

4. Waktu delay yang diberikan pada LED dalam pemrograman tidak hanya
mempengaruhi lamanya waktu LED tersebut dalam kondisi on, tetapi juga
mempengaruhi lamanya LED dalam kondisi off.

2.1 Daftar Pustaka

https://raharja.ac.id/2021/11/16/mikrokontroler-esp32-3/ , diakses 25 September 2022.

https://www.edukasielektronika.com/2019/07/arsitektur-dan-fitur-esp32-module-
esp32.html , diakses 25 September 2022.

https://www.dicoding.com/blog/apa-itu-arduino/ , diakses 25 September 2022.

https://id.wikipedia.org/wiki/Arduino , diakses 25 September 2022.

Anda mungkin juga menyukai