Membuat Game Matematika Sederhana dengan Keypad + LCD

Indobot Academy

Game merupakan hal menarik bagi anak anak, bahkan lebih menarik dari prlajaran. Kali ini kita akan mencoba membuat game matematika sederhana sehingga dapat menarik bagi anak anak.

 

1. Alat / Bahan
  • Arduino IDE                                     Download
  • Library: LiquidCrystal_I2C             Download
  • Library: Keypad                              Download
  • Arduino UNO                                   1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya

Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Gambar Rangkaian Membuat Game Matematika Sederhana dengan Keypad + LCD

Keterangan:

  • 5V – VCC I2C
  • GND – GND I2C
  • SDA – SDA I2C
  • SCL – SCL I2C
  • D2 – R1
  • D3 – R2
  • D4 – R3
  • D5 – R4
  • D6 – C1
  • D7 – C2
  • D8 – C3
  • D9 – C4

 

3. Langkah Kerja
  1. Siapkan alat dan juga bahan yang akan digunakan
  2. kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Ketikkan sketch program pada halaman Arduino IDE
  6. Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
    Mencari Tahu Alamat I2C Pada Modul I2C
  7. Untuk memahami cara kerja program keypad, pelajari materi berikut:
    Membaca Input Keypad 4×4
  8. Lakukan proses uploading program
4. Sketch Program

Dapatkan akses ratusan video tutorial dan juga pembelajaran dengan registrasi melalui tombol di bawah!

 
/* Program Membuat Game Matematika Sederhana dengan Keypad + LCD dibuat oleh Indobot */

#include <Keypad.h>                 //Library keypad
#include <LiquidCrystal_I2C.h>      //Library LCD I2C
LiquidCrystal_I2C lcd(0x27,16,2);   //Masukkan type dan alamat I2C

const byte ROWS = 4;                //Inisialisasi jumlah baris
const byte COLS = 4;                //Inisialisasi jumlah kolom

char Keys[ROWS][COLS] = {           //Map tombol keypad
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};  //Deklarasi pin baris
byte colPins[COLS] = {5, 4, 3, 2};  //Deklarasi pin kolom

Keypad customKeypad = Keypad( makeKeymap(Keys), rowPins, colPins, ROWS, COLS);  //input parameter keypad

char customKey;     //Variabel untuk menampung input keypad
float angka;

void setup() {
  lcd.init ();              //Mulai LCD
  lcd.setBacklight(HIGH);   //Set backlight HIGH
}

void loop() {
  int angka1 = random(0,1000);    //Buat angka random antara 0 - 1000
  int angka2 = random(0,1000);
  int hasil = angka1 + angka2;

  lcd.setCursor(0,0);             //Tampilan LCD
  lcd.print(angka1);      
  lcd.print(" + ");
  lcd.print(angka2);
  lcd.print(" = ");
  
  ulang:
  customKey = customKeypad.getKey();  //Baca input keypad
  
  switch(customKey){                  //Jika
    case '0' ... '9':                 //Nilai 0 - 9, maka
      if(angka <= 9999){
        lcd.setCursor(0,1);
        angka = angka * 10 + (customKey - '0');
        lcd.print(angka, 0);               //Tampilkan angka
      }
    break;

    case '*':                     //Untuk menghapus
      angka = 0;
      lcd.setCursor(0,1);
      lcd.print("          ");
    break;

    case '#':                     //Untuk mengirim
      goto cek;
    break;
  }
  goto ulang;

  cek:
  lcd.clear();
  if(angka == hasil){             //Pengecekan hasil
    lcd.setCursor(0,0);
    lcd.print("     Benar");
    lcd.setCursor(0,1);
    lcd.print("   *|(^.^)|*");
  }
  else{
    lcd.setCursor(0,0);
    lcd.print("     Salah");
    lcd.setCursor(0,1);
    lcd.print("   --(X.X)--");
  }
  angka = 0;
  delay(3000);
  lcd.clear();
}

Kesimpulan:

Ketika memulai game matematika ini, Game akan mulai membuat angka random berupa penjumlahan kemudian kita perlu menjawab penjumlahan tsb. Setelah itu jawaban akan di cek oleh sistem jika jawaban benar LCD akan menampilkan peringatan benar dan salah maka peringatan salah yang akan muncul.

Kamu pemula dan ingin belajar atau bahkanbikin project elektronika dari nol? Ikuti program dari Indobot!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp