1.
Keypad + LCD
a. Script Isi Program
#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 8, 9, 10);
char keys[rows][cols] = { //@SIM char[][] keys = new char[][]{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte rowPins[] = { 0, 1, 2, 3 };
byte colPins[] = { 6, 5, 4 };
Keypad keypad = Keypad(rowPins, colPins, sizeOf(rowPins) ,
sizeOf(colPins) );
#define ledPin 13
int count = 0;
char X='a';
int i = 0;
void setup()
{
digitalWrite(ledPin, HIGH);
[Link](9600);
[Link](16, 2);
[Link](keypadEvent);
}
void loop()
{
[Link](0,0);
[Link]("Tekan Tombol");
[Link](i, 1);
[Link]();
char key = [Link]();
if (key != NO_KEY && key!='#')
{
if(X != key)
{
[Link](key);
X = key;
i++;
if (i == 17)
{
[Link]();
i = 0;
}
}
}
}
void keypadEvent(KeypadEvent eKey) {
switch (eKey) {
case '*':
digitalWrite(ledPin, HIGH);
break;
case '#':
digitalWrite(ledPin, LOW);
X = 'a';
break;
case KEY_RELEASED:
[Link]("Key Released");
break;
default:
if (eKey != NO_KEY){
[Link](eKey);
}
}
}
b. Screenshot
- Sebelum Keypad ditekan
- Saat Tombol ‘1’ ditekan
- Saat Tombol ‘2’ ditekan
- Saat Tombol ‘3’ ditekan
- Saat Tombol ‘4’ ditekan
- Saat Tombol ‘5’ ditekan
- Saat Tombol ‘6’ ditekan
- Saat Tombol ‘7’ ditekan
- Saat Tombol ‘8’ ditekan
- Saat Tombol ‘9’ ditekan
- Saat Tombol ‘*’ ditekan
- Saat Tombol ‘0’ ditekan
- Saat Tombol ‘#’ ditekan
(Catatan = Tombol ‘#’
tidak muncul pada LCD
ketika ditekan karena
diprogram demikian,
dimana tombol ‘#’
berguna agar LCD dapat
menampilkan karakter
pada keypad ketika
tombol karakter yang
ditekan merupakan
tombol yang sama dengan
yang ditekan sebelumnya,
misal = ‘11’ maka pada
keypad ditekan ‘1’ , ‘#‘ ,
‘1’ )
2. Screensaver
a. Script Isi Program
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 2, 3, 4, 5) ;
void setup() {
[Link](16, 2);
}
void loop() {
[Link](0, 0);
[Link]("L");
[Link](0, 1);
[Link](">");
delay(500);
[Link](1, 0);
[Link]("O");
[Link](1, 1);
[Link](">");
delay(500);
[Link](2, 0);
[Link]("A");
[Link](2, 1);
[Link](">");
delay(500);
[Link](3, 0);
[Link]("D");
[Link](3, 1);
[Link](">");
delay(500);
[Link](4, 0);
[Link]("I");
[Link](4, 1);
[Link](">");
delay(500);
[Link](5, 0);
[Link]("N");
[Link](5, 1);
[Link](">");
delay(500);
[Link](6, 0);
[Link]("G");
[Link](6, 1);
[Link](">");
delay(500);
[Link](7, 0);
[Link](".");
[Link](7, 1);
[Link](">");
delay(500);
[Link](8, 0);
[Link](" ");
[Link](8, 1);
[Link](">");
delay(500);
[Link](9, 0);
[Link](".");
[Link](9, 1);
[Link](">");
delay(500);
[Link](10, 0);
[Link](" ");
[Link](10, 1);
[Link](">");
delay(500);
[Link](11, 0);
[Link](".");
[Link](11, 1);
[Link](">");
delay(500);
[Link](12, 0);
[Link](" ");
[Link](12, 1);
[Link](">");
delay(500);
[Link](13, 0);
[Link](".");
[Link](13, 1);
[Link](">");
delay(500);
[Link](14, 0);
[Link](" ");
[Link](14, 1);
[Link](">");
delay(500);
[Link](15, 0);
[Link](".");
[Link](15, 1);
[Link](">");
delay(500);
[Link]();
for(int i=0;i <= 15;i++){
[Link](i, 0);
[Link]("( '_' )");
delay(500);
[Link]();
}
for(int i=15;i >= 0;i--){
[Link](i, 1);
[Link]("( '_' )");
delay(500);
[Link]();
}
for(int i=0;i <= 10;i++){
[Link](i, 0);
[Link]("(^o^)/");
[Link](15 - i, 1);
[Link]("`(^O^)/");
delay(500);
[Link]();
}
for(int i=0;i <= 15;i++){
[Link](i, 0);
[Link]("o(^V^)o");
[Link](i, 1);
[Link]("o(^V^)o");
delay(500);
[Link]();
}
for(int i=15;i >= 0;i--){
[Link](i, 0);
[Link]("`(*^o^*)");
[Link](i, 1);
[Link]("(*^o^*)'");
delay(500);
[Link]();
}
[Link](0, 1);
[Link]("(^_^)// \\\\(^-^)");
delay(2500);
[Link]();
[Link](0, 1);
[Link]("`(^U^)//(T_T)");
delay(2500);
[Link]();
for(int i=3;i <= 15;i++){
[Link](i, 0);
[Link]("`('o ' )/ ");
[Link](15 - i, 1);
[Link]("`(T^T)/");
delay(500);
[Link]();
}
for(int i=0;i <= 15;i++){
[Link](i, 0);
[Link](">");
[Link](15 - i, 1);
[Link]("<");
delay(500);
}
[Link]();
}
b. Screenshot
- Tampilan pada detik ke 1
- Tampilan pada detik ke 5
- Tampilan pada detik ke 10
- Tampilan pada detik ke 15
- Tampilan pada detik ke 20
- Tampilan pada detik ke 25
- Tampilan pada detik ke 30
- Tampilan pada detik ke 35
- Tampilan pada detik ke 40
- Tampilan pada detik ke 45
- Tampilan pada detik ke 50
- Tampilan pada detik ke 55
- Tampilan pada detik ke 60
- Tampilan pada detik ke 65