Aplikasi Ultrasonik HCSR-04 Sebagai Penghitung Jumlah Orang Berbasis Mikrokontroller Atmega 328P

Untuk mempermudah penulisan tugas akhir ini, penulis membuat suatu
sistematika penulisan yang terdiri dari :
BAB 1: PENDAHULUAN
Bab ini akan membahas latar belakang tugas akhir, identifikasi masalah, batasan
masalah, tujuan, metode penelitian, tinjauan pustaka, dan sistematika penulisan.

BAB 2: LANDASAN TEORI
Bab ini akan menjelaskan tentang teori pendukung yang digunakan untuk
pembahasan.

BAB 3: PERANCANGAN DAN SISTEM KERJA RANGKAIAN
Bab ini membahas tentang perencanaan dan pembuatan sistem secara
keseluruhan.

BAB 4: HASIL DAN PEMBAHASAN
Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat
dan lain-lain.

BAB 5: PENUTUP
Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari uraian
bab-bab sebelumnya, dan penulis akan berusaha memberikan saran yang mungkin

bermanfaat.
BAB 2
LANDASAN TEORI

Universitas Sumatera Utara

2.1 ATMEGA 328P
2.1.1 Konfigurasi Pin ATmega328
ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe
mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535,
ATMega16, ATMega32, ATmega328, yang membedakan antara mikrokontroler
antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output),
peripherial (USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328
memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler
diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah
dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan
ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan
mikrokontroler diatas.

Gambar 2.1 Pin Mikrokontroler Atmega328

ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD
dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan
sebagai input/output digital atau difungsikan sebagai periperal lainnya.

Universitas Sumatera Utara

1.Port B
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output.
Selain itu PORTB juga dapat memiliki fungsi alternatif seperti di bawah ini.
a.ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.
b. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai
keluaran PWM (Pulse Width Modulation).
c. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur
komunikasi SPI.
d. Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).
e. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock
external untuk timer.
f. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama
mikrokontroler.
2.Port C

Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output
digital. Fungsi alternatif PORTC antara lain sebagai berikut.
a. ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10 bit.
ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog
menjadi data digital
b. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC.
I2C digunakan untuk komunikasi dengan sensor atau device lain yang
memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer
nunchuck.
3.

Port D

Universitas Sumatera Utara

Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat
difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga
memiliki fungsi alternatif dibawah ini.:
a. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan
level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,

sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk
menerima data serial.
b. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai
interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari
program, misalkan pada saat program berjalan kemudian terjadi interupsi
hardware/software maka program utama akan berhenti dan akan menjalankan
program interupsi.
c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun
kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu
membutuhkan external clock.
d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan
timer 0.
e. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
comparator.

2.1.2 Fitur ATmega328
ATMega328 adalah mikrokontroler keluaran dari atmel yang mempunyai
arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses

Universitas Sumatera Utara


eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set
Computer). Mikrokontroler ini memiliki beberapa fitur antara lain:
1. Memiliki EEPROM (Electrically Erasable Programmable Read Only
Memory) sebesar1KB sebagai tempat penyimpanan data semi permanen
karena EEPROM

tetap dapat menyimpan data meskipun catu daya

dimatikan.
2. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
3. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width
Modulation) output.
4. 32 x 8-bit register serba guna.
5. Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
6. 32 KB Flash memory dan pada arduino memiliki bootloader yang
menggunakan 2 KB dari flash memori sebagai bootloader.
7. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus
clock.


2.2 ARDUINO NANO
Arduino Nano adalah papan pengembangan (development board) mikrokontroler
yang berbasis chip ATmega328P dengan bentuk yang sangat mungil. Secara
fungsi tidak ada bedanya dengan Arduino Uno. Perbedaan utama terletak pada
ketiadaan jack power DC dan penggunaan konektor Mini-B USB.
Disebut sebagai papan pengembangan karena board ini memang berfungsi sebagai
arena

prototyping sirkuit

mikrokontroller. Dengan menggunakan papan

pengembangan, anda akan lebih mudah merangkai rangkaian elektronika

Universitas Sumatera Utara

mikrokontroller dibanding jika anda memulai merakit ATMega328 dari awal di
breadboard.

Gambar 2.2 Arduino Nano


2.2.1 Spesifikasi
Chip mikrokontroller

ATmega328P

Tegangan operasi

5V

Tegangan

input

(yang 7V - 12V

direkomendasikan)
Digital I/O pin

14 buah, 6 diantaranya menyediakan PWM


Analog Input pin

6 buah

Arus DC per pin I/O

40 mA

Memori Flash

32 KB, 0.5 KB telah digunakan untuk
bootloader

SRAM

2 KB

EEPROM


1 KB

Clock speed

16 Mhz

Dimensi

45 mm x 18 mm

Berat

5g

Tabel 2.2.1 Spesifikasi Arduiono
2.2.2 Open Source Hardware

Universitas Sumatera Utara

Arduino Nano adalah hardware open source (OSH - Open Source Hardware).

Dengan demikian anda dan siapapun diberi kebebasan untuk dapat membuat
sendiri Arduino Nano.
2.2.3 Pemrograman
Pemrograman board Arduino Nano dilakukan dengan menggunakan Arduino
Software (IDE), Chip ATmega328 yang terdapat pada Arduino Nano telah diisi
program awal yang sering disebut bootloader. Bootloader tersebut yang bertugas
untuk memudahkan anda melakukan pemrograman lebih sederhana menggunakan
Arduino Software, tanpa harus menggunakan tambahan hardware lain. Cukup
hubungkan Arduino dengan kabel USB ke PC, Mac, atau Linux anda, jalankan
software Arduino Software (IDE), dan anda sudah bisa mulai memrogram chip
ATmega328. Lebih mudah lagi, di dalam Arduino Software sudah diberikan
banyak contoh program yang memanjakan anda dalam belajar mikrokontroller

Gambar 2.2.3 tampilan pemrograman
Untuk pengguna mikrokontroller yang sudah lebih mahir, anda dapat tidak
menggunakan bootloader dan melakukan pemrograman langsung via header ICSP
(In Circuit Serial Programming) dengan menggunakan Arduino ISP
Development Board Arduino Nano dapat diberi tenaga dengan power yang
diperoleh dari koneksi kabel Mini-B USB, atau via power supply eksternal.
External power supply dapat dihubungkan langsung ke


pin 30 atau

Universitas Sumatera Utara

Vin(unregulated 6V - 20V), atau ke pin 27 (regulated 5V). Sumber tenaga akan
otomatis dipilih mana yang lebih tinggi tegangan
Beberapa pin power pada Arduino Uno :
1.

GND adalah ground atau negatif.

2.

Vin adalah pin yang digunakan jika anda ingin memberikan power langsung
ke board Arduino dengan rentang tegangan yang disarankan 7V - 12V

3.

Pin 5Vadalah pin output dimana pada pin tersebut mengalir tegangan 5V
yang telah melalui regulator

4.

3V3adalah pin output dimana pada pin tersebut disediakan tegangan 3.3V
yang telah melalui regulator

5.

REF adalah pin yang menyediakan referensi tegangan mikrokontroller.
Biasanya digunakan pada board shield untuk memperoleh tegangan yang
sesuai, apakah 5V atau 3.3V

2.2.4 Memori
Chip ATmega328 pada Arduino Uno R3 memiliki memori 32 KB, dengan 0.5 KB
dari memori tersebut telah digunakan untuk bootloader. Jumlah SRAM 2 KB, dan
EEPROM 1 KB, yang dapat di baca-tulis dengan menggunakan EEPROM library
saat melakukan pemrograman.
2.2.5 Input dan Output (I/O)
Seperti yang telah disebutkan sebelumnya, Arduino Nano memiliki 14 buah
digital pin yang dapat digunakan sebagai input atau output, sengan menggunakan
fungsi pinMode(), digitalWrite(), dan digital(Read). Pin-pin tersebut ekerja pada
tegangan 5V, dan setiap pin dapat menyediakan atau menerima arus 20mA, dan
memiliki tahanan pull-up sekitar 20-50k ohm (secara default dalam posisi

Universitas Sumatera Utara

discconnect). Nilai maximum adalah 40mA, yang sebisa mungkin dihindari untuk
menghindari kerusakan chip mikrokontroller
Beberapa pin memiliki fungsi khusus :
1.

Serial, terdiri dari 2 pin : pin 0 (RX) dan pin 1 (TX) yang digunakan untuk
menerima (RX) dan mengirim (TX) data serial.

2.

External Interrups, yaitu pin 2 dan pin 3. Kedua pin tersebut dapat digunakan
untuk mengaktifkan interrups. Gunakan fungsi attachInterrupt()

3.

PWM: Pin 3, 5, 6, 9, 10, dan 11 menyediakan output PWM 8-bit dengan
menggunakan fungsi analogWrite()

4.

SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), dan 13 (SCK) mendukung
komunikasi SPI dengan menggunakan SPI Library

5.

LED : Pin 13. Pada pin 13 terhubung built-in led yang dikendalikan oleh
digital pin no 13.

6.

Arduino Nano memiliki 8 buah input analog, yang diberi tanda dengan A0
hingga A7. Masing-masing pin analog tersebut memiliki resolusi 1024 bits
(jadi bisa memiliki 1024 nilai). Secara default, pin-pin tersebut diukur dari
ground ke 5V, namun bisa juga menggunakan pin REF dengan menggunakan
fungsi analogReference().

7.

Pin Analog A6 dan A7 tidak bisa dijadikan sebagai pin digital, hanya sebagai
analog. Beberapa pin lainnya pada board ini adalah :

8.

I2C : Pin A4 (SDA) dan A5 (SCL). Pin ini mendukung komunikasi I2C
(TWI) dengan menggunakan Wire Library.

9.

AREF. Sebagai referensi tegangan untuk input analog.

Universitas Sumatera Utara

10. Reset.

Hubungkan ke LOW untuk melakukan reset terhadap mikrokontroller.

Biasanya digunakan untuk dihubungkan dengan switch yang dijadikan
tombol reset.
2.2.6 Komunikasi
Arduino Nano 3.0 memiliki beberapa fasilitas untuk berkomunikasi dengan
komputer, berkomunikasi dengan Arduino lainnya, atau dengan mikrokontroller
lain nya. Chip Atmega328 menyediakan komunikasi serial UART TTL (5V) yang
tersedia di pin 0 (RX) dan pin 1 (TX). Sebuah chip FTDI yang terdapat pada
board berfungsi menterjemahkan bentuk komunikasi ini melalui USB dan akan
tampil sebagai Virtual Port di komputer.
Pada Arduino Software (IDE) terdapat monitor serial yang memudahkan data
textual untuk dikirim menuju Arduino atau keluar dari Arduino. Lampu led TX
dan RX akan menyala berkedip-kedip ketika ada data yang ditransmisikan melalui
chip FTDI USB to Serial via kabel USB ke komputer. Untuk menggunakan
komunikasi serial dari digital pin, gunakan SoftwareSerial library
Chip ATmega328 juga mendukung komunikasi I2C (TWI) dan SPI. Di dalam
Arduino Software (IDE) sudah termasuk Wire Library untuk memudahkan anda
menggunakan bus I2C. Untuk menggunakan komunikasi SPI, gunakan SPI
library.
2.2.7 Reset Otomatis (software)
Biasanya, ketika anda melakukan pemrograman mikrokontroller, anda harus
menekan tombol reset sesaat sebelum melakukan upload program. Pada Arduino
Uno, hal ini tidak lagi merepotkan anda. Arduino Uno telah dilengkapi dengan
auto reset yang dikendalikan oleh software pada komputer yang terkoneksi. Salah

Universitas Sumatera Utara

satu jalur flow control (DTR) dari ATmega16U pada Arduino Uno R3 terhubung
dengan jalur reset pada ATmega328 melalui sebuah kapasitor 100nF. Ketika jalur
tersebut diberi nilai LOW, mikrokontroller akan di reset. Dengan demikian proses
upload akan jauh lebih mudah dan anda tidak harus menekan tombol reset pada
saat yang tepat seperti biasanya.
2.3 Sensor HCSR-04
Alat Ultrasonic modul umunya berbentuk papan elektronik ukuran kecil dengan
beberapa rangkaian elektronik dan 2 buah transducer. Dari 2 buah transducer ini,
salah satu berfungsi sebagai transmitter dan satu lagi sebagai receiver. Ada juga
modul yang hanya mempunyai 1 buah transducer, berfungsi sebagai transmitter
dan receiver sekaligus. Tersedia pin VCC, TRIG, ECHO dan GND. Ada juga
modul yang pin TRIG dan ECHO-nya digabung menjadi satu dan pemakaiannya
berganti-ganti.
Ultrasonic modul ini bekerja dengan cara menghasilkan gelombang suara pada
frekuensi tinggi, yang kemudian dipancarkan oleh bagian transmitter. Pantulan
gelombang suara yang mengenai benda di depannya akan ditangkap oleh bagian
receiver. Dengan mengetahui lamanya waktu antara dipancarkannya gelombang
suara sampai ditangkap kembali, kita dapat menghitung jarak benda yang ada di
depan modul tersebut. Kita mengetahui kecepatan suara adalah 340m/detik.
Lamanya waktu tempuh gelombang suara dikalikan kecepatan suara, kemudian
dibagi 2 akan menghasilkan jarak antara ultrasonic modul dengan benda
didepannya.

Universitas Sumatera Utara

Gambar 2.3 HCSR-04
2.4 LCD 16x2 karakter
Sebagai antar muka pada tangki pemanas ini menggunakan LCD 16x2 karakter.
LCD akan menampilkan keadaan yang terjadi pada tangki.

Gambar 2.4 LCD 16x2 Karakter
Display elektronik adalah salah satu komponen elektronika yang berfungsi
sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid
Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan
teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau
mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi
sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.

Universitas Sumatera Utara

LCD adalah lapisan dari campuran organik antara lapisan kaca bening
dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment
dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan
medan listrik (tegangan), molekul organik yang panjang dan silindris
menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki
polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang
diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati
molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan
terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.
Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller
yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal
Display). Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi
dengan memori dan register. Memori yang digunakan microcontroler internal
LCD adalah :
1.

DDRAM (Display Data Random Access Memory) merupakan memori
tempat karakter yang akan ditampilkan berada.

2.

CGRAM (Character Generator Random Access Memory) merupakan
memori untuk menggambarkan pola sebuah karakter dimana bentuk dari
karakter dapat diubah-ubah sesuai dengan keinginan.

3.

CGROM (Character Generator Read Only Memory) merupakan memori
untuk menggambarkan pola sebuah karakter dimana pola tersebut
merupakan karakter dasar yang sudah ditentukan secara permanen oleh
pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga

Universitas Sumatera Utara

pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat
merubah karakter dasar yang ada dalam CGROM.
Register control yang terdapat dalam suatu LCD diantaranya adalah.
1.

Register perintah yaitu register yang berisi perintah-perintah dari
mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses
penulisan data atau tempat status dari panel LCD (Liquid Cristal Display)
dapat dibaca pada saat pembacaan data.

2.

Register data yaitu register untuk menuliskan atau membaca data dari atau
keDDRAM. Penulisan data pada register akan menempatkan data tersebut
keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.

3.

Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal
Display) diantaranya adalah :

4.

Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan
menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus
data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.

5.

Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan
jenis data yang masuk, apakah data atau perintah. Logika low menunjukan
yang masuk adalah perintah, sedangkan logika high menunjukan data.

6.

Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis
data, sedangkan high baca data.

7.

Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.

8.

Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke
ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

Universitas Sumatera Utara