Latihan Perulangan Arduino Dengan Aplikasi Wokwi

Program Arduino dengan Perulangan while untuk Menampilkan Nilai Variabel di LCD

Berdasarkan skema yang Anda berikan, kita akan membuat program Arduino menggunakan perulangan while untuk menampilkan nilai variabel i pada layar LCD. Skema tersebut menunjukkan bahwa:

  • Arduino Nano digunakan sebagai mikrokontroler.
  • LCD 16x2 (LMD044L) terhubung ke pin digital Arduino.
  • Nilai dari variabel i akan ditampilkan pada layar LCD.  

     Pembuatan Program While 1:

     


Berikut adalah langkah-langkah dan kode lengkapnya:


Langkah-Langkah Pembuatan Program:

  1. Pengaturan Pin LCD:

    • LCD 16x2 biasanya terhubung ke pin digital Arduino menggunakan protokol 4-bit atau 8-bit.
    • Dalam contoh ini, asumsikan LCD terhubung menggunakan modus 4-bit , yang lebih umum karena menghemat pin.
  2. Library LCD:

    • Gunakan library LiquidCrystal yang sudah tersedia di Arduino IDE untuk memudahkan pengoperasian LCD.
  3. Perulangan while:

    • Gunakan perulangan while untuk mengubah nilai variabel i dan menampilkan hasilnya pada LCD.
  4. Tampilan pada LCD:

    • Teks yang ditampilkan adalah "nilai dari i = [nilai_i]".

Kode Program Arduino 1:

#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 10, d5 = 9, d6 = 8, d7 = 7;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

int i=0;

void setup() {

lcd.begin(16, 2); //LCD 4x20

while (i<10)

{

lcd.setCursor(0,0);lcd.print("value of i =");

lcd.setCursor(13,0); lcd.println(i); delay(500);

i++;

}

}

void loop() {

// put your main code here, to run repeatedly:

}

Penjelasan Kode:

  1. Library LiquidCrystal:

    • Digunakan untuk mengontrol LCD 16x2. Pastikan library ini telah terinstal di Arduino IDE.
  2. Pengaturan LCD:

    • lcd.begin(16, 2) menginisialisasi LCD dengan ukuran 16 kolom x 2 baris.
    • lcd.setCursor(x, y) digunakan untuk mengatur posisi kursor pada layar LCD. x adalah kolom (0-15), dan y adalah baris (0 atau 1).
  3. Perulangan while:

    • while (i < 10) menjalankan blok kode selama nilai i kurang dari a 10.
    • Setiap iterasi, nilai i ditampilkan pada kolom ke-12 layar LCD (lcd.setCursor(12, 0)).
    • Setelah menampilkan nilai i, i dinkrement dengan i++.

 

Pembuatan Program While 2:

  • Arduino Nano digunakan sebagai mikrokontroler.
  • LCD 16x2 (LMD044L) terhubung ke pin digital Arduino.


Kode Program Arduino 2:

#include <LiquidCrystal.h> // Inisialisasi objek LCD LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // RS, Enable, D4, D5, D6, D7 void setup() { // Inisialisasi komunikasi serial untuk debugging (opsional) Serial.begin(9600); // Inisialisasi LCD lcd.begin(16, 2); // Ukuran LCD 16 kolom x 2 baris // Pesan awal lcd.setCursor(0, 0); // Cursor ke baris pertama, kolom pertama lcd.print("Nilai dari i = "); // Inisialisasi variabel i int i = 0; } void loop() { // Perulangan while untuk menampilkan nilai i while (i <= 4) { // Loop selama i <= 4 // Tampilkan nilai i pada LCD lcd.setCursor(12, 0); // Pindah cursor ke kolom ke-12 (setelah teks "Nilai dari i = ") lcd.print(i); // Delay agar tampilan mudah dibaca delay(1000); // Increment nilai i i++; } // Setelah loop selesai, tampilkan pesan akhir lcd.clear(); // Bersihkan layar LCD lcd.setCursor(0, 0); lcd.print("Selesai!"); delay(2000); // Tahan pesan selama 2 detik // Reset nilai i untuk simulasi ulang (opsional) i = 0; // Delay sebelum simulasi ulang delay(2000); }

Kode Program Arduino 3:

// program kedua bagian kedua
#include <LiquidCrystal.h>

// Inisialisasi objek LCD
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // RS, Enable, D4, D5, D6, D7

void setup() {
  // Inisialisasi komunikasi serial untuk debugging (opsional)
  Serial.begin(9600);

  // Inisialisasi LCD
  lcd.begin(16, 2); // Ukuran LCD 16 kolom x 2 baris

  // Pesan awal
  lcd.setCursor(0, 0); // Cursor ke baris pertama, kolom pertama
  lcd.print("Nilai dari i = ");

  // Inisialisasi variabel i
  int i = 0;
  while (i <= 4) { // Loop selama i <= 4
    // Tampilkan nilai i pada LCD
    lcd.setCursor(14, 0); // Pindah cursor ke kolom ke-12 (setelah teks "Nilai dari i = ")
    lcd.print(i);

    // Delay agar tampilan mudah dibaca
    delay(1000);

    // Increment nilai i
    i++;
  }

  // Setelah loop selesai, tampilkan pesan akhir
  lcd.clear(); // Bersihkan layar LCD
  lcd.setCursor(0, 0);
  lcd.print("Selesai!");
  delay(2000); // Tahan pesan selama 2 detik

  // Reset nilai i untuk simulasi ulang (opsional)
  i = 0;

  // Delay sebelum simulasi ulang
  delay(2000);
}

void loop() {
  // Perulangan while untuk menampilkan nilai i
 
}

Penjelasan Kode:

  1. Library LiquidCrystal:

    • Digunakan untuk mengontrol LCD 16x2. Pastikan library ini telah terinstal di Arduino IDE.
  2. Pengaturan LCD:

    • lcd.begin(16, 2) menginisialisasi LCD dengan ukuran 16 kolom x 2 baris.
    • lcd.setCursor(x, y) digunakan untuk mengatur posisi kursor pada layar LCD. x adalah kolom (0-15), dan y adalah baris (0 atau 1).
  3. Perulangan while:

    • while (i <= 4) menjalankan blok kode selama nilai i kurang dari atau sama dengan 4.
    • Setiap iterasi, nilai i ditampilkan pada kolom ke-12 layar LCD (lcd.setCursor(12, 0)).
    • Setelah menampilkan nilai i, i dinkrement dengan i++.
  4. Delay:

    • delay(1000) digunakan untuk memberikan jeda 1 detik antar iterasi, sehingga pengguna dapat melihat perubahan nilai i dengan jelas.
  5. Pesan Akhir:

    • Setelah loop selesai, layar LCD dibersihkan dengan lcd.clear(), dan pesan "Selesai!" ditampilkan.
  6. Simulasi Ulang:

    • Untuk demonstrasi, nilai i direset menjadi 0 setelah loop selesai, dan ada delay 2 detik sebelum simulasi dimulai lagi.

Skema Koneksi (Asumsi Modus 4-Bit):

Pin LCD
Fungsi
Pin Arduino
RS
Register Select
Digital 7
Enable
Enable
Digital 8
D4
Data 4
Digital 9
D5
Data 5
Digital 10
D6
Data 6
Digital 11
D7
Data 7
Digital 12
VSS
Ground
GND
VDD
Power
5V
VO
Contrast Adjust
Potensiometer (opsional)
RW
Read/Write
GND (untuk mode write saja)


Output pada LCD:

Nilai dari i = 1-4

Catatan Tambahan:

  • Jika Anda ingin mengganti modus LCD (misalnya 8-bit), ubah parameter dalam lcd.begin() sesuai konfigurasi koneksi.
  • Pastikan potensiometer terhubung ke pin VO LCD untuk mengatur kontras layar jika diperlukan.
  • Jika LCD tidak menampilkan apa pun, pastikan koneksi pin dan arah kabel sudah benar.

Kesimpulan:

Program ini menggunakan perulangan while untuk menampilkan nilai variabel i pada LCD secara bertahap. Dengan struktur while, kita dapat mengendalikan alur eksekusi program dengan fleksibel, sesuai dengan kondisi yang diinginkan. Semoga penjelasan dan kode ini membantu! 😊

Selamat belajar dan praktik!
Jika Anda ingin mempelajari lebih lanjut tentang penggunaan array dalam Arduino, silakan tunggu artikel berikutnya hanya di www.sinauprogramming.com .


Tag: #CProgramming #Perulangan #Looping #ControlStatement #ContinueBreak #BelajarPemrograman

0 Comments