1. Borok berair.
Cara penggunanya dengan menyiapkan daun segar secukupnya lalu direbus . Setelah itu air hasil rebusan yang dihasilkan digunakan untuk mencuci
bagian yang sakit. 2.
Rematik.
Cara penggunaanya dengan cara menumbuk daun segar dengan adas pulasari atau dengan meremas daun dengan campuran sedikit kapur hingga
halus. Setelah itu hasil tumbukanremasan dapat dikemas sebagai saleb atau
obat gosok untuk dioleskan pada bagian tubuh yang terkena rematik 3.
Perut busung, cacingan.
Cara penggunaannya dengan cara menyeduh daun senggugu yang dicampur dengan garam dan temulawak, setelah itu hasil seduhan diberikan kepada
pasien untuk diminum. 4.
Batuk.
Cara penggunaannya dengan mengunyah buah senggugu yang dicampur
dengan sirih lalu ditelan dengan menggunakan air hangat. 5.
Asma, bronchitis, susah kencing.
Cara penggunaannya dengan menyeduh akar senggugu tanpa campuran apapun kemudian hasil seduhan dapat diminum dengan keadaan hangat.
Akar senggugu dicuci bersih, lalu dipotong kecil-kecil. Seduh bahan dengan 1 cangkir air mendidih. Setelah dingin lalu diminum. Aturan pakai diminum
3 kali sehari dengan dosis yang sama.
2.2 Mikrokontroler AVR
Mikrokontroler adalah sebuah sistem microprocessor yang di dalamnya sudah terdapat CPU, ROM, RAM, IO, clock dan peralatan internal lainya yang
saling terhubung dan terorganisasi teralamati dan dikemas dalam satu chip[2]. Sehingga pengguna tinggal memprogram isi ROM sesuai aturan penggunaan oleh
pabrik yang membuatnya.
2.2.1 Konfigurasi
Pin
ATmega8535 terdiri atas 40 pin dengan konfigurasi seperti pada gambar 2.2 dan deskripsi pin ATmega8535 pada tabel 2.1[2].
Gambar 2.2 Konfigurasi pin [2]
Tabel 2.1 Deskripsi pin ATmega8535[2]
2.2.2 Peta Memori
Arsitektur AVR terdiri atas dua memori utama, yaitu data memori dan program memori, sebagai tambahan fitur dari ATmega8535 terdapat EEPROM 512
byte sebagai memori data dan dapat diprogram saat operasi [2]. ATmega8535 terdiri atas 8 Kbyte On-chip In-Sistem Reprogrammable
Flash Memory untuk menyimpan program. Karena seluruh instruksi AVR dalam bentuk 16 bit atau 36 bit. Flash dirancang dengan kompisisi 4K x 16. Untuk
mendukung keamanan software atau program, flash program memori dibagi menjadi dua bagian yaitu bagian boot program dan bagian application program.
Gambar 2.3 mengilustrasikan susunan memori program flash ATmega8535[2].
Gambar 2.3 Peta memori program [2]
2.2.3 Stack Pointer
Stack Pointer merupakan suatu bagian dari AVR yang berguna untuk menyimpan data sementara, variabel lokal, dan alamat kembali dari suatu interupsi
ataupun subrutin. Stack Pointer diwujudkan sebagai dua unit register, yaitu SPH dan SPL [2].
Saat awal, SPH dan SPL akan bernilai 0, sehingga perlu diinisialisasi terlebih dahulu. SPH merupakan byte atas Most Significant Bit MSB, sedangkan SPL
merupakan byte bawah Least Significant Bit LSB. Hal ini hanya berlaku untuk AVR dengan kapasitas SRAM lebih dari 256 byte[2].
2.2.4
Phase Correct PWM Mode
Pada mode ini sama dengan “phase frequency correct PWM” pada cara operasi cacahan register TCNT
1
menggunakan dual slope dua arahbolak-balik di mana TCNT
1
mencacah dari BOTTOM 0x0000 counting-up hingga mencapai TOP resolusi yang digunakan kemudian counting-down hingga BOTTOM
0x0000 dan begitu seterusnya. Resolusi mode phase correct PWM dapat kita tentukan secara tetap 8-, 9-, 10-bit
atau kita tentukan menggunakan register ICR
1
atau OCR
1
A dimana resolusi minimal yang diizinkan adalah 2-bit ICR
1
OCR
1
A diisi dengan 0x0003 dan maksimal 16-bit ICR
1
OCR
1
A diisi dengan 0xFFFF. Rumus untuk menentukan resolusi mode phase correct PWM.
�
�����
=
log ���+1 log 2
2.1 Dalam mode non-inverting saluran keluaran PWM Pin OC
1
x di-clear pada saat compare match TCNT
1
=OCRx ketika counting-up dan di-set pada saat compare match ketika counting down.
Gambar 2.4 Pulsa phase correct PWM [2]
Dalam mode inverting saluran keluaran PWM pin OC
1
x di-set pada saat compare match TCNT
1
=OCRx ketika counting-up dan di-clear pada saat compare match ketika counting-down [2].
Frekuensi mode phase correct PWM ditentukan dengan rumus:
�
����������
=
�
���_��
2 .� .���
2.2
2.2.5 Interupsi
ATmega8535 memiliki 21 buah sumber interupsi [2]. Interupsi tersebut bekerja jika bit 1 pada Register status atau Status Register SREG dan bit pada-
masing-masing register bernilai 1. Penjelasan sumber interupsi terdapat pada tabel 2.2.
Tabel 2.2 Sumber interupsi[2]
2.2.6 Reset dan osilator eksternal
Gambar 2.5 Rangkaian reset [2]
Rangkaian osilator adalah rangkaian pembangkit frekuensi untuk menentukan besarnya waktu untuk tiap siklus pada mikrokontroler. Chip akan reset
jika tegangan catu nol atau pin RST dipaksa 0. Jika membutuhkan tombol reset, dapat ditambah dengan rangkaian reset seperti pada gambar 2.5[2].
Tabel 2.3 Tegangan dan frekuensi kerja[2]
Tabel 2.3 menunjukkan tegangan dan frekuensi kerja pada mikroprosesor ATmega. Tegangan kerja chip tipe L dapat beroperasi 2,7 – 5,5V.
2.2.7 Osilator Mikrokontroler
Rangkaian osilator adalah rangkaian pembangkit frekuensi untuk menentukan besarnya waktu untuk tiap siklus pada mikrokontroler [2]. Waktu yang
dibutuhkan tiap satu siklus dapat dicari dengan persamaan : T
Cycle
=
12 �
���
2.3 dengan
�
���
adalah frekuensi osilator pada mikrokontroler.
2.2.8 Analog to Digital Converter
Analog To Digital Converter ADC pada ATmega8535 terhubung ke sebuah multiplekser analog yang diperlukan untuk memilih kanal ADC yang akan
digunakan. ATmega8535 memiliki 8 kanal ADC. ADC ATmega8535 dapat diaktifkan dengan memberikan supply tegangan pada port ADC [2].
ADC memiliki dua jenis mode yang dapat digunakan, yaitu mode single conversion dan mode free running. Pada mode single conversion, ADC harus
diaktifkan setiap kali akan digunakan. Pada mode free running, ADC cukup diaktifkan sekali dan selanjutnya ADC akan terus mengkonversi tanpa henti.
Pada saat mengakses ADC, register-register IO yang terlibat dalam ADC akan mengalami beberapa proses pengaturan. Proses-proses pengaturan tersebut
antara lain: a. Menentukan sumber tegangan referensi
Tegangan referensi pada ADC merupakan batas rentang representasi nilai digital hasil konversi. Hasil konversi pada mode single ended cenversion
dirumuskan sebagai berikut:
REF IN
V V
ADC 1024
⋅ =
2.4 Keterangan persamaan 2.4 :
V
IN
= tegangan masukkan analog pada kanal ADC yang aktif V
REF
= tegangan referansi yang dipilih
Tabel 2.4. Konfigurasi bit-bit ADMUX[2]
b. Memilih kanal yang aktif
Kanal yang aktif ditentukan oleh bit-bit MUX4-MUX0 pada register ADMUX. Tabel 2.3 menunjukkan konfigurasi bit-bit tersebut.
c. Menentukan prescaler Prescaler clock ADC merupakan faktor pembagi yang diterapkan pada
clock mikrokontroler. ADC mikrokontroler harus menerima frekuensi clock yang tepat agar data hasil konversi cukup valid. Nilai prescaler ditentukan oleh bit-bit
ADC Prescaler Select Bits ADPS. Tabel 2.5 menunjukkan konfigurasi bit-bit ADPS.
Tabel 2.5. Konfigurasi bit-bit ADPS [2]
d.Inisialisasi ADC Untuk mengaktifkan ADC, bit ADC Enable ADEN harus diberi logika ‘1’
set. Untuk memulai ADC, logika ‘1’ juga harus diberikan pada bit ADC Start Conversion ADSC. Waktu yang diperlukan untuk konversi adalah 25 siklus clock
ADC pada konversi pertama dan 13 siklus clock ADC untuk konversi berikutnya.
2.2.9 Timercounter 0
Timercounter 0 adalah sebuah timercounter yang dapat mencacah sumber pulsaclock baik dari dalam chip timer ataupun dari luar chip counter dengan
kapasitas 8-bit atau 256 cacahan [2]. Dapat digunakan untuk :
a. Timercounter biasa b. Clear Timer on Compare Match selain ATmega8
c. Generator frekuensi selain ATmega8 d. Counter pulsa eksternal.
Mempunyai hingga 10-bit 1024 Clock Prescaler pemilihan clock yang masuk ke timercounter.
2.2.10 Register Pengendali Timer 0
TimerCounter Control Register – TCCR0 Tabel 2.6. Register TCCR0 [2]
Bit CS00 s.d. 02 bertugas untuk memilih prescaler atau mendefinisikan pulsaclock yang akan masuk ke dalam timercounter0 [2]. Tabel 2.6 menunjukkan
register pada TCCR0 dan Tabel 2.7 menunjukkan prescaler timercounter0.
Tabel 2.7. Prescaler timercounter0 [2]
1 clk timercounter0= 8 clk cpu artinya tiap 8 clock CPU yang masuk ke dalam timercounter0 dihitung satu oleh register pencacah TCNT0. Falling edge adalah
perubahan pulsaclock dari 1 ke 0. Rising edge adalah perubahan pulsaclock dari 0 ke 1. Bit 7 – F0C0 : Force Output Compare
Bit ini hanya dapat digunakan untuk metode pembanding . Jika bit – F0C0 di-set maka akan memaksa terjadinya compare-match TCNT0==OCR0.
Bit 3, 6 – WGM01:0: Waveform Generation Mode Kedua bit ini digunakan memilih mode yang digunakan, seperti yang terlihat pada
Tabel 2.8.
Tabel 2.8. Mode operasi [2]
Bit 5:4 – COM01:0: Compare Match Output Mode Kedua bit ini berfungsi mendefinisikan pin OC0 sebagai output timer0 atau
sebagai saluran output PWM. Tabel 2.9 menunjukkan output pin OC0 pada mode Normal dan CTC, Tabel 2.10 menunjukkan output pin OC0 pada mode Fast PWM
dan Tabel 2.11 menunjukan output pin OC0 pada mode Phase Correct PWM.
Tabel 2.9. Mode Normal dan CTC [2]
Tabel 2.10. Mode Fast PWM [2]
Tabel 2.11. Mode Phase Correct PWM [2]
Tabel 2.12. Register TCNT0 [2]
Register ini bertugas menghitung pulsa yang masuk ke dalam timercounter, seperti terlihat pada Tabel 2.12 [2]. Kapasitas register ini 8-bit atau 255 hitungan, setelah
mencapai hitungan maksimal maka akan kembali ke nol overflowlimpahan.
Output Compare Register – OCR0 Tabel 2.13. Register OCR0 [2]
Register ini bertugas sebagai register pembanding yang bisa kita tentukan besarnya sesuai dengan kebutuhan, seperti terlihat pada Tabel 2.13 [2]. Dalam
praktiknya pada saat TCNT0 mencacah maka otomatis oleh CPU aka membandingkan dengan isi OCR0 secara kontinyu dan jika isi TCNT0 sama
dengan isi OCR0 maka akan terjadi compare match yang dapat dimanfaatkan untuk mode CTC dan PWM.
TimerCounter Interrupt Mask Register – TIMSK Tabel 2.14. Register TIMSK [2]
Tabel 2.14 menunjukan register TIMSK [2]. Bit 0 – TOIE0: TCo Overflow Interrupt Enable
Dalam register TIMSK timerconter0 memiliki bit TOIE0 sebagai bit peng-aktif interupsi timercounter0 TOIE0=1 enable, TOIE0=0 disable.
Bit 1 – OCIE0: TCo Output Compare Match Interrupt Enable Selain ATmega8, TIMSK timercounter0 memiliki bit OCIE0 sebagai bit peng-
aktif interupsi compare match timercounter0 OCIE0=1 enable, OCIE0=0 disable.
TimerCounter Interrupt Flag Register – TIFR
Tabel 2.15. Register TIFR [2]
Tabel 2.15 menunjukan register TIFR [2]. Bit 1 – OCF0: Output Compare Flag 0
Flag OCF0 akan set sebagai indikator terjadinya compare match, dan akan clear sendiri bersamaan eksekusi vektor interupsi timer0 compare match.
Bit 0 – TOC0: Timer Counter 0 Overflow flag Bit status timercounter0 dalam register TIFR, di mana bit-TOV0 TimerCounter0
overflow akan set secara otomatis ketika terjadi limpahanoverflow pada register TCNT0 dan akan clear bersamaan dengan eksekusi vektor interupsi.
Perhitungan overflow interupt sebagai pembangkit PWM ditunjukkan pada persamaan 2.5 berikut [2]:
Timer overflow
=
1 ��������
��� + 1
2.5
2.2.11 Driver
Gambar 2.6 IC driver L298 [5]
Ada beberapa macam model rangkaian driver di antaranya yaitu driver yang menggunakan IC L298 [5].
IC L298 memiliki kemampuan menggerakkan motor DC sampai arus 4A dan tegangan maksimum 46V DC untuk satu kanalnya. Driver motor DC dengan IC
L298 diperlihatkan pada gambar 2.6. Pin Enable A dan B untuk mengendalikan kecepatan motor, pin input -1 sampai -4 untuk mengendalikan arah putaran. Pin
Enable diberi VCC 5V untuk kecepatan penuh dan PWM Pulse Width Modulation untuk kecepatan rotasi yang bervariasi tergantung dari levelnya.
2.3 LCD