1. Implementasi
Seven Segment dan Keypad Membran dengan Mikrocontroller Arduino UNO R3
1.1
Teori
Kali
ini penulis mencoba untuk menggabungkan fungsi seven segment dengan keypad,
saat tombol keypad ditekan makan angka yang ditekan pada keypad akan muncul
pada LED Seven Segment.
1.2
Percobaan
Pada percobaan ini,
penulis menggunan Seven Segment Anoda, jadi jangan salah ya, jangan sampai
tertukar dengan Katoda!
Bahan-bahan :
1. Protoboard
2. 1
buah LED Seven Segment (ANODA)
3. Keypad
Membran 3x4
4. Kabel
jumper
5. Arduino
UNO R3
Langkah-langkah :
1. Hubungkan
pin-pin pada Keypad 3x4 pada pin 2-8 pada Arduino UNO R3
2. Masukkan
seven segment pada protoboard dan hubungkan pinA sampai pinG pada seven segment
dengan pin pada arduino dengan urutan sebagai berikut :
int pinA = 9;
int pinB = 10;
int pinC = 11;
int pinD = 12;
int pinF = A0;
int pinG = A1;
3. Jangan
lupa hubungkan pin VCC pada seven segment ke arus (+) pada protoboard
4. Jangan
lupa ya hubungkan rangkaian pada protoboard ke arduino melalui pin GND dan VCC
5. Jalankan
program dengan memnghubungkan Arduino UNO R3 ke PC atau laptop menggunakan
Kabel Serial, lalu upload source code.
Untuk lebih jelasnya, rangkaian nya seperti dibawah ini :
Untuk lebih jelasnya, rangkaian nya seperti dibawah ini :
1.2
Program
//pastikan library keypad telah ada
pada arduino ya
#include
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS]= {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'},
};
byte rowPins[ROWS]={2,3,4,5};
byte colPins[COLS]={6,7,8};
Keypad keypad = Keypad (
makeKeymap(keys), rowPins, colPins, ROWS, COLS);
int pinA = 9;
int pinB = 10;
int pinC = 11;
int pinD = 12;
int pinE = 13;
int pinF = A0;
int pinG = A1;
void setup() {
// initialize digital pin 13 as an output.
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
char key = keypad.getKey();
switch(key){
case '0':
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);break;
case '1':
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);break;
case '2':
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);break;
case '3':
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);break;
case '4':
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);break;
case '5':
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);break;
case '6':
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);break;
case '7' :
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);break;
case '8' :
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);break;
case '9' :
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);break;
char key = keypad.getKey();
}
}
Mudah bukan! Selamat Mencoba :)