Sistem Monitoring Infus Berbasis Mikrokontroler AVR ATMega 16.

(1)

i Universitas Kristen Maranatha

SISTEM MONITORING INFUS BERBASIS

MIKROKONTROLER AVR ATMEGA 16

Tedi Susanto / 0322184

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : susantotedi@yahoo.co.id

ABSTRAK

Perkembangan teknologi pada saat ini, meningkatkan kreasi manusia dalam menciptakan perangkat yang dapat mendukung kinerja manusia dalam melakukan proses pekerjaan khususnya dalam dunia medis, agar lebih praktis dan efisien.

Dalam tugas akhir ini telah dirancang dan direalisasikan sistem monitoring infus berbasis mikrokontroler AVR ATmega16. Setiap tetesan infus dideteksi menggunakan sensor infra red.

Sebelum melakukan proses monitoring, User menentukan input parameter (volume infus, selang infus, dan jumlah tetesan per menit) menggunakan dip switch. Hasil pendeteksian akan ditampilkan dalam LCD (Liquid Cristal Display) dan akan ditampilkan pula pada PC. Dari hasil percobaan dapat disimpulkan, alat dapat bekerja dengan baik dengan sistem error sebesar 0.750.


(2)

ii Universitas Kristen Maranatha

INFUSION MONITORING SYSTEM BASED ON MICROCONTROLLER AVR ATMEGA16

Tedi Susanto / 0322184

Electrical Engineering, Maranatha Christian University, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : susantotedi@yahoo.co.id

ABSTRACT

Technology development in this present, increasing human creation in made sets of equipment that can support human performance in doing the activity process specifically for medical, in order to more practical and efficient.

In this final project already designed and realized infusion monitoring system based on microcontroller AVR ATmega16. Each infusion drop detected using infra red sensor.

Before doing the monitoring process, user determine input parameter (infusion volume, infusion set and number of drop per minute) using dip switch. The Result of detection will displayed in LCD (Liquid Cristal Display) and also displayed in PC. From the result of experiment can be concluded that device can working properly with error system 0.750.


(3)

v Universitas Kristen Maranatha

DAFTAR ISI

Halaman

ABSTRAK ...i

ABSTRACT ...ii

KATA PENGANTAR ...iii

DAFTAR ISI ...v

DAFTAR TABEL ...viii

DAFTAR GAMBAR ...x

BAB I PENDAHULUAN I.1. Latar Belakang ...1

I.2. Identifikasi Masalah ...1

I.3. Perumusan Masalah ...1

I.4. Tujuan ...1

I.5. Batasan Masalah ...2

I.6. Spesifikasi Alat ...2

I.7. Sistem Penulisan ...2

BAB II LANDASAN TEORI II.1. Prosedur Pemberian Cairan Infus ...4

II.1.1. Jenis-jenis Cairan Infus ...4

II.1.2. Alat-alat Infus ...8

II.1.3. Ketentuan Pemberian Asupan Cairan Infus ...9

II.2. Sensor Infra Red ...9

II.3. Display LCD 2 x 16 ...10

II.4. Pengenalan ATMEL AVR RISC ...11

II.4.1. Pengontrol mikro ATMega 16 ...12

II.4.1.1. Fitur ATmega 16 ...12

II.4.1.2. Konfigurasi Pin Atmega 16 ...13


(4)

vi Universitas Kristen Maranatha

II.4.1.4. General Purpose Register ATmega 16 ...17

II.4.1.5. Peta Memori ATmega16 ...18

II.4.1.6. Pin Input/Output Atmega 16 ...19

II.4.1.7. Timer/Counter ...20

II.4.1.7.1. Timer/Counter 8 Bit ...20

II.4.1.7.2. Timer/Counter 1 (16 Bit) ...24

II.4.1.7.3. Prescaler ...28

II.4.1.7.4. Perhitungan Waktu Timer ...29

II.5. Komunikasi Serial RS-232 ...29

II.6. Pemprograman Borlan Delphi 7.0 ...30

BAB III PERANCANGAN DAN REALISASI III.1. Perancangan Sistem Perangkat Keras ...35

III.1.1. Pengontrol mikro ...35

III.1.2. Rangkaian Interfacing ke Input/Output ...36

III.1.3. Antarmuka komunikasi serial RS-232 ...36

III.1.4. Aplikasi Dip Switch Pada Sistem Monitoring Infus ...37

III.1.4. Aplikasi Sensor Infra Red pada Sistem Monitoring Infus ...38

III.1.5. Personal Computer (PC) ...40

III.2. Perangkat Lunak ...40

III.2.1. Perangkat Lunak pada Mikrokontroler ATMega 16 ...40

III.2.2. Perangkat Lunak pada Komputer ...44

III.2.2.1. Pemprogram Sistem Monitoring Infus ...46

III.2.2.2. Perancangan Antar Muka Pemakai (User Interface) 48 III.3. Perancangan Kotak Dudukan Cairan Infus dan Kotak Rangkaian ...50

III.4. Perancangan Aplikasi Alat Sistem Monitoring Infus ...51

BAB IV DATA PENGAMATAN DAN ANALISA IV.1. Pengujian Alat Sistem Monitoring Infus ...52


(5)

vii Universitas Kristen Maranatha

BAB V KESIMPULAN DAN SARAN

V.1. Kesimpulan ...69 V.2. Saran ...69

DAFTAR PUSTAKA ... 70

LAMPIRAN A Foto Sistem LAMPIRAN B Daftar Program LAMPIRAN C Datasheet


(6)

viii Universitas Kristen Maranatha

DAFTAR TABEL

Halaman

1. Tabel 2.1. Pin LCD dan Fungsinya ...11

2. Tabel 2.2. Fungsi Khusus Port B ...14

3. Tabel 2.3. Fungsi Khusus Port C ...15

4. Tabel 2.4. Fungsi Khusus Port D ...15

5. Tabel 2.5. Konfigurasi Port ATmega 16 ...20

6. Tabel 2.6. Konfigurasi WGM01 dan WGM00 ...22

7. Tabel 2.7. Compare Output Mode, non-PWM Mode ...23

8. Tabel 2.8. Compare Output Mode, Fast PWM Mode ...23

9. Tabel 2.9. Compare Output Mode, Phase Correct PWM Mode ...23

10. Tabel 2.10. Setting Sumber Clock ...24

11. Tabel 2.11. Clock Select Bit ...28

12. Tabel 2.12. Konfigurasi Pin pada Komunikasi Serila RS-232 ...30

13. Tabel 3.1. Objek dan Properti ...49

14. Tabel 4.1. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...52

15. Tabel 4.2. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...53

16. Tabel 4.3. Tabel Pengujian Tanda Peringatan Cairan Habis ...53

17. Tabel 4.4. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...54

18. Tabel 4.5. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...55

19. Tabel 4.6. Tabel Pengujian Tanda Peringatan Cairan Habis ...55

20. Tabel 4.7. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...56

21. Tabel 4.8. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...57

22. Tabel 4.9. Tabel Pengujian Tanda Peringatan Cairan Habis ...57

23. Tabel 4.10. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...58

24. Tabel 4.11. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...59

25. Tabel 4.12. Tabel Pengujian Tanda Peringatan Cairan Habis ...59

26. Tabel 4.13. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...60

27. Tabel 4.14. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...61


(7)

ix Universitas Kristen Maranatha 29. Tabel 4.16. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...62 30. Tabel 4.17. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...63 31. Tabel 4.18. Tabel Pengujian Tanda Peringatan Cairan Habis ...63 32. Tabel 4.19. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...64 33. Tabel 4.20. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...65 34. Tabel 4.21. Tabel Pengujian Tanda Peringatan Cairan Habis ...65 35. Tabel 4.22. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...66 36. Tabel 4.23. Tabel Pengujian Tanda Peringatan Terjadi Kesalahan ...67 37. Tabel 4.24. Tabel Pengujian Tanda Peringatan Cairan Habis ...67 38. Tabel 4.25. Tabel Pengujian Error Sistem Pada Pendeteksian Tetesan ...68


(8)

x Universitas Kristen Maranatha

DAFTAR GAMBAR

Halaman

1. Gambar 2.1. Botol Cairan Infus ...8

2. Gambar 2.2. Infusion Set ...8

3. Gambar 2.3. Photodioda dan Phototransistor ...10

4. Gambar 2.4. LCD ...10

5. Gambar 2.5. Hubungan Port C dengan LCD ...10

6. Gambar 2.6. Konfigurasi Pin ATMega16 ...14

7. Gambar 2.7. Diagram Blok ATmega 16 ...17

8. Gambar 2.8. General Puspose Register ATmega 16 ...18

9. Gambar 2.9. Pemetaan Memori ATmega 16 ...18

10. Gambar 2.10. Pemetaan Memori Data ATmega 16 ...19

11. Gambar 2.11. Blok Diagram Timer/Counter 8 bit ...21

12. Gambar 2.12. Register TCCRn ...21

13. Gambar 2.13. Blok Diagram Timer1 ...25

14. Gambar 2.14. Register TCNT ...25

15. Gambar 2.15. Register TIMSK ...26

16. Gambar 2.16. Register TIFR ...27

17. Gambar 2.17. Register TCCR1B ...27

18. Gambar 2.18. Tampilan Layar Borlan Delphi 7.0 ...31

19. Gambar 3.1. Diagram Blok Sistem ...34

20. Gambar 3.2. Rangkaian Antarmuka RS-232 ...37

21. Gambar 3.3. Input Parameter Pada Dip Switch ...37

22. Gambar 3.4. Rangkaian Aplikasi Sensor Infra Red ...38

23. Gambar 3.5. Proses Kerja Sensor Pada Sistem Monitoring Infus ...38

24. Gambar 3.6. Rangkaian Skematik Sistem Monitoring Infus ...39

25. Gambar 3.7. A. Blok Diagram Alir Perangkat Lunak Pada Mikrokontroler ATMega16 ...41

26. Gambar 3.7. B. Blok Diagram Alir Interrupt Timer Pada Perangkat Lunak Mikrokontroler ATMega16 ...42


(9)

xi Universitas Kristen Maranatha

27. Gambar 3.8.A. Diagram Alir Pada Perangkat Lunak ...44

28. Gambar 3.8.B. Diagram Alir Proses Data Pada Perangkat Lunak ...45

29. Gambar 3.9. Tampilan Form Sistem Monitoring Infus ...48

30. Gambar 3.10. Perancangan Kotak Dudukan Infus ...51

31. Gambar 3.11. Aplikasi Alat Sistem Monitoring Infus ...51

32. Gambar 4.1. Display Monitoring Infus Kondisi 1 ...54

33. Gambar 4.2. Display Monitoring Infus Kondisi 2 ...56

34. Gambar 4.3. Display Monitoring Infus Kondisi 3 ...58

35. Gambar 4.4. Display Monitoring Infus Kondisi 4 ...60

32. Gambar 4.5. Display Monitoring Infus Kondisi 5 ...62

32. Gambar 4.6. Display Monitoring Infus Kondisi 6 ...64

32. Gambar 4.7. Display Monitoring Infus Kondisi 7 ...66


(10)

LAMPIRAN A


(11)

(12)

(13)

A-3


(14)

LAMPIRAN B

Program pada Mikrokontroller AVR Atmega16 ...B-1 Program pada Borlan Delhpi 7.0 ...B-9


(15)

B-1

PROGRAM UTAMA

/***************************************************** This program was produced by the

CodeWizardAVR V1.25.3 Standard Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version :

Date : 8/30/2010 Author : F4CG Company : F4CG Comments:

Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 256

*****************************************************/ #include <mega16.h>

#include <stdlib.h> #include <delay.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm

#include <lcd.h>

// Standard Input/Output functions #include <stdio.h>

int a,count,detik,kon1,kon2,kon3,Rs; char hasil[18];

char hasil1[18]; char hasil2[5];

// Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {


(16)

B-2 // Reinitialize Timer 1 value

TCNT1H=0xD5; TCNT1L=0xD0; // Place your code here detik=detik+1; if(detik==60) { detik=0; a=count-a; if(a!=kon1) { PORTB.0=1; delay_ms(100); PORTB.0=0; } if(a==0) { PORTB.0=0x01; } lcd_clear(); lcd_gotoxy(0,0); lcd_puts(hasil); sprintf(hasil1,"tetes/mnt=%d",a); sprintf(hasil2,"%d",a); lcd_gotoxy(0,1); lcd_puts(hasil1); puts(hasil2); a=count; } }

// Declare your global variables here void main(void)

{

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTA=0xFF;


(17)

B-3 // Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out

// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=1 PORTB=0xFE;

DDRB=0x01;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 10.800 kHz // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;

TCCR1B=0x05; TCNT1H=0xD5;


(18)

B-4 TCNT1L=0xD0; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x04;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00;

UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;


(19)

B-5 // LCD module initialization

lcd_init(16); count=0; detik=0; a=0; ulang:

if(PINA.0==0 && PINA.1==1 && PINA.2==1 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==0 && PINA.7==1)

{ kon1=20; kon2=500; kon3=60; goto lanjut; }

if(PINA.0==0 && PINA.1==1 && PINA.2==1 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==1 && PINA.7==0)

{ kon1=20; kon2=500; kon3=20; goto lanjut; }

if(PINA.0==0 && PINA.1==1 && PINA.2==1 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==0 && PINA.7==1)

{ kon1=20; kon2=1000; kon3=60; goto lanjut; }

if(PINA.0==0 && PINA.1==1 && PINA.2==1 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==1 && PINA.7==0)

{ kon1=20; kon2=1000; kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==0 && PINA.2==1 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==0 && PINA.7==1)


(20)

B-6 kon1=30; kon2=500; kon3=60; goto lanjut; }

if(PINA.0==1 && PINA.1==0 && PINA.2==1 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==1 && PINA.7==0)

{ kon1=30; kon2=500; kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==0 && PINA.2==1 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==0 && PINA.7==1)

{ kon1=30; kon2=1000; kon3=60; goto lanjut; }

if(PINA.0==1 && PINA.1==0 && PINA.2==1 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==1 && PINA.7==0)

{ kon1=30; kon2=1000; kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==0 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==0 && PINA.7==1)

{ kon1=40; kon2=500; kon3=60; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==0 && PINA.3==1 && PINA.4==0 && PINA.5==1 && PINA.6==1 && PINA.7==0)

{


(21)

B-7 kon2=500;

kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==0 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==0 && PINA.7==1)

{ kon1=40; kon2=1000; kon3=60; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==0 && PINA.3==1 && PINA.4==1 && PINA.5==0 && PINA.6==1 && PINA.7==0)

{ kon1=40; kon2=1000; kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==1 && PINA.3==0 && PINA.4==0 && PINA.5==1 && PINA.6==0 && PINA.7==1)

{ kon1=50; kon2=500; kon3=60; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==1 && PINA.3==0 && PINA.4==0 && PINA.5==1 && PINA.6==1 && PINA.7==0)

{ kon1=50; kon2=500; kon3=20; goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==1 && PINA.3==0 && PINA.4==1 && PINA.5==0 && PINA.6==0 && PINA.7==1)

{

kon1=50; kon2=1000;


(22)

B-8 kon3=60;

goto lanjut; }

if(PINA.0==1 && PINA.1==1 && PINA.2==1 && PINA.3==0 && PINA.4==1 && PINA.5==0 && PINA.6==1 && PINA.7==0)

{ kon1=50; kon2=1000; kon3=20; goto lanjut; } goto ulang; lanjut: Rs=kon2*kon3-300;

// Global enable interrupts #asm("sei")

while (1) {

// Place your code here while(PINB.2==1); while(PINB.2==0); count=count+1; if(count>=Rs) { PORTB.0=0x01; } sprintf(hasil,"tetes=%d",count); lcd_gotoxy(0,0); lcd_puts(hasil); }; }


(23)

B-9

LISTING PROGRAM BORLAN DELPHI 7.0

unit Unit1; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, CPort;

type

TForm1 = class(TForm) Label1: TLabel; Label6: TLabel; GroupBox1: TGroupBox; GroupBox2: TGroupBox; GroupBox4: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; GroupBox5: TGroupBox; RadioButton5: TRadioButton; RadioButton6: TRadioButton; GroupBox6: TGroupBox; RadioButton7: TRadioButton; RadioButton8: TRadioButton; GroupBox3: TGroupBox; Label7: TLabel; GroupBox7: TGroupBox; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Label8: TLabel; Label10: TLabel; ComPort1: TComPort; Timer1: TTimer; Label11: TLabel;


(24)

B-10 GroupBox8: TGroupBox; GroupBox9: TGroupBox; Label9: TLabel; Edit6: TEdit; Edit7: TEdit; Label12: TLabel;

procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var

Form1: TForm1; implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject); var total:integer; begin comport1.Connected:=true; total:=0; edit2.Text:=inttostr(total); end;

procedure TForm1.Button2Click(Sender: TObject); begin

close; end;

procedure TForm1.Button1Click(Sender: TObject); var data,a,b,c,h1,h2,h3:string; var konv,i,total,jumlah_tetesMenit:integer; var asupan,jumlah_tetes,jenis_selang,volume_infus,indikator_level,waktu:real; label ulang; begin timer1.Enabled:=true; if (radiobutton5.Checked=true)then begin jumlah_tetes:=strtoint(edit2.Text); jenis_selang:=20;


(25)

B-11 asupan:=jumlah_tetes/jenis_selang; edit3.Text:=floattostr(asupan); end; if (radiobutton6.Checked=true)then begin jumlah_tetes:=strtoint(edit2.Text); jenis_selang:=60; asupan:=jumlah_tetes/jenis_selang; edit3.Text:=floattostr(asupan); end; if (radiobutton7.Checked=true)then begin volume_infus:=500; indikator_level:=volume_infus-asupan; edit4.Text:=floattostr(indikator_level); end; if (radiobutton8.Checked=true)then begin volume_infus:=1000; indikator_level:=volume_infus-asupan; edit4.Text:=floattostr(indikator_level); end; comport1.ReadStr(data,3); if (data='') then goto ulang; edit1.Text:=data;

a:=copy(edit1.Text,1,1);

if(a='0') or (a='1') or (a='2') or (a='3') or (a='4')or(a='5')or(a='6')or(a='7') or(a='8')or(a='9') then h1:=a else h1:='';

b:=copy(edit1.Text,2,1);

if(b='0') or (b='1') or (b='2') or (b='3') or (b='4')or(b='5')or(b='6')or(b='7') or(b='8')or(b='9') then h2:=b else h2:='';

a:=copy(edit1.Text,3,1);

if(c='0') or (c='1') or (c='2') or (c='3') or (c='4')or(c='5')or(c='6')or(c='7') or(c='8')or(c='9') then h3:=c else h3:='';

edit1.Text:=h1+h2+h3; konv:=strtoint(edit1.Text); total:=strtoint(edit2.Text); total:=total+konv; edit2.Text:=inttostr(total); if (radiobutton1.Checked=true)then


(26)

B-12 begin

if(konv=20)then edit5.text:='Deteksi Sesuai' else edit5.text:='Error Deteksi'; end;

if (radiobutton2.Checked=true)then begin

if(konv=30)then edit5.text:= 'Deteksi Sesuai'else edit5.text:= 'Error Deteksi'; end;

if (radiobutton3.Checked=true)then begin

if(konv=40)then edit5.text:= 'Deteksi Sesuai' else edit5.text:= 'Error Deteksi' end;

if (radiobutton4.Checked=true)then begin

if(konv=60)then edit5.text:= 'Deteksi Sesuai'else edit5.text:= 'Error Deteksi'; end;

begin

waktu:=(jenis_selang*indikator_level)-300;

if(volume_infus>=waktu)then edit6.text:='Mohon segera ganti cairan infus' else edit6.text:='Cairan infus belum saatnya diganti';

end; begin

edit7.text:=TIMETOSTR(NOW); end;

ulang: end; end.


(27)

C-0

LAMPIRAN C

DATASHEET


(28)

(29)

(30)

(31)

(32)

(33)

(34)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

I.1. Latar Belakang Masalah

Dengan semakin berkembangnya kemajuan teknologi, belakangan ini meningkatkan kreasi manusia dalam menciptakan perangkat yang dapat mendukung kinerja manusia dalam melakukan proses pekerjaan agar lebih praktis dan efisien.

Perkembangan teknologi itu dapat memberikan manfaat bila diterapkan secara tepat. Seiring dengan hal tersebut, maka kebutuhan teknologi juga sangat dibutuhkan dalam dunia medis. Dengan kondisi rumah sakit yang luas, jumlah pasien yang banyak serta keterbatasan tenaga medis dan tuntutan pelayanan pada pasien yang baik selalu menjadi masalah dalam setiap rumah sakit. Salah satu masalahnya adalah saat pemberian cairan infus.

Pada tugas akhir ini, penulis mencoba untuk membuat alat sistem monitoring infus berbasis mikrokontroler AVR ATMEGA 16 yang digunakan untuk memantau level cairan infus.

I.2. Identifikasi Masalah

Identifikasi masalah pada Tugas Akhir ini adalah diperlukan suatu sistem monitoring, agar tidak terjadi kelalaian dalam pemberian cairan infus pada pasien.

I.3. Perumusan masalah

Perumusan masalah pada Tugas Akhir ini adalah bagaimana merancang dan meralisasikan sistem monitoring berbasis mikrokontroler AVR ATMEGA 16 yang dapat memonitoring cairan infus.

I.4. Tujuan

Membuat sistem monitoring infus dengan menggunakan mikrokontroler AVR ATMEGA 16.


(35)

Bab I Pendahuluan 2

Universitas Kristen Maranatha

I.5. Pembatasan Masalah

Pembatasan masalah diperlukan agar masalah yang diamati tidak terlalu luas dan penelitian menjadi lebih fokus. Pembatasan masalah pada Tugas Akhir ini adalah :

1. Cairan infus yang digunakan dalam percobaan ini menggunkan volume cairan infus 500 ml.

2. Menggunakan mikrokontroler AVR ATMEGA 16.

3. Aplikasi alat yang dibuat dalam tugas akhir ini, untuk memonitoring satu botol cairan infus.

4. Proses sistem monitoring bekerja dengan input parameter yang sudah ditentukan yang ada pada dip switch.

5. Kerja proses monitoring bekerja sampai melewati batas akhir (cairan infus melewati batas minimum yang sudah ditentukan).

I.6. Spesifikasi Alat

Alat-alat yang digunakan dalam Tugas Akhir ini adalah sebagai berikut : 1. Infra Red

2. Mikrokontroler AVR ATMEGA 16 3. Buzzer

4. Display LCD 16 x 2 5. Dip switch

6. Serial port RS 232

7. Bahasa pemrograman Borlan Delphi 7.0 8. Bahasa Pemrograman C (Code Vision AVR)

I.7. Sistematika Penulisan


(36)

Bab I Pendahuluan 3

Universitas Kristen Maranatha

Bab I Pendahuluan

Bab ini berisi latar belakang penelitian, identifikasi masalah, perumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan.

Bab II Landasan Teori

Pada bab ini dijelaskan mengenai teori-teori penunjang yang diperlukan dalam merancang dan merealisasikan sistem monitoring infus berbasis mikrokontroler AVR ATMega 16 yaitu berupa teori tentang prosedur pemberian cairan infus dan alat-alat infus yang dipakai, spesifikasi perangkat keras, dan Pemprograman Borlan Delhpi 7.0.

Bab III Perancangan dan Realisasi

Bab ini berisi cara kerja dan perancangan hardware dan software sistem monitoring infus berbasis mikrokontroler AVR ATMEGA 16.

Bab IV Pengujian dan Analisa Data

Pada bab ini dijelaskan tentang proses pengambilan data pengamatan, pengujian sistem keseluruhan, dan analisisnya.

Bab V Kesimpulan dan Saran

Berisi kesimpulan dari hasil penelitian serta saran-saran untuk pengembangan selanjutnya.


(37)

69 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.

V.1 Kesimpulan

Dalam perancangan pembuatan alat sistem monitoring infus bebasis mikrokontroler AVR Atmega16 ini, dapat disimpulkan beberapa hal seperti:

1. Perancangan pembuatan alat sistem monitoring infus berbasis mikrokontroler AVR Atmega16 berhasil direalisasikan.

V.2 Saran

Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan Tugas Akhir ini di masa mendatang adalah :

1. Pemakaian input parameter sebaiknya memakai keypad agar pada saat mengimputkan data input parameternya lebih fleksibel.

2. Akan lebih baik bila ditambahkan motor untuk menggerakan setting tetes yang ada pada selang infus, sehingga pada saat cairan infus sudah mencapai batas minimum secara otomatis katup selang akan tertutup.


(38)

Universitas Kristen Maranatha 70

DAFTAR PUSTAKA

1. Andrianto, Heri., Pemrograman Mikrokontroler AVR ATMEGA 16, Bandung : Informatika, 2008.

2. Budiharto Widodo, Rizal Gamayel, Belajar Sendiri 12 Proyek Mikrokontroler untuk Pemula, PT Elex Media Komputindo, Jakarta, 2006.

3. Wardhana, Lingga., Belajar Sendiri Mikrokontroler AVR Seri ATMega8535,Yogyakarta:C.V Andi Offset, 2008.

4. Ida Ayu NDS, Cairan infus Intravena, Link: http://www.

kimiaunsps2.

wordpress.com/2009/02/09/cairan-infus-intravena-intravenous-fluids/, diakses Tanggal 5 Februari 2010.

5. Kurdtanshori, Membuat Skematik Elektronika menggunkan Software Cadsoft Eagle, Link : http://www.docstor.com/docs/33708102/Membuat-Sekematik-elektronik-menggunkan-Software-Cadsoft-Eagle, diakses Tanggal 5 Februari 2010.

6. Delphi Tutorial, Link:


(1)

(2)

BAB I

PENDAHULUAN

I.1. Latar Belakang Masalah

Dengan semakin berkembangnya kemajuan teknologi, belakangan ini meningkatkan kreasi manusia dalam menciptakan perangkat yang dapat mendukung kinerja manusia dalam melakukan proses pekerjaan agar lebih praktis dan efisien.

Perkembangan teknologi itu dapat memberikan manfaat bila diterapkan secara tepat. Seiring dengan hal tersebut, maka kebutuhan teknologi juga sangat dibutuhkan dalam dunia medis. Dengan kondisi rumah sakit yang luas, jumlah pasien yang banyak serta keterbatasan tenaga medis dan tuntutan pelayanan pada pasien yang baik selalu menjadi masalah dalam setiap rumah sakit. Salah satu masalahnya adalah saat pemberian cairan infus.

Pada tugas akhir ini, penulis mencoba untuk membuat alat sistem monitoring infus berbasis mikrokontroler AVR ATMEGA 16 yang digunakan untuk memantau level cairan infus.

I.2. Identifikasi Masalah

Identifikasi masalah pada Tugas Akhir ini adalah diperlukan suatu sistem monitoring, agar tidak terjadi kelalaian dalam pemberian cairan infus pada pasien.

I.3. Perumusan masalah

Perumusan masalah pada Tugas Akhir ini adalah bagaimana merancang dan meralisasikan sistem monitoring berbasis mikrokontroler AVR ATMEGA 16 yang dapat memonitoring cairan infus.


(3)

Bab I Pendahuluan 2

I.5. Pembatasan Masalah

Pembatasan masalah diperlukan agar masalah yang diamati tidak terlalu luas dan penelitian menjadi lebih fokus. Pembatasan masalah pada Tugas Akhir ini adalah :

1. Cairan infus yang digunakan dalam percobaan ini menggunkan volume cairan infus 500 ml.

2. Menggunakan mikrokontroler AVR ATMEGA 16.

3. Aplikasi alat yang dibuat dalam tugas akhir ini, untuk memonitoring satu botol cairan infus.

4. Proses sistem monitoring bekerja dengan input parameter yang sudah ditentukan yang ada pada dip switch.

5. Kerja proses monitoring bekerja sampai melewati batas akhir (cairan infus melewati batas minimum yang sudah ditentukan).

I.6. Spesifikasi Alat

Alat-alat yang digunakan dalam Tugas Akhir ini adalah sebagai berikut : 1. Infra Red

2. Mikrokontroler AVR ATMEGA 16 3. Buzzer

4. Display LCD 16 x 2 5. Dip switch

6. Serial port RS 232

7. Bahasa pemrograman Borlan Delphi 7.0 8. Bahasa Pemrograman C (Code Vision AVR)

I.7. Sistematika Penulisan


(4)

Bab I Pendahuluan 3

Bab I Pendahuluan

Bab ini berisi latar belakang penelitian, identifikasi masalah, perumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan.

Bab II Landasan Teori

Pada bab ini dijelaskan mengenai teori-teori penunjang yang diperlukan dalam merancang dan merealisasikan sistem monitoring infus berbasis mikrokontroler AVR ATMega 16 yaitu berupa teori tentang prosedur pemberian cairan infus dan alat-alat infus yang dipakai, spesifikasi perangkat keras, dan Pemprograman Borlan Delhpi 7.0.

Bab III Perancangan dan Realisasi

Bab ini berisi cara kerja dan perancangan hardware dan software sistem monitoring infus berbasis mikrokontroler AVR ATMEGA 16.

Bab IV Pengujian dan Analisa Data

Pada bab ini dijelaskan tentang proses pengambilan data pengamatan, pengujian sistem keseluruhan, dan analisisnya.

Bab V Kesimpulan dan Saran

Berisi kesimpulan dari hasil penelitian serta saran-saran untuk pengembangan selanjutnya.


(5)

BAB V

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.

V.1 Kesimpulan

Dalam perancangan pembuatan alat sistem monitoring infus bebasis mikrokontroler AVR Atmega16 ini, dapat disimpulkan beberapa hal seperti:

1. Perancangan pembuatan alat sistem monitoring infus berbasis mikrokontroler AVR Atmega16 berhasil direalisasikan.

V.2 Saran

Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan Tugas Akhir ini di masa mendatang adalah :

1. Pemakaian input parameter sebaiknya memakai keypad agar pada saat mengimputkan data input parameternya lebih fleksibel.

2. Akan lebih baik bila ditambahkan motor untuk menggerakan setting tetes yang ada pada selang infus, sehingga pada saat cairan infus sudah mencapai batas minimum secara otomatis katup selang akan tertutup.


(6)

DAFTAR PUSTAKA

1. Andrianto, Heri., Pemrograman Mikrokontroler AVR ATMEGA 16, Bandung : Informatika, 2008.

2. Budiharto Widodo, Rizal Gamayel, Belajar Sendiri 12 Proyek Mikrokontroler untuk Pemula, PT Elex Media Komputindo, Jakarta, 2006.

3. Wardhana, Lingga., Belajar Sendiri Mikrokontroler AVR Seri ATMega8535,Yogyakarta:C.V Andi Offset, 2008.

4. Ida Ayu NDS, Cairan infus Intravena, Link: http://www. kimiaunsps2.wordpress.com/2009/02/09/cairan-infus-intravena-intravenous-fluids/, diakses Tanggal 5 Februari 2010.

5. Kurdtanshori, Membuat Skematik Elektronika menggunkan Software Cadsoft Eagle, Link : http://www.docstor.com/docs/33708102/Membuat-Sekematik-elektronik-menggunkan-Software-Cadsoft-Eagle, diakses Tanggal 5 Februari 2010.

6. Delphi Tutorial, Link: http://www.techiwarehouse.com/engine/49b4d286/Delphi-Tutorial, diakses Tanggal 30 Februari 2010.