Ngoprek 7-Segmen Mungil Tanpa Datasheet

Saya iseng membeli 2 buah LED 7-segment mungil yang masing-masing punya 2 digit. Ukurannya lebih mungil dari pada 7-segment yang saya pakai di Jambredbrod (Jam 7). Namun walau pun lebih mungil dan lebih sedikit jumlah digitnya, 7-segment ini lebih ruwet dari pada yang sebelumnya.

Hiks, tanpa datasheet

Hiks, tanpa datasheet

Yang pertama adalah karena saya tidak menemukan datasheet-nya di internet. Satu-satunya informasi yang saya peroleh dari situs penjualnya adalah bahwa dia common anode.

Yang kedua adalah karena jumlah pin-nya lebih banyak dari pada 7-segment 4 digit yang sebelumnya. Dari sini sudah bisa ditebak bahwa masing-masing digit pin-nya terpisah. Keuntungannya adalah karena kita bisa membuat rangkaian tanpa scanning yang membuat tampilan jadi stabil. Cukup dengan buffer atau shift register per digit yang akan di-refresh bit-nya saat angka/nilai yang akan ditampilkan berubah.

Kekurangannya adalah kalau kita ingin menggunakan teknik scanning digit, itu berarti kita harus merangkaikan sendiri katode-nya antara digit pertama dengan kedua (dan dengan digit berikutnya). Yang mana jika ini dilakukan dengan kabel/jumper di breadboard tentu sangat merepotkan. Mesti bikin PCB supaya tidak ruwet kabelnya.

Penggunaan teknik scanning adalah demi penghematan secara hardware karena tidak diperlukan chip shift register untuk masing-masing digit. Cukup menggunakan 1 shift register saja.

Skema SL 1263HS

Skema SL 1263HS

Saya pun mencoba menemukan pin Anode untuk digit pertama dan kedua. Setelah ketemu, maka saya pun mencari pin segment untuk masing-masing digit. Saya mencatat masing-masing pin dan menggambarkan skemanya dengan Fritizing. Di atas adalah skematiknya. Siapa tahu skema di atas berguna bagi teman-teman.

Tampilan stabil dgn shift register per digit

Tampilan stabil dgn shift register per digit

Saya mencoba menghubungkan digit pertama dengan shift register. Hubungan dijalin secara lurus, pin Q0 shiftregister ke segmen A, Q1 ke B, dst. Setelah mencoba satu per satu barulah bisa dikonstruksikan penyalaan bit untuk masing-masing angka. Yang perlu diperhatikan adalah karena ini common anode, maka pin masing-masing segmen perlu di-set 0 supaya LED segmen menyala. Detail bisa dilihat di source code di bawah ini.

/*
Emanuel Setio Dewo, setio.dewo@gmail.com
12 Nov 2012

Test 7-segment SL-1263HS
*/

byte seg[] = {
 0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09
};

byte dig[] = {
  2, 3
};

byte pin_data = 6;
byte pin_latch = 7;
byte pin_clock = 8;
byte angka = 0;

void setup() {
  pinMode(pin_data, OUTPUT);
  pinMode(pin_latch, OUTPUT);
  pinMode(pin_clock, OUTPUT);
  
  for (int i=0; i<16; i++) pinMode(seg[i], OUTPUT);
  for (int i=0; i<2; i++) pinMode(dig[i], OUTPUT);
  
  //nyalakan digit 1
  digitalWrite(dig[0], HIGH);
}

void loop() {
  test_led();
}

void test_led() {
  if (angka >= 10) angka = 0;
  digitalWrite(pin_latch, LOW);
  shiftOut(pin_data, pin_clock, LSBFIRST, seg[angka] xor 1); // XOR utk menampilkan titik
  digitalWrite(pin_latch, HIGH);
  delay(500);
  angka++;
}

void seg_off() {
  digitalWrite(pin_latch, LOW);
  shiftOut(pin_data, pin_clock, LSBFIRST, ~0x00);
  digitalWrite(pin_latch, HIGH);
}
Iklan

Tentang Emanuel Setio Dewo

Tumbuh, Berkembang, Berbuah...
Pos ini dipublikasikan di Arduino, Dewo, Elektronika, Foto dan tag , , . Tandai permalink.

2 Balasan ke Ngoprek 7-Segmen Mungil Tanpa Datasheet

  1. Ping balik: Digital Temperature with ATTiny85 | ♪ Emanuel Setio Dewo ♪

  2. bang mau tanya nii ane ,,gimana caranya buat program simulasi traffic ligth perempatan dengan menampilkan timernya di seven segmen ,,mohon bantunya bang ,,

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s