• Twitter
  • Facebook
  • Google+
  • Instagram
  • Youtube

Rabu, 08 Maret 2017

4th Project - Calculator with LCD Display and Keypad



Gambar 1. Calculator with LCD Display and Keypad

Hallo selamat malam. Kembali lagi saya akan membagikan hasil proyek Arduino ke empat kami mengenai kalkulator dari LCD dan keypad. Proyek ini menghasilkan sebuah kalkulator yang terbentuk dari rangkaian arduino, LCD, keypad, dan potensiometer. Cara kerja alat ini sama seperti kalkulator pada umumnya, dimana untuk masukan input dengan menekan tombol pada keypad dan ditampilkan pada LCD.
Pada proyek ini kami menggunakan beberapa komponen yaitu sebagai berikut:


Gambar 2. Komponen-komponen yang digunakan

Hallo selamat malam. Kembali lagi saya akan membagikan hasil proyek Arduino ke empat kami mengenai kalkulator dari LCD dan keypad. Proyek ini menghasilkan sebuah kalkulator yang terbentuk dari rangkaian arduino, LCD, keypad, dan potensiometer. Cara kerja alat ini sama seperti kalkulator pada umumnya, dimana untuk masukan input dengan menekan tombol pada keypad dan ditampilkan pada LCD.
Pada proyek ini kami menggunakan beberapa komponen yaitu sebagai berikut:

1. Arduino UNO ATMega328 + Kabel USB
2. LCD 2x16
3. Potensiometer 1 kilo ohm
4. Keypad 4x4
5. Kabel Jumper male-male
6. Breadboard
7. Laptop

Berikut ini merupakan diagram skematik dari proyek ini:


Gambar 3. Diagram skematik

Berikut ini source code yang kami gunakan, yaitu sebagai berikut:

#include <LiquidCrystal.h>
#include <Keypad.h>

//Inisiasi Pin
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const byte ROWS = 4;
const byte COLS = 4;
char keys [ROWS] [COLS] = {
{'1', '2', '3', '+'},
{'4', '5', '6', '-'},
{'7', '8', '9', '*'},
{'C', '0', '=', '/'}
};
byte rowPins[ROWS] = {13, 10, 9, 8};
byte colPins[COLS] = {7, 6, 1, 0};
Keypad myKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
boolean presentValue = false;
boolean next = false;
boolean final = false;
String num1, num2;
float answer;
char op;

void setup()
{
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Kalkulator Sayur");
lcd.setCursor(0,1);
lcd.print(" dari");
delay(5000);
lcd.setCursor(0,0);
lcd.print(" Jampang Team ");
lcd.setCursor(0,1);
lcd.print(" ~~~~~~~~~~ ");
delay(5000);
lcd.clear();
}

void loop(){
char key = myKeypad.getKey();

if (key != NO_KEY && (key=='1' || key=='2' || key=='3' || key=='4' || key=='5' || key=='6' || key=='7' || key=='8' || key=='9' || key= '0'))
{
if (presentValue != true)
{
num1 = num1 + key;
int numLength = num1.length();
lcd.setCursor(15 - numLength, 0); //to adjust one whitespace for operator
lcd.print(num1);
}
else 
{
num2 = num2 + key;
int numLength = num2.length();
lcd.setCursor(15 - numLength, 1);
lcd.print(num2);
final = true;
}
}

else if (presentValue == false && key != NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{
if (presentValue == false)
{
presentValue = true;
op = key;
lcd.setCursor(15,0);
lcd.print(op);
}
}

else if (final == true && key != NO_KEY && key == '='){
if (op == '+'){
answer = num1.toInt() + num2.toInt();
}
else if (op == '-'){
answer = num1.toInt() - num2.toInt();
}
else if (op == '*'){
answer = num1.toInt() * num2.toInt();
}
else if (op == '/'){
answer = num1.toFloat() / num2.toFloat();


lcd.clear();
lcd.setCursor(15,0);
lcd.autoscroll();
lcd.print(answer);
lcd.noAutoscroll();
}
else if (key != NO_KEY && key == 'C'){
lcd.clear();
presentValue = false;
final = false;
num1 = "";
num2 = "";
answer = 0;
op = ' ';
}
}


Sumber: http://playground.arduino.cc/Main/KeypadCalculator (dengan beberapa penyesuaian)

Hasil implementasi selengkapnya dapat dilihat di:
https://youtu.be/BtphYU1WAmu

0 komentar:

Posting Komentar

Contact

Get in touch with me


Adress/Street

23 Street Cisitu Lama I 40135 Indonesia

Phone number

+62 858 6313 9893

E-mail

enden.lukman@yahoo.com