Tutorial Arduino / Genuino 101 – Menampilkan Angka Pada 7-Segment


Intel Genuino 101


Artikel ini adalah rangkaian dari “Tutorial Arduino / Genuino 101”:
> Mengenal Lebih Dekat Genuino 101
> Menginstal Arduino IDE
> Membuat Program Genuino Pertama
> Menyalakan Buzzer Pada EMS Basic I/O Shield
> Menampilkan Angka Pada 7-Segment
> Memanfaatkan Infrared Detector pada EMS Basic I/O Shield
> Mengontrol Lampu LED Melalui Bluetooth


Pada artikel sebelumnya, kita sudah membuat program sederhana untuk menyalakan buzzer pada EMS Basic I/O Shield. Pada shield tersebut, fitur yang ada tidak hanya buzzer namun juga ada 7-Segment. Pada tulisan kali ini kita akan membuat program sederhana yang memanfaatkan fitur 7-Segment ini.

7-Segment adalah suatu segmen-segmen yang digunakan untuk menampilkan angka. 7-Segment ini tersusun dari tujuh batang LED yang disusun membentuk angka 8. Untuk memulai membuat program sederhana menggunakan 7-Segment, sebelumnya kita harus memahami letak dari masing-masing pin untuk menyalakan tujuh batang LED pada 7-Segment.

Untuk mengetahui pin yang dapat menyalakan batang LED tertentu, pelajari dokumentasi dari EMS Basic I/O Shield sebelum memulai membuat sketch. Di bawah ini merupakan gambar 7-Segment beserta keterangannya. Huruf yang tertera pada batang LED digantikan dengan pin sesuai dokumentasi.

gambar 7segment

Untuk mulai membuat program sederhana ini, buka Arduino IDE kemudian buat file baru dengan memilih menu File->New atau dapat menggunakan CTRL+N. Dapat kita lihat pada dokumentasi, pin 6 sampai 13 merupakan batang LED dari 7-Segment sehingga pin tersebut adalah OUTPUT.

Untuk penulisan output akan dipersingkat menggunakan fungsi for seperti di bawah ini:

//membuat konstanta SCAN_DELAY menggunakan kontanta define
#define SCAN_DELAY 500

void setup() {
  //inisialisasi pin 6 sampai dengan pin 13 sebagai OUTPUT
  for (int i = 6; i <= 13; i++) {
    pinMode(i, OUTPUT);
  }
  
  pinMode(A2, OUTPUT);   //inisialisasi pin A2 sebagai OUTPUT
  pinMode(A3, OUTPUT);   //inisialisasi pin A3 sebagai OUTPUT
  digitalWrite(A2, LOW); //menuliskan logika LOW pada pin A2
  digitalWrite(A3, LOW); //menuliskan logika LOW pada pin A3 
}

void loop() {
  //mengendalikan 7-segment 1
  digitalWrite(A2, LOW);
  digitalWrite(6, HIGH);   //a
  digitalWrite(7, HIGH);  //b
  digitalWrite(8, HIGH);  //c
  digitalWrite(9, HIGH);   //d
  digitalWrite(10, HIGH);  //e
  digitalWrite(11, HIGH);  //f
  digitalWrite(12, LOW);  //g
  digitalWrite(13, LOW);  //dp
  digitalWrite(A3, HIGH);
  delay(SCAN_DELAY);

  //mengendalikan 7-segment 2
  digitalWrite(A3, LOW);
  digitalWrite(6, HIGH);  //a
  digitalWrite(7, HIGH);  //b
  digitalWrite(8, HIGH);  //c
  digitalWrite(9, LOW);  //d
  digitalWrite(10, LOW);  //e
  digitalWrite(11, LOW);  //f
  digitalWrite(12, LOW); //g
  digitalWrite(13, LOW);  //dp
  digitalWrite(A2, HIGH);
  delay(SCAN_DELAY);
}

Jika kita lihat dari kode program di atas, ketika dijalankan maka 7-Segment pertama (A2)  tidak akan menyala atau dalam keadaan LOW, setelah itu akan menampilkan angka. Kondisi dari kode program di atas akan menampilan 7-Segment yang menyala secara bergantian dalam jarak 500 milidetik dan menampilkan angka yang berbeda. Untuk 7-Segment pertama (A2) menampilan angka 0 dan 7-Segment kedua (A3) menampilakan angka 7.

Untuk menjalankan kode program di atas, ikuti tahapan di bawah ini agar tidak terjadi eror:

  • Ketika melakukan upload, modul shield jangan terpasang pada modul Genuino 101
  • Setelah proses upload sukses, cabut modul Genuino 101 dari komputer
  • Setelah dicabut, pasang modul shield EMS Basic I/O pada Genuino 101 dengan cara ditumpukkan sesuai pin (kondisi masih belum terpasang ke komputer).
  • Jika modul shield sudah terpasang pada Genuino 101, silahkan sambungkan kembali ke komputer.

Setelah berhasil melakukan upload kode program ke Genuino 101, maka 7-Segment akan menampilan angka 0 dan 7 secara bergantian beserta lampu LED merah, kuning, biru, dan hijau pun akan ikut menyala.

7segment output

Nah, cukup mudah kan? Para pembaca dapat merubah angka sesuai keinginan masing-masing atau dapat menggunakan tombol switch untuk mengatur HIGH dan LOW pada 7-Segment.

* Artikel ini adalah rangkaian dari “Tutorial Arduino / Genuino 101