Membuat counter dengan seven segment dan tombol menggunakan Arduino Uno adalah proyek sederhana. Seven segment akan digunakan untuk menampilkan angka, dan tombol digunakan untuk menaikkan, menurunkan, atau mereset angka.
Komponen yang Diperlukan:
- Arduino Uno
- Modul seven segment (TM1637 atau manual 4-digit 7-segment)
- Tombol push-button (3 buah)
- Resistor 10kΩ (3 buah untuk pull-down)
- Kabel jumper
- Breadboard
- CLK → Pin 2 (Arduino)
- DIO → Pin 3 (Arduino)
- VCC → 5V (Arduino)
- GND → GND (Arduino)
- Tombol 1 (Count Up) → Pin 4 (Arduino) dengan resistor pull-down 10kΩ
- Tombol 2 (Count Down) → Pin 5 (Arduino) dengan resistor pull-down 10kΩ
- Tombol 3 (Reset) → Pin 6 (Arduino) dengan resistor pull-down 10kΩ
#include <TM1637Display.h>
// Pin TM1637
#define CLK 2
#define DIO 3
// Tombol
#define BUTTON_UP 4
#define BUTTON_DOWN 5
#define BUTTON_RESET 6
// Inisialisasi TM1637
TM1637Display display(CLK, DIO);
// Variabel counter
int counter = 0;
void setup() {
// Inisialisasi tombol sebagai input
pinMode(BUTTON_UP, INPUT_PULLUP);
pinMode(BUTTON_DOWN, INPUT_PULLUP);
pinMode(BUTTON_RESET, INPUT_PULLUP);
// Inisialisasi display
display.setBrightness(0x0F);
display.showNumberDec(counter);
}
void loop() {
// Tombol Count Up
if (digitalRead(BUTTON_UP) == LOW) {
delay(200); // Debounce
counter++;
if (counter > 9999) counter = 0; // Batas angka maksimal
display.showNumberDec(counter);
}
// Tombol Count Down
if (digitalRead(BUTTON_DOWN) == LOW) {
delay(200); // Debounce
counter--;
if (counter < 0) counter = 9999; // Batas angka minimal
display.showNumberDec(counter);
}
// Tombol Reset
if (digitalRead(BUTTON_RESET) == LOW) {
delay(200); // Debounce
counter = 0;
display.showNumberDec(counter);
}
}
Cara kerjanya yaitu ada 3 buah fungsi tombol. pertama untuk menambah angka dan kedua untuk mengurangi angka, dan ketiga untuk merestart angka yang telah ada