Jumat, 23 Mei 2025

MEMBUAT PROGRAM ARDUINO COUNTER UP SEVEN SEGMEN DENGAN WOKWI

 

PRAKTIKUM PERCOBAAN
MEMBUAT PROGRAM ARDUINO COUNTER UP
SEVEN SEGMEN DENGAN WOKWI
By. Iyon Manakarra // Mekatronika manakarra

 

A.     TUGAS

Buat modul (lanjutkan materi counter 7 segmen. Setiap tombol ditekan terjadi counter up 7 segmen)

 

B.     TEORI DASAR

Program COUNTER pada seven segment ini berfungsi untuk menghitung angka dari 0 hingga 9 setiap kali tombol ditekan. Program ini menggunakan mikrokontroler untuk membaca input dari tombol dan mengontrol tampilan angka pada seven segment. Setiap kali tombol ditekan, nilai counter akan bertambah satu dan ditampilkan di seven segment. Jika nilai counter mencapai 9 dan tombol ditekan kembali, maka counter akan kembali ke 0.

Arduino Uno berfungsi sebagai kontrol utama dalam program counter up ini dengan membaca input dari tombol dan mengontrol tampilan angka pada seven segment common anode. Saat tombol ditekan, Arduino mendeteksi perubahan sinyal melalui pin input yang telah dikonfigurasi dengan pull-up resistor. Program menggunakan logika debounce untuk memastikan tombol hanya terbaca sekali per tekan, mencegah kesalahan akibat getaran mekanis. Setelah membaca input, Arduino memperbarui nilai counter dan mengaktifkan segmen yang sesuai dengan angka yang diinginkan. Dengan penggunaan tabel lookup, Arduino dapat dengan mudah mengontrol kombinasi segmen untuk menampilkan angka dari 0 hingga 9 secara berurutan.

Arduino Uno - Wikipedia bahasa Indonesia, ensiklopedia bebas

Gambar 1. Arduino Uno

Seven Segment yang digunakan dalam percobaan ini adalah Seven Segment Common Anode adalah jenis tampilan digital yang memiliki terminal anoda (positif) bersama untuk semua segmennya, sementara setiap segmen individu dikontrol melalui terminal katoda (negatif). Dalam konfigurasi ini, segmen akan menyala ketika diberikan sinyal rendah (LOW) pada pin kontrolnya, karena arus akan mengalir dari anoda bersama ke katoda yang diaktifkan. Seven Segment Common Anode sering digunakan dalam berbagai aplikasi elektronik seperti penghitung digital, jam, dan tampilan numerik karena kompatibilitasnya dengan berbagai rangkaian driver dan mikrokontroler.

Gambar 2. Seven Segment Common Anoda

 

Tabel kebenaran Seven Segment Common Anoda :

 

Push botton atau tombol yang digunakan dalam percobaan ini adalah  Push button aktif LOW adalah jenis tombol yang ketika ditekan akan menghubungkan pin input ke ground (GND), menghasilkan sinyal rendah (LOW) pada mikrokontroler. Dalam keadaan normal (tidak ditekan), tombol terhubung ke tegangan tinggi (HIGH) melalui resistor pull-up internal atau eksternal, sehingga menghindari kondisi floating yang dapat menyebabkan pembacaan tidak stabil. Konfigurasi ini umum digunakan dalam desain elektronik karena lebih andal dalam mencegah gangguan listrik (noise) dibandingkan dengan push button aktif HIGH. Mikrokontroler dapat mendeteksi perubahan status tombol dengan membaca transisi dari HIGH ke LOW, yang sering dikombinasikan dengan teknik debounce untuk memastikan pembacaan yang akurat.

 

             √Antarmuka tombol push button menggunakan arduino - Andalan Elektro            

Gamabar 3. Tombol atau Push Button

 

Tabel Kebenaran Tombol

Step

Kondisi Tombol

Output Data

1

Di Lepas

HIGH (1)

2

Di Tekan

LOW (0)

 

 

C.     ALAT DAN BAHAN

1)     Laptop / Komputer

2)     WOKWI ARDUINO dan ESP Simulator

Link : https://wokwi.com/

3)     Arduino IDE.

4)     Komponen elektronika :

-        Arduino Uno (1)

-        Tombol (1)

-        Resistor 220 Ohm (7)

-        Resistor 10 KOhm (1)

 

D.    RANGKAIAN SKEMATICH

Rangkaian Skematich Counter UP 0-9

 

 

E.     KONFIGURASI PIN I/O

KOMPONEN

PIN KOMPONEN

PIN ARDUINO

KETERANGAN

Seven Segment

Com. Anoda

 

A

D7

OUTPUT

B

D8

OUTPUT

C

D9

OUTPUT

D

D10

OUTPUT

E

D11

OUTPUT

F

D12

OUTPUT

G

D13

OUTPUT

Push Button

Aktif LOW

NO

D2

INPUT

 

F.     ALGORITMA PROGRAM - FLOWCHART

G.    KODE SKETCH PROGRAM

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

//  Nama Program  : Counter Up seven Segment
//  By : Wiyono | NIM :240020301086
//=================================================
 
const int segmentPins[7] = {7,8,9,10,11,12,13};
int pushbuttonPin = 2;
int pushbutton = 1;
int lastpushbutton = 1;
int counter=0;
 
void setup() {
  for(int i=0; i < 7; i++)
  {
    pinMode(segmentPins[i], OUTPUT);
  }
    pinMode(pushbuttonPin, INPUT);
    Tampil_angka(0);
}
 
void loop() {
  pushbutton = digitalRead(pushbuttonPin);
  if (pushbutton == 0 && lastpushbutton == 1) {
    delay(50);  
    counter++;
    if(counter>9){counter=0;delay(50);}
    Tampil_angka(counter);
  }
  lastpushbutton=pushbutton;
  delay(50);
}
 
void digit(int a, int b,int c, int d, int e, int f, int g){
  digitalWrite(7,a);digitalWrite(8,b);digitalWrite(9,c);
  digitalWrite(10,d);digitalWrite(11,e);digitalWrite(12,f);
  digitalWrite(13,g);
}
 
void Tampil_angka(int angka){
    if (angka==0){digit(0, 0, 0, 0, 0, 0, 1);}
    if (angka==1){digit(1, 0, 0, 1, 1, 1, 1);}
    if (angka==2){digit(0, 0, 1, 0, 0, 1, 0);}
    if (angka==3){digit(0, 0, 0, 0, 1, 1, 0);}
    if (angka==4){digit(1, 0, 0, 1, 1, 0, 0);}
    if (angka==5){digit(0, 1, 0, 0, 1, 0, 0);}
    if (angka==6){digit(0, 1, 0, 0, 0, 0, 0);}
    if (angka==7){digit(0, 0, 0, 1, 1, 1, 1);}
    if (angka==8){digit(0, 0, 0, 0, 0, 0, 0);}
    if (angka==9){digit(0, 0, 0, 0, 1, 0, 0);}
}
 

H.    PENJELASAN SKETCH PROGRAM

Penjelasan dari setiap baris instuksi berdasarkan program counter up seven segment adalah sebagai berikut :

Baris No. 1 – 3

-        Komentar deskripsi dari judul tugas

Baris No. 4 – 9

-        Deklarasi pin arduino ke pin seven segment

-        Deklarasi pin arduino ke pin push  button

Baris No. 11-18

-        Setup Pin seven segment = Output

-        Setup pin ke push button = Input

-        Menampilakan nilai awal seven segment Angka 0

Baris No. 20-30

-        Program Looping

-        Membaca Kondisi push botton

-        Jika push button ditekan maka debounce 50ms, counter + 1, jika counter lebih dari 9 maka reset ke 0, Tampilkan data counter ke seven segmnet

-        Kondisi variable lastbutton = kondis push button

-        Tunda 50 ms, kemudian looping ke baris 20

Baris No. 32-36

-        Program sub mengkatifkan pin digit seven segmnet

-        Mengaktifkan output pin ke seven segment sesuai data pada variable yaitu 0 atau 1

Baris No. 38-49

-        Program sub menampilkan angka

-        Berdasarna nilai angka maka akan memanggil sub digit untuk menyalakan seven segment sesuai data variable angka 0-9

 

SIMULASI :



Counter Up Seven Segment

by. Mekatronika Manakarra