COUNTER DIGITAL BERBASIS LCD MENGGUNAKAN ATMEGA328P KELOMPOK 3 EK2B PENULIS 1.MUAMAR SYARIF HIDAYAT

 I. PENDAHULUAN

A. LATAR BELAKANG

Perkembangan teknologi informasi dan sistem komputer yang semakin pesat telah membawa banyak perubahan dalam cara kita mengelola data dan informasi. Salah satu alat yang sangat penting dalam pengolahan data adalah counter. Counter digunakan untuk menghitung, melacak, dan memantau sejumlah kejadian atau aktivitas dalam berbagai aplikasi, mulai dari pemrograman hingga perangkat keras. Fungsi utama counter adalah memberikan informasi numerik yang dapat digunakan untuk mengambil keputusan, melakukan pengolahan data, serta meningkatkan efisiensi dalam berbagai sistem.

Di dalam dunia pemrograman, counter sering digunakan dalam penghitungan jumlah perulangan dalam sebuah algoritma, menghitung frekuensi kemunculan suatu elemen dalam data, atau bahkan mengatur interval waktu dalam program. Implementasi counter yang tepat sangat krusial dalam menjaga kelancaran operasi program dan meningkatkan akurasi proses yang dilakukan.

Selain itu, counter juga memiliki peran penting dalam dunia nyata. Berbagai perangkat dan alat, seperti mesin kasir, alat pengukur langkah pada perangkat wearable, dan sistem sensor lainnya, memanfaatkan teknologi counter untuk memberikan hasil yang akurat dan real-time. Dalam bidang industri, penggunaan counter dalam mesin produksi atau sistem kontrol sangat membantu untuk mengoptimalkan proses dan mencegah terjadinya kesalahan.

Dengan berbagai aplikasi dan kemudahan yang ditawarkan, counter semakin relevan dalam mendukung berbagai kegiatan operasional di berbagai bidang. Oleh karena itu, pemahaman yang lebih mendalam tentang konsep dan implementasi counter sangat diperlukan, terutama dalam dunia yang semakin bergantung pada data dan teknologi.


B. RUMUSAN MASALAH 

1. Apa pengertian dan fungsi utama dari counter dalam pengolahan data dan informasi?

2. Bagaimana cara kerja counter dalam pemrograman, terutama dalam penghitungan perulangan, frekuensi kemunculan data, dan pengaturan interval waktu?

3. Apa saja jenis-jenis aplikasi yang memanfaatkan counter, baik dalam bidang pemrograman maupun perangkat keras?

4. Bagaimana peran counter dalam meningkatkan efisiensi dan akurasi sistem dalam berbagai aplikasi dunia nyata?

5. Apa tantangan yang dihadapi dalam implementasi counter pada sistem industri atau sistem kontrol untuk mengoptimalkan proses?

6. Mengapa pemahaman yang mendalam tentang konsep dan implementasi counter sangat penting di era teknologi informasi yang semakin berkembang?


C. TUJUAN

1. Meningkatkan Akurasi Penghitungan

2. Meningkatkan Efisiensi Proses

3. Mempermudah Pemantauan dan Pelaporan

4. Menjamin Keamanan dan Keandalan Sistem

5. Memfasilitasi Analisis dan Pengambilan Keputusan


II. METODOLOGI

Penelitian ini dimulai dengan studi literatur untuk memahami konsep dan penerapan counter dalam pengolahan data, baik dalam pemrograman maupun aplikasi dunia nyata. Berbagai sumber literatur seperti buku, artikel ilmiah, dan dokumen teknis digunakan untuk mendalami teori dasar dan teknik implementasi counter dalam sistem komputer dan perangkat keras. Selanjutnya, dilakukan desain sistem berbasis counter dengan menggunakan mikrokontroler ATmega 328P atau perangkat sejenis, untuk menguji penerapan counter dalam penghitungan dan pemantauan. Sistem yang dirancang akan diuji dengan memberikan input tertentu dan memantau output untuk memastikan bahwa counter berfungsi dengan akurat dan efisien.

Selain itu, eksperimen dilakukan pada beberapa aplikasi dunia nyata yang menggunakan counter, seperti penghitungan transaksi pada mesin kasir dan pengukuran langkah pada perangkat wearable, untuk mengevaluasi efektivitas dan ketepatan counter dalam kondisi nyata. Data yang diperoleh dari pengujian akan dianalisis untuk mengukur akurasi, efisiensi, dan keandalan penggunaan counter dalam berbagai aplikasi. Hasil pengujian ini kemudian dibandingkan dengan sistem lain atau teknologi serupa untuk menilai kinerja counter, serta mengidentifikasi kelebihan dan kekurangannya dalam berbagai konteks. Akhirnya, kesimpulan akan disusun berdasarkan analisis yang dilakukan, serta rekomendasi pengembangan dan perbaikan untuk penggunaan counter di berbagai sistem dan perangkat.


III. KAJIAN PUSTAKA

Pada Bab ini akan membahas tentang komponen komponen yang digunakan :

A. KOMPONEN

1. Mikrokontroller ATMega328p

Mikrokontroler AVR (Alf and Vegaard’s Risc Processor) ATMega328P merupakan seri mikrokontroler Complementary Metal Oxide Semiconductor (CMOS) 8-bit buatan Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi pada program dieksekusi dalam satu siklus clock. ATMega328P mempunyai 8 Kbyte in-System Programmable Flash yang memungkinkan memori program untuk diprogram ulang (read/write) dengan koneksi secara serial yang disebut Serial Peripheral Interface (SPI). 

 

AVR memilki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan mikrokontroler AVR yaitu memiliki kecepatan dalam mengeksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus clock (lebih cepat dibandingkan mikrokontroler keluarga MCS 51 yang memiliki arsitektur Complex Intrukstion Set Compute). ATMega328P mempunyai throughput mendekati 1 Millions Instruction Per Second (MIPS) per MHz, sehingga membuat konsumsi daya menjadi rendah terhadap kecepatan proses eksekusi perintah. Mikrokontroler ini adalah jenis mikrokontroler AVR yang dapat diprogram dengan mudah dan diprogram ulang dengan banyak platform. Salah satunya lewat Prototype Arduino dan Aplikasi Arduino IDE. 


Fitur Mikrokontroler  ATMega328P

 

ATMega328P adalah mikrokontroler keluaran dari Atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Berikut beberapa fitur yang dimiliki mikrokontroler ATMega328P : 

1. Memiliki 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.

2. Memiliki kecepatan eksekusi mencapai 16 MIPS dengan clock 16 MHz.

3. Memiliki Flash Memory 32 Kb.

4. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1 Kb. EEPROM berfungsi sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.

5. Memiliki SRAM (Static Random Access Memory) sebesar 2 Kb.

6. Memiliki 23 pin I/O digital.

 

Konfigurasi Pin ATMega328P


 

ATMega328P mempunyai kaki standar 28 pin yang mempunyai fungsi yang berbeda-beda baik sebagai port ataupun sebagai fungsi yang lain. Konfigurasi 28 pin tersebut antara lain :


 

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.

2. GND merupakan pin Ground.

3. Port B (PB0 – PB7) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

4. Port C (PC0 – PC6) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

5. Port D (PD0 – PD7) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

6. RESET merupakan pin yang digunakan untuk mengatur atau menjalankan ulang program awal yang sudah dimasukkan ke mikrokontroler.

7. XTAL1 dan XTAL2, merupakan pin masukan external clock.

8. AVCC merupakan pin masukan tegangan ADC (Analog-Digital Converter).

9. AREF merupakan pin masukan referensi tegangan ADC. 

 

2. Push Button




Push button adalah suatu komponen elektronik yang digunakan untuk memulai aksi atau memberikan input pada suatu sistem. Tombol tekan ini sering digunakan pada peralatan elektronik seperti mesin, otomotif, peralatan audio, mesin cuci, dan sebagainya. Push button biasanya terdiri dari bagian mekanik yang dapat ditekan dan memicu kontak elektronik untuk mengirim sinyal atau informasi. Beberapa jenis push button juga dilengkapi dengan lampu indikator atau layar yang menampilkan status sistem pada saat ini. Setiap warna pada push button memiliki fungsinya tersendiri, misalnya warna merah untuk tombol Stop, hijau untuk tombol Start, dan kuning untuk tombol Reset. Oleh karena itu, Push button dapat dikatakan sebagai komponen penting dalam mesin industri, terutama dalam menghidupkan dan mematikan mesin. Tak peduli jenis mesin apa yang digunakan, tombol selalu menjadi tombol utama dalam operasional mesin. Koneksi tombol dengan operator sangat vital dalam memastikan bahwa mesin dapat berfungsi dengan baik.




3. LCD I2C 16 x 2 



 

LCD (Liquid Crystal Display) 16×2 adalah salah satu media penampil yang sangat populer digunakan sebagai interface antara mikrokontroler dengan user nya. Dengan penampil LCD 16×2 ini user dapat melihat/memantau keadaan sensor ataupun keadaan jalanya program. Penampil LCD 16×2 ini bisa di hubungkan dengan Arduino.

Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Jika tidak memakai I2C Juga bisa untuk menampilkan text pada LCD akan tetapi harus merangkai semua pin yang berada pada LCD ke Arduino.


B. DIAGRAM BLOK








C. DIAGRAM ALIR 

 



D. DIAGRAM PENGAWATAN





E. PROGRAM 

; Konfigurasi Program

.include "m328pdef.inc" ; File definisi ATmega328P

.org 0x00              ; Titik awal program


; Register untuk variabel

.def temp = r16         ; Register sementara

.def counter = r17      ; Variabel counter

.def buttonUpState = r18 ; Status tombol UP

.def buttonResetState = r19 ; Status tombol RESET


; Pin

.equ switchUpPin = PB2  ; Pin untuk tombol UP

.equ switchResetPin = PB3 ; Pin untuk tombol RESET


RESET:

    ; Inisialisasi stack pointer

    ldi temp, LOW(RAMEND)

    out SPL, temp

    ldi temp, HIGH(RAMEND)

    out SPH, temp


    ; Inisialisasi port

    ldi temp, 0x00       ; Semua pin awal sebagai input

    out DDRB, temp       ; Port B sebagai input

    ldi temp, 0xFF       ; Aktifkan pull-up untuk semua tombol

    out PORTB, temp


    ; Inisialisasi variabel

    ldi counter, 0x00    ; Set counter ke 0


    ; Inisialisasi LCD

    rcall LCD_Init       ; Panggil rutin inisialisasi LCD


MAIN_LOOP:

    ; Membaca tombol UP

    sbis PINB, switchUpPin  ; Periksa apakah tombol UP ditekan

    rcall Handle_Up         ; Jika ya, tambahkan counter


    ; Membaca tombol RESET

    sbis PINB, switchResetPin ; Periksa apakah tombol RESET ditekan

    rcall Handle_Reset        ; Jika ya, reset counter


    ; Update LCD

    rcall LCD_Display         ; Perbarui tampilan LCD


    rjmp MAIN_LOOP            ; Kembali ke loop utama


Handle_Up:

    inc counter               ; Tambahkan nilai counter

    ret


Handle_Reset:

    ldi counter, 0x00         ; Reset counter ke 0

    ret


LCD_Init:

    ; Inisialisasi LCD dengan I2C

    ; Kirim perintah ke LCD untuk konfigurasi awal

    ; Sesuaikan dengan datasheet LCD Anda

    Ret


LCD_Display:

    ; Tampilkan nilai counter di LCD

    ; Gunakan protokol I2C untuk mengirim data ke LCD

    ; Implementasi bergantung pada LCD yang digunakan

    Ret


IV. HASIL DAN PEMBAHASAN

A. GAMBAR PROTOTYPE





B. CARA KERJA

Alat di atas merupakan perangkat elektronik yang dirancang untuk mencatat hitungan secara otomatis. Ketika pengguna menekan tombol, sinyal elektronik dikirim ke sirkuit yang kemudian diteruskan ke mikrokontroler atau chip sederhana. Dalam beberapa model modern, input ini dapat dilakukan melalui sensor tekanan atau sentuhan, memungkinkan pendeteksian tanpa menekan tombol secara fisik. Sinyal dari tombol atau sensor diolah oleh mikrokontroler menjadi data digital, di mana setiap sinyal yang diterima akan menambahkan nilai +1 ke dalam memori. Data hitungan sementara disimpan dalam RAM sehingga dapat langsung ditampilkan pada layar. Namun, jika dimatikan, data ini akan hilang kecuali perangkat dilengkapi dengan penyimpanan non-volatile seperti EEPROM atau Flash Memory, yang memungkinkan data tetap tersimpan meskipun daya dimatikan. Selain itu, alat ini dilengkapi dengan tombol reset yang memungkinkan pengguna mengatur ulang hitungan ke angka nol. Ketika tombol reset ditekan, mikrokontroler menghapus data dari memori sementara, dan layar kembali menampilkan angka nol. Proses ini memastikan alat ini siap digunakan kembali untuk penghitungan baru.



V. KESIMPULAN 

Counter digital berbasis LCD dengan mikrokontroler ATmega328P merupakan solusi yang efisien, akurat, dan terjangkau untuk berbagai aplikasi penghitungan. Perangkat ini memanfaatkan keunggulan mikrokontroler ATmega328P yang hemat energi, dapat diprogram sesuai kebutuhan, dan kompatibel dengan berbagai sensor, sehingga fleksibel untuk digunakan di berbagai bidang seperti industri, transportasi, atau sistem antrian. Tampilan data real-time pada LCD memberikan kemudahan bagi pengguna untuk memonitor hasil penghitungan dengan jelas. Selain itu, keandalan dan konsumsi daya rendah menjadikan sistem ini ideal untuk penggunaan jangka panjang. Dengan biaya produksi yang relatif rendah, perangkat ini dapat diimplementasikan dengan baik dalam solusi otomatisasi modern.


VI. REFERENSI

Aisyah Khoirun Nisa. (2024). Rancang Bangun Rangkaian Digital Programable Counter . Jupiter: Publikasi Ilmu Keteknikan Industri, Teknik Elektro Dan Informatika, 2(4), 68–75. https://doi.org/10.61132/jupiter.v2i4.370

Setiawan, A., & Hidayat, M. (2018). Pemrograman Mikrokontroler AVR dengan Bahasa Assembly. Jakarta: Penerbit Teknik Elektronika

VII. LINK PPT

https://www.canva.com/design/DAGZiBz9x-0/syJ2MCmIYrtzusLVok-q5Q/edit

VIII. LINK YOUTUBE


Komentar

Postingan populer dari blog ini

SISTEM LAMPU PENERANGAN JALAN OTOMATIS DENGAN SENSOR LDR BERBASIS ATMega8535

SISTEM PEMANTAUAN SUHU DAN KELEMBABAN PADA SUATU RUANGAN MENGGUNAKAN SENSOR DHT22 BERBASIS MIKROKONTROLLER ARDUINO UNO ATMEGA328P

ATAP OTOMATIS DENGAN SENSOR HUJAN BERBASIS ATMEGA 8535