fbpx
Logo Kecil Indobot
  • Pelatihan

    Belajar Mandiri

    Paket Elektronika Hebat
    Paket IoT Dasar Lanjutan
    Paket IoT Smart Farming
    Paket IoT Smart Home
    Paket IoT Smart City
    Paket IoT Smart Device
    Paket IoT Smart Monitoring

    Bootcamp

    IoT Master Class
    IoT Engineer Camp

    Kelas Zoom

    Belajar Desain PCB
    Reparasi Elektronika
    AI Computer Vision
    IoT Smart Metering
    IoT Smart City
    Belajar PLC HMI

    Sertifikasi

    Sertifikasi BNSP IoT
    Sertifikasi CertNexus
    Sertifikasi Lainnya
  • Program

    Program

    Afiliasi Komisi Menarik
    Promo Diskon Spesial
    Indobot Virtual Event
    Download Ebook

    Jasa IoT

    Jasa Buat Alat IoT Murah
    Jasa Arduino IoT Terbaik

    Bantuan

    Panduan Dasar
    Rekomendasi Kelas
    Cara Pembayaran

    Kerjasama

    Studi Independen Kemdikbud
    Digitalent PROA Kominfo
    KiDi IoT Antares Telkom
  • Perusahaan

    Tentang Kami

    Indobot Academy adalah salah satu brand yang menyediakan pelatihan dan training IoT dibawah naungan PT Ozami Inti Sinergi. PT Ozami Inti Sinergi adalah Badan Hukum yang berdiri pada dengan Nomor AHU-00802.AH.02.01-Tahun 2016.

    Kontak Kami

    Alamat : Jl. Affandi No 5, Kec. Depok Kab. Sleman, D.I Yogyakarta 55281

    No WA: 085731636408
    Email: office@indobot.co.id

    Daftar Karir

    Internship
    HR Generalist
    SPV Sales
    SPV Marketing
    Pengembang Kurikulum

    Review

    Ribuan orang sudah mereview layanan Indobot Academy.

  • Blog
Indobot Academy
  • Pelatihan
  • Program
  • Perusahaan
  • Blog
Menu
  • Pelatihan
  • Program
  • Perusahaan
  • Blog
Logo Kecil Indobot
Search
Close this search box.
Sertifikasi BNSP IoT Indobot Academy
Home Internet of Things Display

Kalkulator Arduino

Indobot Academy by Indobot Academy
07/09/2021
in Display
Reading Time: 4 mins read
0
Mengontrol Intensitas Cahaya LED dengan Potensiometer
Share on FacebookShare on Twitter

Pada tutorial sebelumnya telah dibahas tentang bagaimana cara menampilkan nilai keypad pada serial monitor di Arduino IDE dan LCD I2C 16×2. Setelah berhasil melakukan pemrograman dasar Arduino dengan keypad, pada tutorial ini akan dibahas tentang membuat kalkulator dengan Arduino. Kalkulator merupakan alat hitung yang sering digunakan oleh orang pada umunya, yang terdiri dari tombol angka 1 hingga 9 dan operator perhitungan seperti operator penjumlahan, pengurangan, perkalian, dan pembagian. Pada postingan sebelumnya telah di bahas tentang cara menampilkan nilai keypad pada serial monitor dan LCD I2C 16×2. Jika belum mencoba dapat menekan tombol berikut.

.[membership level=”0,1,2,4″]

1. Skema Rangkaian

Gambar Skematik Rangkaian Keypad Arduino

2. Wiring Koneksi
  • Pin 1 dari kanan (keypad) -> Pin D3 Arduino
  • Pin 2 dari kanan (keypad)-> Pin D4 Arduino
  • Pin 3 dari kanan (keypad)-> Pin D5 Arduino
  • Pin 4 dari kanan (keypad)-> Pin D6 Arduino
  • Pin 5 dari kanan (keypad)-> Pin D7 Arduino
  • Pin 6 dari kanan (keypad)-> Pin D8 Arduino
  • Pin 7 dari kanan (keypad)-> Pin D9 Arduino
  • Pin 8 dari kanan (keypad)-> Pin D10 Arduino
  • Pin SDA (LCD I2C)-> Pin A4(SDA) Arduino
  • Pin SCL (LCD I2C)-> Pin A5(SCL) Arduino
  • Pin Vcc (LCD I2C)-> Pin 5v Arduino
  • Pin Gnd (LCD I2C)-> Pin Gnd Arduino
3. Alat / Bahan
  • Arduino uno : 1 buah
  • Keypad 4×4 : 1 buah
  • LCD 16×2 : 1 buah
  • Modul I2C LCD : 1 buah
  • Kabel jumper : 12 buah
  • Papan breadboard: 1 buah (optional)

[/membership]

4. Langkah Kerja
  1. Siapkan alat dan bahan yang akan digunakan
  2. Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Unduh  dan masukkan file libray keypad.zip dan LiquidCrystal_I2C.zip, dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Ketikkan sketch program  pada halaman Arduino IDE
  6. Lakukan proses uploading program
  7. Amati tampilan pada LCD I2C 16×2
5. Sketch Program

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

/*

 Program Calculator Arduino

 */

#include <LiquidCrystal_I2C.h>

#include <Keypad.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

const byte ROWS = 4; // Four rows

const byte COLS = 4; // Three columns

// Define the Keymap

char hexaKeys[ROWS][COLS] = {


  {'1', '2', '3', 'A'},

  {'4', '5', '6', 'B'},

  {'7', '8', '9', 'C'},

  {'*', '0', '#', 'D'}

};

byte rowPins[ROWS] = {10, 9, 8, 7};

byte colPins[COLS] = {6, 5, 4, 3};

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS ); //  Create the Keypad

 long Num1,Num2,angka;

 char key,action;

 boolean hasil = false;

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);

lcd.init();                      // initialize the lcd

lcd.init();

// Print a message to the LCD.

lcd.backlight();

lcd.print("Calculator Ard"); //Display a intro message

lcd.setCursor(0, 1);   // set the cursor to column 0, line 1

lcd.print("By: Indobot "); //Display a intro message

delay(2000); //Wait for display to show info

lcd.clear(); //Then clean it

}

void loop() {

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

key = customKeypad.getKey(); //storing pressed key value in a char

if (key!=NO_KEY)

DetectButtons();

if (hasil==true)

Calculatehasil();

Displayhasil();  

}

void DetectButtons()

{

     lcd.clear();

    if (key=='*')

    {Serial.println ("Button Cancel"); angka=Num1=Num2=0; hasil=false;}

     if (key == '1')

    {Serial.println ("Button 1");

    if (angka==0)

    angka=1;

    else

    angka = (angka*10) + 1;

    }

     if (key == '4')

    {Serial.println ("Button 4");

    if (angka==0)

    angka=4;

    else

    angka = (angka*10) + 4;

    }

     if (key == '7')

    {Serial.println ("Button 7");

    if (angka==0)

    angka=7;

    else

    angka = (angka*10) + 7;

    }

    if (key == '0')

    {Serial.println ("Button 0");

    if (angka==0)

    angka=0;

    else

    angka = (angka*10) + 0;

    }

     if (key == '2')

    {Serial.println ("Button 2");

     if (angka==0)

    angka=2;

    else

    angka = (angka*10) + 2;

    }

     if (key == '5')

    {Serial.println ("Button 5");

     if (angka==0)

    angka=5;

    else

    angka = (angka*10) + 5;

    }

     if (key == '8')

    {Serial.println ("Button 8");

     if (angka==0)

    angka=8;

    else

    angka = (angka*10) + 8;

    }  

    if (key == '#')

    {Serial.println ("Button Equal");

    Num2=angka;

    hasil = true;

    }

   

     if (key == '3')

    {Serial.println ("Button 3");

     if (angka==0)

    angka=3;

    else

    angka = (angka*10) + 3;

    }

     if (key == '6')

    {Serial.println ("Button 6");

    if (angka==0)

    angka=6;

    else

    angka = (angka*10) + 6;

    }

     if (key == '9')

    {Serial.println ("Button 9");

    if (angka==0)

    angka=9;

    else

    angka = (angka*10) + 9;

    } 


      if (key == 'A' || key == 'B' || key == 'C' || key == 'D') //Detecting Buttons on Column 4

  {

    Num1 = angka;   

    angka =0;

    if (key == 'A')

    {Serial.println ("Addition"); action = '+';}

     if (key == 'B')

    {Serial.println ("Subtraction"); action = '-'; }

     if (key == 'C')

    {Serial.println ("Multiplication"); action = '*';}

     if (key == 'D')

    {Serial.println ("Devesion"); action = '/';} 

    delay(100);

  }

}

void Calculatehasil()

{

  if (action=='+')

    angka = Num1+Num2;




  if (action=='-')

    angka = Num1-Num2;

  if (action=='*')

    angka = Num1*Num2;

  if (action=='/')

    angka = Num1/Num2;

}

void Displayhasil()

{

  lcd.setCursor(0, 0);  

  lcd.print(Num1); lcd.print(action); lcd.print(Num2);

  if (hasil==true)

  {lcd.print(" ="); lcd.print(angka);}

  lcd.setCursor(0, 1);  

  lcd.print(angka);

}


Kesimpulan :

Program ini akan melakukan proses perhitungan dasar kalkulator dengam operator penjumlahan,pengurangan, perkalian dan pembagian.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

 

 

Webinar Gratis Indobot Academy
Previous Post

Penyetabil Suhu Ruang Tetas Telur dengan DS18B20 berbasis IoT

Next Post

Lampu Otomatis dengan LDR

RelatedPosts

Smart Farming dengan Cloud Computing
Display

Smart Farming dengan Cloud Computing

Smart farming pastinya sudah menjadi hal yang sering didengar ya Fanbot? nah, kali ini Minbot mau kasih tahu kalau cloud...

by Indobot Update
26/05/2023
7
Digitalisasi Smart City Pada Ekonomi E-Commerce
Display

Digitalisasi Smart City Pada Ekonomi E-Commerce

Hai Fanbot! Dalam era digital yang terus berkembang, konsep smart city telah menjadi fokus utama bagi banyak kota di seluruh...

by Indobot Update
17/05/2023
23
5 Framework yang Kerap Digunakan Front-End Developer
Display

5 Framework yang Kerap Digunakan Front-End Developer

5 Framework yang Kerap Digunakan Front-End Developer ini perlu kamu ketahui untuk menjadi expert di bidang IT. Bikin website itu...

by Indobot Update
10/05/2023
16
Nikmati Paket Baru Dari Indobot Premium!
Display

Nikmati Paket Baru Dari Indobot Premium!

Indobot Premium hadir sebagai jawaban kegundahan kalian untuk belajar IoT dengan praktis dan ekonomis! Bersama Indobot Academy, kamu pasti bisa!...

by Indobot Update
08/05/2023
31
Jasa Arduino Internet of Things Bergaransi Kepuasan dan Konsultasi Arduino IoT
Display

Jasa Arduino Internet of Things Bergaransi Kepuasan dan Konsultasi Arduino IoT

Kami Melayani Jasa Arduino dan Proyek IoT Jasa Pembuatan Arduino dan Proyek IoT. Jasa Pembuatan Alat Internet Of Things....

by Indobot Academy
06/04/2023
2.7k
Penggaris Digital Tampilan LCD
Display

Penggaris Digital Dengan Tampilan LCD 16×2

Sensor HC-SR04 dapat digunakan untuk membuat penggaris digital. Penggaris digital dari HC-SR04 akan mengukur jarak kemudian menampilkan hasilnya pada layar...

by Indobot Academy
09/04/2023
3.5k
Next Post
Tutorial Lampu Otomatis (LDR)

Lampu Otomatis dengan LDR

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

sertifikasi iot BNSP

Artikel Populer

  • Aturan Mengambil Gambar

    Aturan Mengambil Gambar dan Cara Mencantumkan Sumbernya

    0 shares
    Share 0 Tweet 0
  • 5 Projek Arduino Sederhana dan Keren yang Mudah Dibuat

    0 shares
    Share 0 Tweet 0
  • Datasheet NodeMCU ESP8266 Lengkap dengan Pin dan Cara Akses

    0 shares
    Share 0 Tweet 0
  • Mengenal ESP32-Cam dan bagaimana cara menggunakannya

    0 shares
    Share 0 Tweet 0
  • Project Blynk IoT Terbaru: Tutorial Pengoperasian Blynk IoT

    0 shares
    Share 0 Tweet 0

Indobot Academy

Visi menjadi perusahaan yang terbaik, terpercaya dan unggul dalam bidang edukasi IoT skill 4.0 bagi mitra dan konsumen.

Kantor Pusat Yogyakarta
Jl. Affandi No 5, Kec. Depok  Kab. Sleman, D.I Yogyakarta 55281

Email: office@indobot.co.id

Pelatihan

  • Belajar Mandiri
  • Kelas Zoom
  • Bootcamp
  • Sertifikasi Profesi
  • Kelas IoT Terbaik
  • Training IoT Terbaik
  • Pelatihan IoT Terbaik
  • Webinar IoT Gratis
  • Indobot Premium

Jasa IoT

  • Jasa Buat Alat IoT Murah
  • Jasa Arduino IoT Terbaik

Belajar Mandiri

  • Paket Elektronika Hebat
  • Paket IoT Dasar Lanjutan
  • Paket IoT Smart Farming
  • Paket IoT Smart Home
  • Paket IoT Smart City
  • Paket IoT Smart Device
  • Paket IoT Smart Monitoring

Kelas Zoom

Bootcamp

  • IoT Master Class
  • IoT Engineer Camp

Sertifikasi

  • Sertifikasi BNSP IoT
  • Sertifikasi CertNexus
  • Sertifikasi Lainnya

Program

  • Afiliasi Komisi Menarik
  • Promo Diskon Spesial
  • Indobot Virtual Event
  • Download Ebook

Perusahaan

  • Tentang Indobot
  • Kontak Kami
  • Daftar Karir
  • Review Pelanggan

Bantuan

  • Panduan Dasar
  • Rekomendasi Kelas
  • Cara Pembayaran

Kerjasama

  • Studi Independen Kemdikbud
  • Digitalent PROA Kominfo
Copyright ©2023 Indobot Academy | PT Ozami Inti Sinergi | Perusahaan Training IoT Terbaik.
  • Syarat dan Ketentuan
  • Kebijakan Privasi
whatsapp
sertifikasi iot BNSP