Bismillahirrahmanirrahim, Assalamu’alaikum Warahmatullahi Wabarakaatuh
Hai Sobat IOTkece, Bagaimana kabarnya ? Luar Biasa Bukan…. kali ini kita akan belajar cara membuat counter dengan menggunakan Seven Segment 4 DIgit. Kita akan menggunakan 3 tombol, yaitu tombol untuk up counter, down counter, dan juga tombol reset
Dibawah ini adalah penampakan dari Seven Segment 4 DIgit yang akan kita gunakan pada tutorial kali ini
Jika sobat belum pernah menggunakan seven segment 4 digit, saya sarankan untuk membaca tutorial dibawah ini terlebih dahulu
Baca Juga : Cara Mudah Mengakses Seven Segment 4 Digit
Langsung saja kita menuju ke tutorialnya
Counter Seven Segment 4 Digit
1. Persiapkan Alat dan Bahan
- Arduino UNO
- Seven Segment 4 Digit Arduino
- Push Button 3 Buah
- Kabel Jumper
- USB Transfer Arduino
- Komputer / Laptop yang sudah terinstal Arduino IDE, jika belum menginstal Arduino IDE klik disini
2. Wiring
Rangkai Seperti gambar dibawah ini
- Pin 1 ( Pin E) -> Pin 6
- Pin 2 (Pin D) -> Pin 7
- Pin 3 (Pin Desimal /Titik)
- Pin 4 (Pin C) -> Pin 8
- Pin 5 (Pin G) -> Pin 9
- Pin 6 (Pin Digit 4) -> Pin 4
- Pin 7 (Pin B) -> Pin 10
- Pin 8 (Pin Digit 3) -> Pin 3
- Pin 9 (Pin Digit 2) -> Pin 2
- Pin 10 (Pin F) -> Pin 11
- Pin 11 (Pin A) -> Pin 12
- Pin 12 (Pin Digit 1) -> Pin 5
- Pin Push Button UP -> A0
- Pin Push Button DOWN -> A1
- Pin Push Button RESET -> A2
3. Program
Ketik ulang program yang ada di bawah ini agar sobat lebih cepat memahami bahasa yang digunakan pada Arduino
/* * Tutorial By IOTkece */ #define OFF LOW #define ON HIGH unsigned int count; int pinA = 12; int pinB = 10; int pinC = 8; int pinD = 7; int pinE = 6; int pinF = 11; int pinG = 9; int dig1 = 5; int dig2 = 2; int dig3 = 3; int dig4 = 4; /* A --- F | | B | G | --- E | | C | | --- . dec D */ void setup() { for(char i=2; i<13; i++){ pinMode(i,OUTPUT); } pinMode(A0,INPUT); pinMode(A1,INPUT); pinMode(A2,INPUT); digitalWrite(A0,1); digitalWrite(A1,1); digitalWrite(A2,1); } void loop() { char seg1 = int(count)/1000; char seg2 = (int(count)%1000)/100; char seg3 = (int(count)%100)/10; char seg4 = (int(count)%100)%10; if (count < 10){ seg1=10; seg2=10; seg3=10; } else if (count < 100){ seg1=10; seg2=10; } else if (count < 1000){ seg1=10; } digitalWrite(dig4,OFF); digitalWrite(dig1,ON); displaySeg(seg1); delay(5); digitalWrite(dig1,OFF); digitalWrite(dig2,ON); displaySeg(seg2); delay(5); digitalWrite(dig2,OFF); digitalWrite(dig3,ON); displaySeg(seg3); delay(5); digitalWrite(dig3,OFF); digitalWrite(dig4,ON); displaySeg(seg4); delay(5); if (digitalRead(A0)==0 && count < 9999){ count++; delay(200); } else if(digitalRead(A1)==0 && count != 0){ count--; delay(200); } else if(digitalRead(A2)==0){ count=0; } } void displaySeg(char segment){ switch (segment){ case 0: nol(); break; case 1: satu(); break; case 2: dua(); break; case 3: tiga(); break; case 4: empat(); break; case 5: lima(); break; case 6: enam(); break; case 7: tujuh(); break; case 8: delapan(); break; case 9: sembilan(); break; case 10: sepuluh(); break; } } void nol(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, OFF); digitalWrite(pinF, OFF); digitalWrite(pinG, ON); } void satu(){ digitalWrite(pinA, ON); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, ON); digitalWrite(pinE, ON); digitalWrite(pinF, ON); digitalWrite(pinG, ON); } void dua(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, ON); digitalWrite(pinD, OFF); digitalWrite(pinE, OFF); digitalWrite(pinF, ON); digitalWrite(pinG, OFF); } void tiga(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, ON); digitalWrite(pinF, ON); digitalWrite(pinG, OFF); } void empat(){ digitalWrite(pinA, ON); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, ON); digitalWrite(pinE, ON); digitalWrite(pinF, OFF); digitalWrite(pinG, OFF); } void lima(){ digitalWrite(pinA, OFF); digitalWrite(pinB, ON); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, ON); digitalWrite(pinF, OFF); digitalWrite(pinG, OFF); } void enam(){ digitalWrite(pinA, OFF); digitalWrite(pinB, ON); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, OFF); digitalWrite(pinF, OFF); digitalWrite(pinG, OFF); } void tujuh(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, ON); digitalWrite(pinE, ON); digitalWrite(pinF, ON); digitalWrite(pinG, ON); } void delapan(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, OFF); digitalWrite(pinF, OFF); digitalWrite(pinG, OFF); } void sembilan(){ digitalWrite(pinA, OFF); digitalWrite(pinB, OFF); digitalWrite(pinC, OFF); digitalWrite(pinD, OFF); digitalWrite(pinE, ON); digitalWrite(pinF, OFF); digitalWrite(pinG, OFF); } void sepuluh(){ digitalWrite(pinA, ON); digitalWrite(pinB, ON); digitalWrite(pinC, ON); digitalWrite(pinD, ON); digitalWrite(pinE, ON); digitalWrite(pinF, ON); digitalWrite(pinG, ON); }
4. Pengujian
- Upload program di atas ke Arduino, jika belum tahu cara upload program klik disini
- Wiring Arduino sesuai pada gambar wiring di atas
- Biarkan Arduino tetap terkoneksi pada PC/Laptop sobat
- Coba push button satu per satu apakah sesuai dengan fungsinya
- Selamat mencoba
Jika hasil yang ditampilkan tidak membentuk karakter yang beraturan, tapi menampilkan karakter yang tidak jelas, sobat bisa mencoba cara dibawah ini
Cari script program dalam Arduino seperti dibawah ini
#define ON HIGH #define OFF LOW
Ganti dengan script dibawah ini
#define ON LOW #define OFF HIGH
Bagaimana, mudah bukan dalam membuat Counter Seven Segment 4 Digit, semoga tutorial ini bermanfaat bagi sobat semuanya
Selamat mencoba sobat, ceritakan pengalaman sobat di kolom komentar yaaa. Dan jangan lupa bagikan ke teman atau saudara sobat yang membutuhkan informasi ini
Terimakasih, Wassalamualaikum Warahmatullahi Wabarakatuh
“Malas, Itulah Yang Akan Menghancurkanmu”
#IOTkece