0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan7 halaman

Labsheet 05 Arduino - NEW

Diunggah oleh

dwikristanto21
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan7 halaman

Labsheet 05 Arduino - NEW

Diunggah oleh

dwikristanto21
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

SMK NEGERI 2 KLATEN

LAB SHEET Praktik Mikrokontroler


Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 1 dari 7

1. Kompetensi
Peserta didik mampu menjelaskan pemrograman output digital mikrokontroler Arduino menggunakan
komponen seven segment
2. Sub Kompetensi
 Dapat menerapkan pemrograman output digital dengan seven segment
 Dapat menerapkan pemrograman pembacaan input dengan seven segment
3. Dasar Teori
Seven Segment (7-Segment) tidak asing lagi, yang sering dijumpai pada kehidupan sehari-sehari,
seperti pada jam tangan, jam dinding, mesin cuci, serta alat-alat elektronik lainnya. Walaupun bisa
dikatakan bahwa 7-Seg merupakan tampilan yang sudah lama ada, akan tetapi trend pengguanaanya
tidak bisa digantikan dengan tampilan lain. Hal inilah yang menjadikan 7-segment tetap masih
dipertahankan sebagai salah satu tampilan pada segala jenis alat-alat elektronik.
Pada dasarnya 7-seg terdiri dari 7 buah LED, yang dirangkai menjadi satu sehingga dapat
membentuk angka-angka 0-9. Pada perkembangannya 7-seg ditambahkan satu bagian lagi sebagai
tanda titik (dot point). Berdasarkan standart penamaan setiap bagian pada 7-seg dapat dituliskan
dengan ilustrasi gambar sebagai berikut;

7-seg terdiri dari 2 jenis atau type yang beredar dipasaran, yaitu Common Anode dan Common
Cathode. Common memiliki terjemahan “bersama”, artinya salah satu kutup pada 7-seg dijadikan
menjadi satu, atau dapat dikatakan satu kaki 7-seg dipakai bersama dengan jenis kutup yang sejenis.
Pengetahuan akan common pada setiap penggunaan 7-seg sangatlah penting, dikarena berkaitan
dengan cara untuk menghidupkannya apakah active high atau active low. Secara skematik dua jenis
tersebut dapat digambarkan sebagai berikut;

Sambungan pin Arduino dan display 7 segment yaitu :


SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 2 dari 7

4. Alat dan Instrument


- Arduino Uno 1 buah
- Kabel USB 1 buah
- 7SEG 1 DIgit 1 buah
- Kabel jumper male – male secukupnya
- Pushbutton 1 buah
- Multimeter 1 buah

5. Langkah Kerja

1. Buat rangkaian Arduino dan sebuah pushbutton seperti gambar berikut:

2. Ketik program berikut pada editor Arduino IDE :

LS5-ANGKA Program menampilkan angka seven segmnt:


void setup() {
pinMode(2, OUTPUT); //SEG A
pinMode(0, OUTPUT); //SEG B
pinMode(4, OUTPUT); //SEG C
pinMode(5, OUTPUT); //SEG D
pinMode(16, OUTPUT); //SEG E
pinMode(14, OUTPUT); //SEG F
pinMode(12, OUTPUT); //SEG G
//pinMode(9, OUTPUT); //Dot Point(Titik)
//digitalWrite(9, 0); // start with the "dot" off
}
void loop() {
// Angka ‘0'
digitalWrite(2, 1); Ganti angka yang bewarna merah
digitalWrite(0, 1); sesuai dengan tabel pengujian
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(16, 1);
digitalWrite(14, 1);
digitalWrite(12, 0); Ganti delay sesuai dengan
//digitalWrite(9, 1); kecepatan pergantian angka
delay(500);
}
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 3 dari 7

3. Cek seven segment menggunakan multimeter dan isi tabel dibawah ini :

TABEL PENGUJIAN 1 2 3 4 5
0 1 2 3 4 5 6 7 8 9 Pin No
SEG A
SEG B
SEG C
SEG D
SEG E
SEG F
SEG G
DOT
Common (Anoda/Katoda)

6 7 8 9 10
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 4 dari 7

LS5-Pengembangan-Program seven segment satu digit :


/*
* MONSTER ARDUINO V2
* Program Seven Segment 1 Digit
* www.ElangSakti.com
*/

// definisikan CC, CA, ON, dan Brightness


#define COMMON_ANODE HIGH
#define COMMON_CATHODE LOW
#define ON HIGH
#define BRIGHTNESS 100

// konfigurasi seven segment CC


// CC : active low
boolean COMMON = COMMON_CATHODE;
boolean SEGMENT_ON = LOW;
boolean SEGMENT_OFF = !SEGMENT_ON;

// pin 2-9 untuk segmen A – DP


const byte SegA = 2; // A
const byte SegB = 3; // B
const byte SegC = 4; // C
const byte SegD = 5; // D
const byte SegE = 6; // E
const byte SegF = 7; // F
const byte SegG = 8; // G
const byte SegDp = 9; // DP

// jadikan array biar mudah


const byte SEGMENT[] = {SegA, SegB, SegC, SegD, SegE, SegF, SegG, SegD
// pengaturan untuk brightness
unsigned long brightness_now = 0;
unsigned long brightness_last = 0;
unsigned long brightness_limit = 0;

// data counter untuk ditampilkan


byte counter = 0;

void setup() {

// sesuaikan active low/high


// dengan tipe Common Anode atau Common Cathode
if( COMMON == COMMON_ANODE ){
SEGMENT_ON = !ON;
} else {
SEGMENT_ON = ON;
}
SEGMENT_OFF = !SEGMENT_ON;

// set segment sebagai output


for(byte i=0; i<sizeof(SEGMENT); i++){
pinMode(SEGMENT[i],OUTPUT);
}
}

void loop() {

// counter data setiap 1 detik


// jika lebih besar dr 9, reset ke 0
if( nonblocking_delay(1000) ){
counter++;
if(counter > 9) counter = 0;
}
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 5 dari 7

// tampilkan angka di seven segment


Digit(counter, SEGMENT_OFF, BRIGHTNESS);

// fungsi Digit
// untuk menampilkan angka pada seven segment
void Digit(byte data, boolean dp, int brightness){

// delay nyala segment, efeknya pada brigthness


brightness_limit = constrain(brightness,1,100);
brightness_limit = map(brightness_limit,1,100,1,5000);

brightness_now = micros();
if(brightness_now – brightness_last < brightness_limit){
// nyalakan 7 segmen sesuai angka
switch(data){
case 0:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;

case 1:
digitalWrite(SegA, SEGMENT_OFF);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;

case 2:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_OFF);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 3:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 4:
digitalWrite(SegA, SEGMENT_OFF);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 6 dari 7

digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 5:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_OFF);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 6:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_OFF);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 7:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;

case 8:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;

case 9:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
}
}else{
// matikan semua 7 segment
for(byte d=0; d<sizeof(SEGMENT); d++){
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 7 dari 7

digitalWrite(SEGMENT[d], SEGMENT_OFF);
}
brightness_last = brightness_now;
}
}

// tambahan untuk membuat delay non blocking


unsigned long nonblocking_time = millis();
unsigned long nonblocking_last = millis();
boolean nonblocking_delay(long milidetik){
nonblocking_time = millis();
if(nonblocking_time – nonblocking_last >= milidetik){
nonblocking_last = nonblocking_time;
return true;
}
return false;
}

LS5-Tugas:
1. Buatlah program untuk menampilkan counter dari 1-3 dengan tombol menggunakan
seven segmen segment

Anda mungkin juga menyukai