Menghidupkan 7Segmen dengan Input Keypad
1. Hardware [Kembali]
Keypad
Seven Segmen
Arduino Uno
4. Listing Program [Kembali]
a. Multisim / Proteus
#include <Keypad.h> //library
char tombol[4][3] =
{
{'1', '2', '3'},
{'4', '5', '6'}, //inisiasi untuk keypad matriks 4x3
{'7', '8', '9'},
{'*', '0', '#'}
};
byte pinBaris[] = {28, 30, 32, 34}; //inisiasi pin keypad di arduino
byte pinKolom[] = {22, 24, 26}; //inisiasi pin keypad di arduino
Keypad keypad = Keypad(makeKeymap(tombol),
pinBaris, pinKolom, 4, 3); //inisiasi keypad dari library
void setup()
{
pinMode(2, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> a
pinMode(10, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> b
pinMode(4, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> c
pinMode(5, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> d
pinMode(6, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> e
pinMode(7, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> f
pinMode(8, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> g
pinMode(9, OUTPUT); //inisiasi pin 10 sebagai OUTPUT di arduino ==> com
digitalWrite(9, LOW);
}
void loop()
{
char kode = keypad.getKey(); //membaca keypad
if (kode == NO_KEY) //jika tombol tidak di tekan
return;
if (kode == '0') //kondisi awal jika tombol 0 ditekan
{ digitalWrite(2, LOW); //pin 2 menuju a bernilai 1
digitalWrite(10, LOW); //pin 3 menuju b bernilai 1
digitalWrite(4, LOW); //pin 4 menuju c bernilai 1
digitalWrite(5, LOW); //pin 5 menuju d bernilai 1
digitalWrite(6, LOW); //pin 6 menuju e bernilai 1
digitalWrite(7, LOW); //pin 7 menuju f bernilai 1
digitalWrite(8, HIGH); //pin 8 menuju g bernilai 0
}
else if (kode == '1') //kondisi awal jika tombol 1 ditekan
{ digitalWrite(2, HIGH);
digitalWrite(10, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
}
}
Tidak ada komentar:
Posting Komentar