You are on page 1of 6

Mikrokontroller

Dodit Suprianto

Pertemuan 4

Perobaan 1: Kontrol LED

Buatlah rancangan berikut dengan aplikasi Fritzing, kemudian implementasikan ke kondisi nyata
dengan project board, LED< dan ain-lain.

Buka aplikasi Arduino IDE, kemudian buat sketch baru dengan shortcut Ctrl+N atau melalui
menu berikut:

Lakukan pengaturan board target pada system Arduino IDE, dalam hal ini kita menggunakan
board NodeMCU dengan cara berikut ini: Menu Tools > Board > esp8266 > NodeMCU 1.0 (ESP-
12E Module):
Perhatikan referensi alamat pin NodeMCU dari link berikut:
https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/. Dimana yang menjadi
alamat pin yang digunakan adalah berdasarkan GPIO-nya:

Tuliskan kode program berikut pada sketch baru tersebut pada Arduino IDE:

/***************************
Program belum saya uji
****************************/

/*************************
Konstantan variabel
**************************/
#define pinled1 5
#define pinled2 4
#define pinled3 0
#define pinled4 2
#define pinled5 14
#define pinled6 12
#define pinled7 13

/**************************************
Variabel array untuk alamat pin
agar lebih sederhana untuk dikelola
***************************************/
int led[7] = { pinled1, pinled2, pinled3, pinled4, pinled5, pinled6, pinled7
};

void setup() {
// Setting serial monitor
Serial.begin(115200);
Serial.println("Hello world!");
Serial.println("Microkontroller");

/*************************
Penentuan Mode Pin
**************************/
pinMode(pinled1, OUTPUT);
pinMode(pinled2, OUTPUT);
pinMode(pinled3, OUTPUT);
pinMode(pinled4, OUTPUT);
pinMode(pinled5, OUTPUT);
pinMode(pinled6, OUTPUT);
pinMode(pinled7, OUTPUT);
}

void loop() {
/*******************************
Pemanggilan Method/Function
********************************/
// Pilih salah satu dari method ini untuk mengujinya
animasiKiriKanan();
//animasiKiriKananCaraBarbar();
}

/****************************************************
Membuat animasi LED hidup dari kiri ke kanan
dengan cara perulangan sehingga lebih sederhana
*****************************************************/
void animasiKiriKanan() {
for (int i = 0; i < 7; i++) {
matikanSemuaLED();
digitalWrite(led[i], HIGH);
Serial.println("LED No: " + String(i) + " hidup");
Serial.println("-----------------------------");
delay(200);
}
}

/************************************
Method untuk mematikan semua LED
*************************************/
void matikanSemuaLED() {
for (int i = 0; i < 7; i++) {
digitalWrite(led[i], LOW);
}
}

/****************************************************
Membuat animasi LED hidup dari kiri ke kanan
dengan cara yang kurang efektif
*****************************************************/
void animasiKiriKananCaraBarbar() {
matikanSemuaLEDCaraBarbar();
digitalWrite(pinled1, HIGH);
delay(200);
Serial.println("LED No: 1");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled2, HIGH);
delay(200);
Serial.println("LED No: 2");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled3, HIGH);
delay(200);
Serial.println("LED No: 3");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled4, HIGH);
delay(200);
Serial.println("LED No: 4");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled5, HIGH);
delay(200);
Serial.println("LED No: 5");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled6, HIGH);
delay(200);
Serial.println("LED No: 6");
Serial.println("-----------");

matikanSemuaLEDCaraBarbar();
digitalWrite(pinled7, HIGH);
delay(200);
Serial.println("LED No: 7");
Serial.println("-----------");
}

void matikanSemuaLEDCaraBarbar() {
digitalWrite(pinled1, LOW);
digitalWrite(pinled2, LOW);
digitalWrite(pinled3, LOW);
digitalWrite(pinled4, LOW);
digitalWrite(pinled5, LOW);
digitalWrite(pinled6, LOW);
digitalWrite(pinled7, LOW);
}

Untuk mengecek sintaks


kode program apakah
sudah benar SEKALIGUS
ME-WRITE KODE
PROGRAM KE CHIPSET

Board yang
menjadi target

Untuk mengecek
sintaks kode program
apakah sudah benar
Jika tidak ada kesalahan sintaks kode program, maka tampilan di bawahnya kurang lebih akan
seperti ini:

Tugas:

1. Berdasarkan project sebelumnya, tambahkan method animasi LED berikut:


a. LED hidup satu-persatu dari kanan ke kiri (lawan dari projek sebelumnya)
b. LED hidup dimulai dari tengah, kemudian menyamping ke kiri dan kanan secara
bersamaan.
c. LED hidup dari tepi kiri dan tepi kanan secara bersamaan menuju ke tengah.
2. Buat laporan pengerjaannya, termasuk gambar fritzing di atas, kode program dan hasil
foto projek yang dibuat.
3. Tugas dikumpulkan di google classroom.

You might also like