Laporan Praktikum Blink LED ESP 8266 MOD menggunakan Push Button
Disusun oleh : Tar. Raditya Damaris W.
DIV - TNU 31
A. Ringkasan
Praktikum ini bertujuan untuk mengenal dasar penggunaan mikrokontroler ESP8266MOD melalui implementasi program sederhana yaitu menyalakan dan mematikan LED (Blink LED) secara berkala. Dengan memanfaatkan fitur
pemrograman berbasis Arduino IDE, praktikum ini memberikan pengalaman dalam pengaturan pin GPIO serta pemahaman koneksi antara hardware dan softwre.
Program dikembangkan menggunakan bahasa C++ dengan library ESP8266. LED dihubungkan pada salah satu pin digital dan dikendalikan oleh program. LED akan menyala dan mati secara bergantian dengan selang waktu 1 detik. Praktikum ini menjadi pondasi bagi eksperimen lanjutan di bidang Internet of Things (IoT).
B. Tujuan
Praktikum ini bertujuan untuk memahami cara mengendalikan LED menggunakan mikrokontroler ESP8266MOD dan pushbutton. Dengan menerapkan konsep input digital, pengguna dapat belajar bagaimana mengaktifkan dan mematikan LED berdasarkan aksi dari tombol yang ditekan.
C. Daftar Alat & Bahan
ESP8266 LED 5mm Pushbutton
Resistor 220 Ohm Kabel Jumper USB TO TTL Converter
D. Penjelasan Pin ESP 8266 MOD
ESP8266MOD memiliki berbagai GPIO yang dapat digunakan untuk input dan output.
Pin utama yang digunakan dalam praktikum ini adalah:
- GPIO2(Kontrol LED)
Fungsi: Digunakan sebagai output untuk mengontrol LED.
Mode: Dapat dikonfigurasi sebagai output digital.
Kondisi saat boot: HIGH saat booting, sehingga perlu diperhatikan jika digunakan untuk LED.
Catatan: Jika digunakan untuk LED, pastikan ada resistor untuk membatasi arus.
- GPIO0(Input Pushbutton)
Fungsi: Digunakan sebagai input untuk membaca status pushbutton.
Mode: Dapat dikonfigurasi sebagai input digital.
Kondisi saat boot: LOW saat booting, dan berperan dalam mode pemrograman (Flash Mode).
Catatan: Disarankan menggunakan resistor pull-down 10kΩ untuk memastikan pembacaan stabil.
- VCC dan GND(Sumber Daya)
VCC: Menyediakan tegangan 3.3V untuk ESP8266MOD.
GND: Ground atau referensi tegangan 0V.
Catatan: ESP8266MOD tidak mendukung tegangan 5V, sehingga perlu regulator jika menggunakan sumber daya lebih tinggi.
- TX dan RX(Komunikasi Serial)
TX (Transmit): Mengirim data ke perangkat lain, seperti komputer atau mikrokontroler lain.
RX (Receive): Menerima data dari perangkat lain.
Catatan: Digunakan untuk upload program ke ESP8266MOD melalui komunikasi serial.
E. Rangkaian Hardware
1)LED terhubung ke GPIO2 melalui resistor 220Ω.
2)Pushbutton terhubung ke GPIO0 dengan resistor pull-down 10kΩ.
3)ESP8266MOD mendapatkan daya dari VCC (3.3V) dan GND.
4)Koneksi serial melalui TX dan RX ke komputer untuk pemrograman.
F. Program dan Penjelasan
KODE:
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
}
// the loop function runs over and over again forever void loop() {
digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level
// but actually the LED is on; this is because // it is active low on the ESP-01)
delay(1000); // Wait for a second
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGHdelay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
PENJELASAN KODE:
1) Fungsi setup()
pinMode(LED_BUILTIN, OUTPUT); → Mengatur pin LED_BUILTIN sebagai output agar bisa dikontrol oleh program.
LED_BUILTIN adalah alias untuk GPIO yang digunakan oleh LED internal pada ESP8266. Pada beberapa varian, GPIO ini bisa berbeda, namun biasanya berada di GPIO2 atau GPIO16.
2) Fungsi loop()
digitalWrite(LED_BUILTIN, LOW); → Menyalakan LED. Pada ESP-01, logika LED bersifatactive low, yang berarti nilai LOW akan menyalakan LED.
delay(1000); → Menunggu selama 1000 milidetik (1 detik) sebelum mengubah status LED.
digitalWrite(LED_BUILTIN, HIGH); → Mematikan LED dengan mengatur tegangan HIGH.
delay(2000); → Menunggu 2000 milidetik (2 detik) sebelum kembali menyalakan LED.