2nd Project : Counter Sederhana Menggunakan Seven Segment dan Push Button

Pada proyek 2 kali ini, tugas yang diberikan adalah membuat counter sederhana dengan memanfaatkan seven segment dan push button pada Arduino Uno. Output yang diharapkan dari rangkaian ini adalah sebuah counter angka 0-9 dimana ketika push button ditekan maka counter akan bertambah 1 angka. Adapun komponen yang dibutuhkan adalah sebagai berikut.

  1. Arduino Uno
  2. Breadboard
  3. Seven Segment
  4. Push Button
  5. Resistor
  6. Kabel Jumper
  7. Kabel USB

Adapun skema rangkaian yang digunakan adalah seperti pada gambar di bawah ini.

hasil

Perlu diketahui konfigurasi PIN pada Seven Segment seperti gambar berikut ini.

Sevensegment.jpg

Keterangan skema rangkaian :

  • Arduino PIN 2 terhubung dengan PIN 7 Seven Segment
  • Arduino PIN 3 terhubung dengan PIN 6 Seven Segment
  • Arduino PIN 4 terhubung dengan PIN 4 Seven Segment
  • Arduino PIN 5 terhubung dengan PIN 2 Seven Segment
  • Arduino PIN 3 terhubung dengan PIN 6 Seven Segment
  • Arduino PIN 6 terhubung dengan PIN 1 Seven Segment
  • Arduino PIN 8 terhubung dengan PIN 9 Seven Segment
  • Arduino PIN 9 terhubung dengan PIN 10 Seven Segment
  • Seven Segment PIN 3 dan PIN 8 terhubung dengan resistor dan dihubungkan dengan jumper menuju PIN GND Arduino
  • Arduino PIN 13 terhubung dengan push button
  • PIN Arduino 5V terhubung dengan kutub positif breadboard dan terhubung secara seri dengan push button
  • PIN Arduino GND terhubung dengan kutub negatif di Breadboard dan terhubung secara seri dengan resistor dan push button

Berikut ini merupakan hasil implementasi rangkaian.

IMG_20170211_071111.jpg

Dalam proyek ini program yang digunakan adalah sebagai berikut.

int a = 2;  //For displaying segment “a”
int b = 3;  //For displaying segment “b”
int c = 4;  //For displaying segment “c”
int d = 5;  //For displaying segment “d”
int e = 6;  //For displaying segment “e”
int f = 8;  //For displaying segment “f”
int g = 9;  //For displaying segment “g”
int PinSaklar = 13;
int SaklarState =0;
int LastState =0;
int counter =0;

void setup() {
pinMode(a, OUTPUT);  //A
pinMode(b, OUTPUT);  //B
pinMode(c, OUTPUT);  //C
pinMode(d, OUTPUT);  //D
pinMode(e, OUTPUT);  //E
pinMode(f, OUTPUT);  //F
pinMode(g, OUTPUT);  //G
pinMode(PinSaklar, INPUT);
Serial.begin(9600);
}

void displayDigit(int digit)
{
//Conditions for displaying segment a
if(digit!=1 && digit != 4)
digitalWrite(a,HIGH);

//Conditions for displaying segment b
if(digit != 5 && digit != 6)
digitalWrite(b,HIGH);

//Conditions for displaying segment c
if(digit !=2)
digitalWrite(c,HIGH);

//Conditions for displaying segment d
if(digit != 1 && digit !=4 && digit !=7)
digitalWrite(d,HIGH);

//Conditions for displaying segment e
if(digit == 2 || digit ==6 || digit == 8 || digit==0)
digitalWrite(e,HIGH);

//Conditions for displaying segment f
if(digit != 1 && digit !=2 && digit!=3 && digit !=7)
digitalWrite(f,HIGH);
if (digit!=0 && digit!=1 && digit !=7)
digitalWrite(g,HIGH);

}
void turnOff()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void loop() {
SaklarState = digitalRead(PinSaklar);

//Detecting button press and getting the button status
//Do this for the button up
if (SaklarState != LastState)
{
if (SaklarState == HIGH)
{
turnOff();
//Reset the counter to -1
if(counter == 9)
{
counter = -1;
}
//Increase the counter by 1
counter++;
//Print the counter to the console and calling the function
Serial.println(counter);
displayDigit(counter);
//Delaying by 250 ms
delay(250);
}
else
{
Serial.println(“OFF”);
}
//Delay to avoid button bouncing
delay(50);
}

}

Sumber

Berikut ini merupakan hasil yang kami dapatkan. Dari video tersebut dapat dilihat counter sudah bekerja sesuai yang diharapkan.

Sebelum mendapatkan hasil tersebut. Ada beberapa hambatan yang kami alami. Antara lain hambatan yang kami hadapi adalah sebagai berikut.

  1. Seven segment tidak menyala. Hal ini dikarenakan kesalahan rangkaian maupun pemasangan komponen yang belum sempurna.
  2. Seven Segment menyala tapi tidak menunjukkan angka yang sesuia. Hal ini karena program yang digunakan masih kurang tepat.
  3. Seven Segment menyal tapi tidak dapat dikontrol oleh push button. Hal ini karena kesalahan dalam pemasangan PIN push button dan konfiguran yanga da pada program.

Proyek ini dibuat oleh

Arsi Amallah Binhaq (18214013)
Santo Wijaya (18214028)
Dzaky El Fikri (18214038)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s