7SEGCALC.EXE – Program Bantu Untuk Perancangan Seven-Segment


sevensegment Ketika kita menggunakan Seven-Segment Display pada aplikasi mikrokontroler, kita harus menghitung nilai-nilai konstanta yang nantinya harus kita tuliskan pada port keluaran yang kita gunakan sebagai port data display agar display menampilkan suatu angka atau huruf atau simbol tertentu.

Untuk mudahnya, biasanya urutan pin pada port data mikro disesuaikan dengan urutan pin pada seven-segment. Semisal kita menggunakan PORTB sebagai port data, maka urutan koneksinya adalah: PB0 – a, PB1 – b, PB2 – c, PB3 – d, PB-4 – e, PB5 – f, PB6 – g dan PB7 – h (dot). Dari urutan tersebut bisa dihitung berapa nilai konstanta yang harus dikirim ke port data untuk menghasilkan tampilan angka atau huruf atau simbol pada seven-segment. Dan selama kita menggunakan desain yang sama, maka kita tidak perlu mengganti data untuk tampilan seven segment.

Dengan urutan koneksi seperti itu, maka untuk menghasilkan tampilan angka 7 mikro harus mengeset PORTB dengan data 0b00000111 jika seven-segment yang digunakan adalah tipe Common-Cathode dan data 0b11111000 jika seven-segment yang digunakan adalah tipe Common-Anode.

Namun pada prakteknya, kita bebas menentukan koneksi antara pin mikro dengan pin seven-segment. Dan terkadang kita “terpaksa” menggunakan pin I/O dari beberapa port yang tidak berurutan demi kemudahan layout PCB yang akan kita buat. Dengan perubahan urutan koneksi antara pin mikro dan pin seven-segment maka kombinasi bit pun akan berbeda sehingga diperlukan konstanta nilai yang berbeda pula.

Nah, sambil berlatih pemrograman, saya membuat program bantu yang dapat memudahkan proses tersebut sehingga kita tidak perlu repot-repot menghitung konstanta nilai tampilan seven-segment. Program saya buat menggunakan Lazarus dan FreePascal.

Dengan program ini, kita tidak perlu lagi menghitung untuk mendapatkan nilai konstanta untuk tampilan tertentu. Program berlaku untuk seven-segment tipe Common-Cathode maupun tipe Common-Anode. Dan tidak hanya itu, kita juga bebas menentukan urutan koneksi (pin assignment) sesuai dengan rangkaian yang kita buat. Oleh karenanya program ini dapat mengakomodasi segala konfigurasi rangkaian seven-segment.

Berikut adalah tampilan program untuk tampilan angka 7 dengan pin assignment sebagai berikut:

  • Pin-0 = LED a
  • Pin-1 = LED b
  • Pin-2 = LED c
  • Pin-3 = LED d
  • Pin-4 = LED e
  • Pin-5 = LED f
  • Pin-6 = LED g
  • Pin-7 = LED h (dot)

telinks_7segcalc_1

Angka 7 Common-Cathode

telinks_7segcalc_2

Angka 7 Common-Anode

Pengoperasian Program

LED a – LED h akan berganti status dari off ke on atau sebaliknya jika diklik menggunakan mouse. Warna putih menyatakan LED=off, dan warna merah menyatakan LED=on.

Untuk menyesuaikan pin assignment, klik label LED pada Group Pin-7 – Pin-0. Ketika Anda mengganti salah satu pin assignment, maka secara otomatis, program akan mencari adanya assignment yang sama, dan secara otomatis pula akan menukarkannya sehingga tidak ada pin assignment yang sama untuk masing-masing LED. Hal ini untuk mencegah terjadinya kesalahan assignment, sehingga dapat dijamin nilai bytecode yang dihasilkan senantiasa benar.

Untuk mengganti tipe Seven-Segment, Anda dapat meng-klik pilihan Common-Cathode atau Common-Anode. Ketika terjadi perubahan tipe seven-segment, maka nilai bytecode juga akan berubah.

Berikut adalah tampilan program untuk tampilan angka 3 dengan urutan koneksi pin yang berbeda.

telinks_7segcalc_3

telinks_7segcalc_4

Nah, cukup menarik bukan? 😀

Program ini masih dapat dikembangkan dengan menambahkan fasilitas untuk menghasilkan (generate) kode program untuk konstanta nilai tampilan 0-9 dan A-F dalam bahasa C yang valid untuk kompiler C mikrokontroler AVR maupun MCS-51. Mudah-mudah bisa terlaksana. 🙂

Download Link

Anda dapat memiliki dan menggunakan program bantu ini secara gratis. Silakan download program 7SEGCALC.EXE ini dan silakan dievaluasi. Saran dan masukan dari Anda tentunya sangat saya harapkan untuk pengembangan program ini.

7segcalc.rar

( ~587 KB )

Versi Linux

Program bantu ini juga tersedia untuk platform linux. Berikut adalah tampilan program versi linux yang running pada Debian GNU Linux 7 (Wheezy).

telinks_7segcalc_debian

Dan berikut ini adalah tampilan program yang running pada Ubuntu Linux.

telinks_7segcalc_ubuntu

Program versi linux dapat Anda download melalui link berikut ini:

7segcalc.tar.gz

( ~1.87 MB )

Source Code

Program ini saya buat menggunakan Lazarus 1.0 dengan FPC 2.6.0. Anda bisa mendapatkan source code program ini dengan cara menyalurkan donasi. Jika Anda berminat silakan menghubungi saya melalui email ke info@teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

😀

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , , , , , ,
Ditulis dalam Elektronika, Gratisan, Lazarus/FreePascal, Mikrokontroler, Software/Programming
9 comments on “7SEGCALC.EXE – Program Bantu Untuk Perancangan Seven-Segment
  1. Tius berkata:

    Wah.. mas rajin yah bikin program kayak ginian. Mau dong mas. Makasih sebelumnya 🙂

  2. chandramde berkata:

    Tius:
    File telah saya kirimkan ke alamat email Mas Tius.

    Selamat mencoba! 😀

  3. omen berkata:

    Menarik juga….neh..mas.., kalo skema rangkain bikin Papan Board Nama pake Led ada gak..mas…yang biasa aku lihat di Bank – bank..kurs mata nilai uang asing sekian… gitu..tapi rangkainnya pake mikrokontroler gitu mas..kalo ada send ke emailku ya mas..n3mo.mel@gmail.com..

  4. ardi berkata:

    Asslmkm… Bang,kok telaten amat bwt aplikasinya?kebetulan saya ada tugas Aplikasi Kontrol Sekuensial.Boleh minta filenya, Bang?

  5. chandramde berkata:

    ardi:
    Silakan mengirimkan donasi seikhlasnya dan kirim notifikasi atau bukti transfernya melalui email/sms. Saya akan mengirimkan file source-code ke email Anda.

    Terima kasih. 😀

  6. awan berkata:

    bozzz minta source kode seven segment donk….,,,, plissss buat tugas nie
    kirim ke email yw…… di tunggu nie….

  7. Wawan berkata:

    maz tolong kirim ya maz source kodenya
    thanks for ilmunya

  8. D. Prameswara berkata:

    Sudah test di Ubuntu 13.10 Bang. Hasilnya sampai sekarang OK, tidak ada masalah.

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

Kategori

Bergabunglah dengan 2.497 pengikut lainnya

Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
Blog Linux dan Raspberry Pi


USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: