Perancangan Sistem Pengukur Detak Jantung Secara Jarak Jauh Berbasis ATmega 8535 Dengan Tampilan PC

BAB II
LANDASAN TEORI

Jantung adalah organ vital dan merupakan pertahanan terakhir untuk hidup
selain otak. Denyut yang ada di jantung ini tidak bisa dikendalikan oleh manusia.
Berapa sebenarnya jumlah rata-rata denyut jantung yang normal? Denyut jantung
biasanya mengacu pada jumlah waktu yang dibutuhkan oleh detak jantung per
satuan waktu, secara umum direpresentasikan sebagai bpm (beats per minute).
Denyut jantung yang optimal untuk setiap individu berbeda-beda tergantung pada
kapan waktu mengukur detak jantung tersebut (saat istirahat atau setelah
berolahraga).
Variasi dalam detak jantung sesuai dengan jumlah oksigen yang
diperlukan oleh tubuh saat itu.Detak jantung atau juga dikenal dengan denyut nadi
adalah tanda penting dalam bidang medis yang bermanfaat untuk mengevaluasi
dengan cepat kesehatan atau mengetahui kebugaran seseorang secara umum. Pada
orang dewasa yang sehat, saat sedang istirahat maka denyut jantung yang normal
adalah sekitar 60-100 denyut per menit (bpm). Jika didapatkan denyut jantung
yang lebih rendah saat sedang istirahat, pada umumnya menunjukkan fungsi
jantung yang lebih efisien dan lebih baik kebugaran kardiovaskularnya.

Tabel 2.1 Detak Jantung Normal dalam “beats per menit”

bayi baru
lahir
(0-3
bulan)
100-150

anak di atas 10
orok

bayi

anak kecil

tahun & orang

atlet

(3 — 6

(6 — 12


(1 — 10

dewasa,

dewasa

bulan)

bulan)

tahun)

termasuk

terlatih

lansia
90–120


80-120

70–130

60–100

40–60

Universitas Sumatera Utara

2.1

Mikrokontroler ATMega 8535
Mikrokontroler merupakan sebuah single chip yang didalamnya telah

dilengkapi dengan CPU (Central Processing Unit), RAM (Random Access
Memori), ROM (Read Only Memori), Input dan Output, Timer/Counter, Serial
com port secara spesifik digunakan untuk aplikasi – aplikasi kontrol dan aplikasi
serbaguna. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu
seperti pada sebuah penggerak motor. Read Only Memori (ROM) yang isinya

tidak berubah meskipun IC kehilangan catu daya. Memori penyimpanan program
dinamakan sebagai memori program. Random Access Memori (RAM) isinya akan
langsung hilang ketika IC kehilangan catudaya yang dipakai untuk menyimpan
data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini
disebut sebagai memori data.
Mikrokontroler

biasanya

dilengkapi

dengan

UART

(Universal

Asychronous Receiver Transmitter) yaitu port serial komunikasi serial asinkron,
USART (Universal Syncrhronous and Asyncrhronous Serial Receiver and
Transmitter) yaitu port yang digunakan untuk komunikasi serial sinkron dan

asinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI (Serial Port
Interface), SCI (Serial Communication Interface), Bus RC (Intergrated circuit
Bus) merupakan 2 jalur yang terdapat 8 bit, CAN (Control Area Network)
merupakan standart pengkabelan SAE (Society of Automatic Engineers).
Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada
dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang
menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang
relative murah. Mikrokontroler saat ini merupakan chip utama pada hamper setiap
peralatan elektronika canggih. Mikrokontroler AVR memiliki arsitektur RISC 8
bit, dimana semua instruksi dikemas dalam kode 16 bit (16 bit word) dan sebagian
besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51
yang membutuhkan siklus 12 clock. AVR berteknologi RISC (Reduce Instruction
Set Computing), sedangkan seri MCS51berteknologi CISC (Complex Instruction
Set Computing). Secara umum, AVR dikelompokkan menjadi beberapa kelas,
yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang
membedakan masing – masing kelas adalah memori, peripheral dan fungsinya.

Universitas Sumatera Utara

Dari segi arsitektur dan instruksi yang digunakan, mereka bias dikatakan hamper

sama.
Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya
mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai
tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam
suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor)
standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda
dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki
arsitektur CISC (seperti komputer).

Gambar 2.1 Blok Diagram ATMega8535

Dari gambar tersebut dapat dilihat bahwa Atmega8535 memiliki
bagian sebagai berikut :

Universitas Sumatera Utara

1.

Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D.


2.

ADC 10 bit sebanyak 8 saluran.

3.

Tiga buah Timer/Counter dengan kemampuan pembandingan.

4.

CPU yang terdiri atas 32 buah register.

5.

Watchdog Timer dengan osilator internal.

6.

SRAM sebesar 512 byte.


7.

Memori Flash sebesar 8 kb dengan kemampuan Read While Write.

8.

Unit interupsi internal dan eksternal.

9.

Port antarmuka SPI.

10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11. Antarmuka komparator analog.
12. Port USART untuk komunikasi serial

2.1.1. Fitur ATMega8535
Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai
berikut:
1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.

2. ADC internal sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
7. Port antarmuka SPI
8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
9. Antarmuka komparator analog.
10. Port USART untuk komunikasi serial.
11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.

Universitas Sumatera Utara

2.1.2. Konfigurasi Pin ATMega 8535
Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline
Package) dapat dilihat pada gambar xxxxxx. Dari gambar di atas dapat
dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merukan pin Ground.

3. Port A (PortA0…PortA7) merupakan pin input/output dua arah dan pin
masukan ADC.
4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan dan
pin fungsi khusus,
5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin
fungsi khusus,
6. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin
fungsi khusus,
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREFF merupakan pin masukan tegangan referensi ADC.

Gambar 2.2 Konfigurasi Pin ATmega8535 PDIP

Universitas Sumatera Utara

Berikut ini penjelasan mengenai konfigurasi pin ATMega8535 sebagai
berikut :
1. Port A

Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction
Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A
digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.

2. Port B
Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data Direction
Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B
digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin
port B juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat
dalam tabel:
Tabel 2.2 Penjelasan pin pada port B
Pin

Keterangan

PB.7

SCK (SPI Bus Serial Clock)

PB.6

VISO (SPI Bus Master Input/Slave Output)

PB.5

VOSI (SPI Bus Master Output/Slave Input)

PB.4

SS (SPI Slave Select Input)

PB.3

AIN1 (Analog Comparator Negative Input)OCC
(Timer/Counter0 Output Compare Match Output)

PB.2

AIN0 (Analog Comparator Positive Input)INT2 (External
Interrupt2 Input)

PB.1

T1 (Timer/Counter1 External Counter Input)

Universitas Sumatera Utara

PB.0

T0 (Timer/Counter0 External Counter Input)XCK (JSART
External Clock Input/Output)

3. Port C
Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri
merupakan port input atau output. Setiap pin-nya dapat menyediakan internal
pull-up resistor (dapat diatur per bit). Output buffer port C dapat memberi arus
20 mA dan dapat mengendalikan display LED secara langsung. Data Direction
Register port C (DDRC) harus di-setting terlebih dahulu sebelum port C
digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output.
4. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit
directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up
resistor (dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara langsung. Data

Direction

Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D
digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang
disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin
port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat
dalam tabel:
Tabel 2.3 Penjelasan pin pada port D
Pin

Keterangan

PD.0

RDX (UART input line)

PD.1

TDX (UART output line)

PD.2

INT0 (external interrupt 0 input)

PD.3

INT1 (external interrupt 1 input)

PD.4

OC1B (Timer/Counter1 output compareB match output)

PD.5

OC1A (Timer/Counter1 output compareA match output)

PD.6

ICP (Timer/Counter1 input capture pin)

PD.7

OC2 (Timer/Counter2 output compare match output)

Universitas Sumatera Utara

2.1.3. Peta Memori ATMega 8535
ATMega8535 memiliki dua jenis memori yaitu Data Memori dan Program
Memori ditambah satu fitur tambahan yaitu EEPROM Memori untuk penyimpan
data.
1. Program Memori
ATMEGA 8535 memiliki On-Chip In-Sistem Reprogrammable Flash
Memory untuk menyimpan program. Untuk alasan keamanan, program memori
dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash
Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader,
yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali
diaktifkan.
Application Flash Section digunakan untuk menyimpan program aplikasi
yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum
menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat
diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi
bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada
Application Flash Section juga sudah aman.

Gambar 2.3 Peta Memori Program
2. Data Memori
Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 8535.
Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk
Register File dan I/O Memori sementara 512 lokasi address lainnya digunakan
untuk internal data SRAM. Register file terdiri dari 32 general purpose working
register, I/O register terdiri dari 64 register.

Universitas Sumatera Utara

Gambar 2.4 Peta Memori Data
3. EEPROM Data Memori
ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk
menyimpan data. Loaksinya terpisah dengan sistem address register, data register
dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM
dimulai dari $000 sampai $1FF.

Gambar 2.5 EEPROM Data Memori

2.1.4. Status Register (SREG) ATMega8535
Status register adalah register berisi status yang dihasilkan pada setiap
operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan
bagian dari inti CPU mikrokontroler.

Gambar 2.6 Status Register ATMega 8535

Universitas Sumatera Utara

1. Bit 7-I : Global Interrupt Enable
Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat
mengaktifkan interupsi mana yang akan digunakan dengan cara mengenable bit kontrol register yang bersangkutan secara individu. Bit akan diclear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit
tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh
instruksi RETI.
2. Bit 6-T : Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan
dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit
T menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali
ke suatu bit dalam register GPR menggunakan instruksi BDL.
3. Bit 5-H : half Carry Flag
4. Bit 4-S : Sigh Bit
Bit-S merupakan hasil operasi EOR antara Flag-N (negatif) dan flag V
(komplemen dua overflow).
5. Bit 3-V : Two’s Complement Overflow Flag
Bit berguna untuk mendukung operasi aritmatika.
6. Bit 2-N : Negative Flag
Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan
di-set.
7. Bit 1-Z : Zero Flag
Bit akan di-set bila hasil operasi yang diperoleh adalah nol.
8. Bit 0-C : Carry Flag
Apabila suatu operasi menghasilkan carry, maka bit akan di-set.
Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai
input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O
sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Logika
port I/O dapat berubah-ubah dalam program secara byte atau hanya bit tertentu.
Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi
(clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk

Universitas Sumatera Utara

menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in
atau out yang menggunakan register bantu.

2.1.5

Organisasi memori AVR ATMega8535

AVR ATMega8535 memiliki ruang pengalamatan memori data dan
memori program yang terpisah. Sebagai tambahan, ATmega8535memiliki fitur
suatu EEPROM Memori untuk penyimpanan data. Semuatiga ruang memori
adalah reguler dan linier.
a.

Memori Data
Memori data terbagi menjadi 3 bagian, yaitu 32 register umum,64 buah

register I/O,dan 512 byte SRAM Internal.Register keperluan umum menempati
space data pada alamatterbawah, yaitu $00 sampai $1F. Sementara itu, register
khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati
64alamat

berikutnya,

tersebutmerupakan
fungsiterhadap

yaitu

register

berbagai

mulai
yang

dari
khusus

peripheral

$20

hingga

digunakan

mikrokontroler,

$5F.
untuk
seperti

Register
mengatur
kontrol

register,timer/counter, fungsi – fungsi I/O, dan sebagainya. Register khususalamat
memori secara lengkap dapat dilihat pada Tabel 2.2. Alamatmemori berikurnya
digunakan untuk SRAM 512 byte, yaitu pada lokasi$60 sampai dengan $25F.
Konfigurasi memori data ditunjukkan pada tabel di bawah ini.
Tabel 2.4 Konfigurasi Data AVR ATMega8535

Universitas Sumatera Utara

b.

Memori Program
ATmega8535 berisi 8K bytes On-Chip di dalam sistem Memoriflash

Reprogrammable untuk penyimpanan program. Karena semuaAVR instruksi
adalah 16 atau 32 bits lebar, Flash adalah berbentuk 4K x16. Untuk keamanan
perangkat lunak, Flash Ruang program memori adalah dibagi menjadi dua bagian,
bagian boot program dan bagian aplikasi program dengan alamat mulai dari $000
sampai

$FFF.Flash

Memori

mempunyai

suatu

daya

tahan

sedikitnya

10,000write/erase Cycles. ATmega8535 Program Counter (PC) adalah 12 bitlebar,
alamat ini 4K lokasi program memori.

Gambar 2.7 Memori Program AT Mega 8535
c.

Port Sebagai Input/Output Digital
ATmega8535 mempunyai empat buah port yang bernama PortA, PortB,

PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan
pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn,
PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf
‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit PORTxn
terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx.
Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin.
Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka

Universitas Sumatera Utara

Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi
sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan
resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output.
Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin
terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila
PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port
akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0,
PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada
kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau
kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled
dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak
memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pullup. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1
untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input
dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama.
Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi
output high (DDxn=1, PORTxn=0) sebagai kondisi transisi. Lebih detil mengenai
port ini dapat dilihat pada manual datasheet dari IC ATmega8535

2.2

Sensor Detak Jantung (plusesensor)
Sensor ini dapat digunakan untuk mempermudah penggabungan antara

pengukuran

detak

jantung

dengan

aplikasi

data

ke

dalam

pengembangannya.Pulsesensor mencakup sebuah aplikasi monitoring.Pada
Pulsesensor digunakan LED berwarna hijau, karena sensor cahaya yang
digunakan yaitu APDS-9008 memiliki puncak sensitivitas sebesar 565nm. Dalam
hal ini LED hijau memiliki panjang gelombang 495-570 nm sehingga sesuai
dengan kebutuhan sensor tersebut.

Universitas Sumatera Utara

Gambar 2.8 Pulsesensor
Mendeteksi jantung berdetak / pulsa dan menghitung pulsa selama satu
menit untuk mendapatkan denyut per menit. Jadi untuk mendeteksi denyut nadi
kita akan melewati cahaya (menggunakan LED) dari satu sisi jari dan mengukur
intensitas cahaya yang diterima di sisi lain . Setiap kali jantung memompa darah
lebih banyak cahaya yang diserap oleh peningkatan sel darah dan kami akan
mengamati penurunan intensitas cahaya yang diterima pada sensor. Akibatnya
nilai output sensor meningkat,diubah menjadi variasi tegangan menggunakan
rangkaian pengkondisian sinyal biasanya OP-AMP. sinyal diperkuat cukup untuk
dapat dideteksi oleh input mikrokontroler. Sinyal yang diberikan ke input
mikrokontroler akan terlihat agak seperti yang ditunjukkan pada gambar di bawah
dalam osiloskop. mikrokontroler dapat diprogram untuk menerima interupsi untuk
setiap pulsa terdeteksi dan menghitung jumlah interupsi atau pulsa dalam satu
menit. Nilai hitungan pulsa per menit akan memberikan tingkat jantung di bpm
(beats per menit).

Gambar 2.9 Cara Kerja Plusesensor

Universitas Sumatera Utara

Atau untuk menghemat waktu, hanya jumlah pulsa selama sepuluh detik dihitung
dan kemudian dikalikan dengan 6 untuk mendapatkan jumlah pulsa selama 60
detik / 1 menit.

2.3.

Modul Wifi ESP8266
ESP8266 adalah chip terintegrasi yang dirancang untuk kebutuhan

terhubungnya dunia. Ia menawarkan solusi jaringan Wi-Fi yang lengkap dan
mandiri, yang memungkinkan untuk menjadi host atau mentransfer semua fungsi
jaringan Wi-Fi dari prosesor aplikasi lain. ESP8266 memiliki kemampuan
pengolahan dan penyimpanan on-board yang kuat, yang memungkinkannya
untuk diintegrasikan dengan sensor dan aplikasi perangkat khusus lain melalui
GPIOs dengan pengembangan yang mudah sertawaktu loading yang minimal.
Tingkat integrasinya yang
kebutuhan

sirkuit

eksternal,

tinggi memungkinkan untuk meminimalkan
termasuk

modul front-end, dirancang untuk

mengisi daerah PCB yang minimal board ESP8266 yang menawarkan solusi
jaringan Wi - Fi yang lengkap dan mandiri, yang memungkinkan untuk host
aplikasi atau offload semua fungsi jaringan Wi -Fi dari aplikasi lain prosesor.
Dapat berfungsi sebagai adapter Wi-Fi, akses internet nirkabel dapat ditambahkan
ke setiap mikrokontroler dengan konektivitas sederhana melalui UART interface.
Esp8266 dapat diperintah menggunakan AT Command atau berkomunikasi
melalui SPI atau serial. Hal ini menyebabkan ESP8266 dapat secara langsung
untuk menuspport koneksi wifi secara langsung.
modul ini menyediakan akses ke jaringan WiFi secara transparan dengan mudah
melalui interkoneksi serial (UART RX/TX). ESP8266 dapat bertindak sebagai:
- Client ke suatu wifi router, sehingga saat konfigurasi dibutuhkan setting nama
access pointnya dan juga passwordnya
- Access Point, dimana ESP8266 dapat menerima akses wifi.
Modul WiFi ini merupakan SoC (System on Chip) dengan stack protokol TCP/IP
yang telah terintegrasi, sehingga memungkinkan mikrokontroler untuk mengakses jaringan WiFi.

Universitas Sumatera Utara

Keunggulan utama modul ini adalah tersedianya mikrokontroler RISC (Tensilica
106µ Diamond Standard Core LX3) dan Flash Memory SPI 4 Mbit Winbond
W2540BVNIGterpadu,
Fitur SoC ESP8266EX:













Mendukung protokol 802.11 b/g/n
WiFi Direct (P2P / Point-to-Point), Soft-AP / Access Point
TCP/IP Protocol Stackterpadu
Mendukung WEP, TKIP, AES, dan WAPI
Pengalih T/R, balun, LNA (penguat derau rendah) terpadu
Power Amplifier / penguat daya 24 dBm terpadu
Sirkuit PLL, pengatur tegangan, dan pengelola daya terpadu
Daya keluaran mencapai +19,5 dBm pada moda 802.11b
Sensor suhu internal terpadu
Mendukung berbagai macam antena
Kebocoran arus pada saat non-aktif kurang dari 10µA
CPU mikro 32-bit terpadu yang dapat digunakan sebagai pemroses
aplikasi lewat antarmuka iBus, dBus, AHB (untuk akses register), dan







JTAG (untuk debugging)
Antarmuka SDIO 2.0, SPI, UART
STBC, 1x1 MIMO, 2x1 MIMO
Agregasi A-MPDU dan A-MSDU dengan guard interval0,4 µs
Waktu tunda dari moda tidur hingga transmisi data kurang dari 2 ms
Konsumsi daya saat siaga kurang dari 1 mW (DTIM3)

Berikut ini adalah diagram bagian fungsional dari Espressif ESP8266:

Universitas Sumatera Utara

Gambar 2.10 Modul Wifi & Diagram Fungsional ESP826

Modul WiFi ini bekerja dengan catu daya 3,3 volt. Salah satu kelebihan
modul ini adalah kekuatan transmisinya yang dapat mencapai 100 meter, dengan
begitu modul ini memerlukan koneksi arus yang cukup besar (rata-rata 80 mA,
mencapai 215 mA pada CCK 1 MBps, moda transmisi 802.11b dengan daya
pancar +19,5 dBm belum termasuk 100 mA untuk sirkuit pengatur tegangan
internal).Untuk komunikasi, model ini menggunakan koneksi 115200,8,N,1
(115.20)bps, 8 data-bit, no parity, 1stop bit).

2.4.

Bahasa Pemograman (Codevision AVR)
CodeVisionAVR merupakan salah satu software gratis yang berfungsi

sebagai text editor dalam menulis baris perintah sekaligus sebagai compiler yang
dapat mengubah file sumber menjadi file hexa.
CodeVisionAVR menyediakan berbagai fasilitas yang memudahkan
pengguna. Salah satunya adalah CodeWizardAVR yang memberikan kemudahan
dalam melakukan konfigurasi fungsi-fungsi pin dan fitur yang yang ingin
digunakan.
Penggunan dapat membuat dan menjalankan program yang ditulis,
kemudian mengujinya langkah demi langkah sehingga pengguna dapat mengamati
perubahan data pada setiap register dan port I/O. Pengembangan sebuah sistem

Universitas Sumatera Utara

menggunakan mikrokontroler AVR buatan ATMEL menggunakan

software

AVR STUDIO dan CodeVisionAVR. AVR STUDIO merupakan software yang
digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap,
yaitu digunakan untuk menulis program, kompilasi, simulasi dan download
program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan
software C-cross Compiler,

dimana program dapat ditulis dalam bahasa C,

CodeVision memiliki IDE (Integrated Development Environment) yang lengkap,
dimana penulisan program, compile, link, pembuatan kode mesin (assembler) dan
download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu
ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroler
yang sudah di program. Proses download program ke IC mikrokontroler AVR
dapat menggunakan Sistem programmable Flash on-Chip mengizinkan memori
program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.
CodeVisionAVR

merupakan

sebuah

cross-compiler

C,

Integrated

Development Environtment (IDE), dan Automatic Program Generator yang
didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat
dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Crosscompiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C,
sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur
untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada
sistem embedded.
File object COFF hasil kompilasi dapat digunakan untuk keperluan
debugging pada tingkatan C, dengan pengamatan variabel, menggunakan
debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software
AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan
transfer program kedalam chip mikrokontroler setelah sukses melakukan
kompilasi/asembli secara otomatis. Software In-System Programmer didesain
untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR
dan MicroTronics ATCPU/Mega2000 programmers/development boards.

Universitas Sumatera Utara

Untuk keperluan debugging sistem embedded, yang menggunakan
komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah Terminal.
Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk:




Modul LCD alphanumeric



Sensor Suhu LM75 dari National Semiconductor



dari Maxim/Dallas Semiconductor



Bus I2C dari Philips

Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307



Protokol 1-Wire dari Maxim/Dallas Semiconductor



Semiconductor



EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor



Power Management

Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas



Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor



SPI



Delay
Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator bernama
CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit,
semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:




Set-up akses memori eksternal



Identifikasi sumber reset untuk chip



Inisialisasi interupsi eksternal



Inisialisasi Watchdog-Timer



digerakkan oleh interupsi



Inisialisasi port input/output



Inisialisasi Timer/Counter

Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang

Inisialisasi Pembanding Analog

Universitas Sumatera Utara





Inisialisasi ADC



Inisialisasi Antarmuka Two-Wire



Inisialisasi Antarmuka SPI



Inisialisasi Antarmuka CAN\



DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307



Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat

Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
Inisialisasi modul LCD

Universitas Sumatera Utara