LAMPIRAN A RANGKAIAN ELEKTRONIKA LENGKAPrepository.wima.ac.id/1465/7/LAMPIRAN.pdf · 63 L1 10uH VCC...

27
61 R9 63k out HPF J5 supply 1 2 3 vcc- LA R2 1655.555 1 3 2 output RL RL + C8 1u + C1 1u output + C4 1u vcc- RA buf f er R8 1k J10 out 1 2 J1 RL 1 2 RA J2 LA 1 2 LA J8 drl 1 2 3 4 8 7 6 5 + C7 1u + C2 1u vcc+ + C5 1u + C3 1u vcc- C10 56n J6 ke PS 1 2 3 J4 INA114 1 2 3 4 8 7 6 5 vcc- + C6 1u R6 3.3M R4 390k out bio vcc+ J3 RA 1 2 R7 3.3M vcc+ + C9 1u vcc+ R3 10k vcc+ J7 buf f er 1 2 3 4 8 7 6 5 out bio vcc- R5 390k J9 LPF 1 2 3 4 8 7 6 5 out HPF buf f er R1 3.9K <Doc> <RevCo Title = ECG A 1 1 Tuesday , May 08, 2012 Title Size Document Number Rev Date: Sheet of LAMPIRAN A RANGKAIAN ELEKTRONIKA LENGKAP 1. Rangkaian biopotential amplifier dan low-pass filter

Transcript of LAMPIRAN A RANGKAIAN ELEKTRONIKA LENGKAPrepository.wima.ac.id/1465/7/LAMPIRAN.pdf · 63 L1 10uH VCC...

61

R9

63k

out HPF

J5

supply

123

vcc-

LA

R21655.555

1 3

2

output

RL

RL

+

C8

1u

+ C11u

output

+

C4

1u

vcc-

RA

buf f er

R8

1k

J10

out

12

J1

RL

12

RA

J2

LA

12 LA

J8

drl

1234

8765

+

C7

1u

+

C2

1u

vcc+

+

C5

1u

+

C3

1u

vcc-

C10

56n

J6

ke PS

123

J4

INA114

1234

8765

vcc-

+

C6

1u

R63.3M

R4

390k

out biovcc+

J3

RA

12

R73.3M

vcc+

+

C9

1u

vcc+

R3

10k

vcc+

J7

buf f er

1234

8765

out bio

vcc-

R5

390k

J9

LPF

1234

8765

out HPF

buf f er

R1

3.9K

<Doc> < R e v C o

Title = ECG

A

1 1Tuesday , May 08, 2012

Title

Size Document Number Rev

Date: Sheet of

LAMPIRAN A

RANGKAIAN ELEKTRONIKA LENGKAP

1. Rangkaian biopotential amplifier dan low-pass filter

62

vcc+

J6

cek notch

12

J3

LF2

1234

8765

vcc-

C1

1.5n

C61u

J4

LF356

1234

8765

C71u

R31M

C2

1.5n

C81u

R4

5k

C91u

R1

2.2M

C4

22u

R5

10k

C101u

C32.7n

R2

2.2MJ2

LF1

1234

8765

vcc+

vcc-

J7

out

12

vcc-

J5

in

12

C5

22u

vcc+

J1

supply

123

vcc-

C111u

vcc+

<Doc> <Rev Code>

Title = HPF&NOTCH

A

1 1Tuesday , May 08, 2012

Title

Size Document Number Rev

Date: Sheet of

2. Rangkaian notch filter dan high-pass filter

63

L1

10uH

VCC

J3Tx_Rx

1 2

VCC

C4

33pF

VCC

D3

ind download

BTN

RESET

JP5

Header Downloader

1 23 45 67 89 10

JDR2A

CONN DSUB 9-R/9-R_0

16

27

38

49

5

R1330

VCC

R3390

C2100nF

J1

ATmega8

1234567891011121314

2827262524232221201918171615

J1_Kristal

12

VCC

J2Tx-Rx

1 2

VCC JP2_Supply

1 2

C6

10uF

R2

1K

C9

10uF

VCC

C1

100nF

VCC

JP2input

1 2

MOSI

D4ind supply

C7

10uF

RESET

C3 33pFMISO

VCC

SCK

SCK

JP1sisa ADC

1 2 3 4 5

C5

10uF

MOSI

U1

MAX232

138

1110

134526

129147

1615

R1INR2INT1INT2IN

C+C1-C2+C2-V+V-

R1OUTR2OUTT1OUTT2OUT

VC

CG

ND

MISO

C8

10uF

RESET

VCC

<Doc> <Rev Code>

Title = ATMEGA 8 & MAX232

A

1 1Tuesday , May 08, 2012

Title

Size Document Number Rev

Date: Sheet of

3. Rangkaian sistem minimum mikrokontroler dan RS-232

64

LAMPIRAN B

LISTING PROGRAM

1. Listing program mikrokontroler

#include <mega8.h>

#include <stdio.h>

#include <delay.h>

#define ADC_VREF_TYPE 0x60

unsigned char read_adc(unsigned char

adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the

ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=0x40;

// Wait for the AD conversion to complete

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCH; }

int ecg;

float y[3];

float x[3];

float z;

void main(void)

65

{

// 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=0x67;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by

Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC Clock frequency: 250,000 kHz

// ADC Voltage Reference: AVCC pin

// Only the 8 most significant bits of

// the AD conversion result are used

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x86;

while (1)

{

66

{awal} ecg = read_adc(0);

putchar(ecg);

delay_us(7750);

{akhir}

// Place your code here

};

}

2. Listing program Form A (BORLAND DELPHI)

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, MPlayer; type TForm1 = class(TForm) Label1: TLabel; Image1: TImage; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Image2: TImage; Image3: TImage; Image4: TImage; Label7: TLabel; Label8: TLabel; Label9: TLabel; Button1: TButton; Button2: TButton; Timer1: TTimer; Label10: TLabel; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private

67

{ Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2, Unit3; {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label10.Caption:=formatdatetime('"Tanggal : "dd/mm/yyyy',now)+chr(13)+formatdatetime('"Pukul : "hh:nn:ss',now); end; procedure TForm1.FormCreate(Sender: TObject); begin end; end.

3. Listing program Form B (BORLAND DELPHI)

unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort, CPortCtl, ExtCtrls, TeEngine, Series, TeeProcs, Chart, jpeg, MMSystem; type

68

TForm2 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Chart1: TChart; Series1: TFastLineSeries; ComPort1: TComPort; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; Timer1: TTimer; Image13: TImage; Image19: TImage; Image20: TImage; Timer2: TTimer; Timer3: TTimer; Timer4: TTimer; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure ComPort1RxChar(Sender: TObject; Count: Integer); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure Timer3Timer(Sender: TObject); procedure Timer5Timer(Sender: TObject); procedure Timer4Timer(Sender: TObject); private

69

{ Private declarations } public { Public declarations } end; var Form2: TForm2; x : integer; y : integer; z : integer; risingEdge : boolean; implementation uses Unit3; {$R *.dfm} {$R cut.res} procedure TForm2.Button1Click(Sender: TObject); begin Comport1.Close; close; end; procedure TForm2.Button3Click(Sender: TObject); begin Comport1.ShowSetupDialog; end; procedure TForm2.Button2Click(Sender: TObject); begin comport1.Open; x := 0; series1.Clear; end ; procedure TForm2.Button4Click(Sender: TObject); begin //timer1.Enabled := false; Comport1.Close; end; procedure TForm2.Button5Click(Sender: TObject); begin //timer4.Enabled := true;

70

end; procedure TForm2.ComPort1RxChar(Sender: TObject; Count: Integer); var dataterima,index,m,datakedua,idx : integer; begin for index:=1 to Count do begin comport1.read(dataterima,1); x := x+1; if (x>500) then begin for idx:=1 to 499 do begin chart1.Series[0].YValue[idx-1] := chart1.Series[0].YValue[idx]; end; chart1.Series[0].YValue[499] := dataterima; x := 500; end else begin with chart1 do with series1 do addxy(x,dataterima); end; {} m := datakedua - dataterima; datakedua := dataterima +1 ; if ((m = 0) AND ( dataterima = 0 ) AND ( dataterima = 0 )) then begin image1.Visible := true; image2.Visible := false; image3.Visible := false; image4.Visible := false; image5.Visible := false;

71

image6.visible := false; image7.visible := false; image8.visible := false; image9.Visible := false; image10.Visible := false; risingEdge := true; end else if ((m > 0) AND ( dataterima >= 0 ) AND ( dataterima <= 3 ))then begin image1.visible := false; image2.visible := true; image3.visible := false; image4.Visible := false; image5.Visible := false; image6.visible := false; image7.visible := false; image8.visible := false; image9.Visible := false; image10.Visible := false; risingEdge := true; end else if ((m > 0) AND( dataterima >= 3 ) AND ( dataterima <= 5 ))then begin if (risingEdge =True) then begin z := z+1; risingEdge := False; timer1.enabled := true; end; end else if ( (m > 0) AND ( dataterima >= 5 ) AND ( dataterima <= 8 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := true; image5.Visible := false; image6.visible := false; image7.visible := false;

72

image8.visible := false; image9.Visible := false; image10.Visible := false; end else if ( (m > 0) AND ( dataterima >= 8 ) AND ( dataterima <= 12 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := false; image5.Visible := true; image6.visible := false; image7.visible := false; image8.visible := false; image9.Visible := false; image10.Visible := false; end else if ( (m > 0) AND ( dataterima >= 12) AND ( dataterima <= 16 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := false; image5.Visible := false; image6.visible := true; image7.visible := false; image8.visible := false; image9.Visible := false; image10.Visible := false; risingEdge := true; end else if ( (m > 0) AND ( dataterima >= 16 ) AND ( dataterima <= 18 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := false; image5.Visible := false; image6.visible := false;

73

image7.visible := true; image8.visible := false; image9.Visible := false; image10.Visible := false; risingEdge := true; end else if ( (m < 0) AND ( dataterima >= 18 ) AND ( dataterima <= 15 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := false; image5.Visible := false; image6.visible := false; image7.visible := false; image8.visible := true; image9.Visible := false; image10.Visible := false; risingEdge := true; end else if ( (m < 0) AND ( dataterima >= 16 ) AND ( dataterima <= 14 ))then begin image1.visible := false; image2.visible := false; image3.visible := false; image4.Visible := false; image5.Visible := false; image6.visible := false; image7.visible := false; image8.visible := false; image9.Visible := true; image10.Visible := false; risingEdge := True; end else if ( (m < 0) AND ( dataterima >= 14 ) AND ( dataterima <= 10 ))then begin image1.visible := false; image2.visible := false; image3.visible := false;

74

image4.Visible := false; image5.Visible := false; image6.visible := false; image7.visible := false; image8.visible := false; image9.Visible := false; image10.Visible := true; risingEdge := true; end ; end; //for end; procedure TForm2.Timer1Timer(Sender: TObject); begin timer1.enabled :=false ; image13.Visible := true ; image19.Visible := false; image20.Visible := false; timer2.Enabled := true; edit2.Text := inttostr(z); timer4.Enabled := true; PlaySound(PChar(1),HInstance, snd_ASync or snd_Memory or snd_Resource); end; procedure TForm2.Timer2Timer(Sender: TObject); begin timer2.Enabled := false ; image13.Visible := false; image19.Visible := true; image20.Visible := false; timer3.Enabled := true; end; procedure TForm2.Timer3Timer(Sender: TObject); begin timer3.Enabled := false ; image13.Visible := false; image19.Visible := false; image20.Visible := true; sndPlaySound(nil, 0); // Stops the sound end;

75

procedure TForm2.Timer4Timer(Sender: TObject); begin edit1.text := inttostr(z); z := 0; end; end.

76

LAMPIRAN C

PENGATURAN SETTING ADC DAN UART

Berikut adalah langkah dalam melakukan pengaturan mikrokontroler

dengan menggunakan software bantu code vision:

1. Buka software code vision

2. Pilih file→New→Project

77

3. Pilih Project

4. Masuk ke Tools → Code wizardAVR

78

5. Setelah itu, atur chip pada ATMEGA 8 dan clock pada 16MHZ

6. Pilih tab ADC pada menu bar yang tersedia

79

7. Aktifkan check bar ADC enabled, use 8 bits, dan atur clock

pada 500KHZ

8. Pilih tab UART dan pilih check box transmitter dan receiver

80

9. Pilih pada menu bar : file →save, generate, and exit

81

LAMPIRAN D

GAMBAR ANIMASI

Berikut adalah gambar – gambar yang digunakan dalam pembuatan

animasi:

Gambar 1:

Gambar 2:

Gambar 3:

\

82

Gambar 4:

Gambar 5:

Gambar 6:

83

Gambar 7:

Gambar 8:

Gambar 9:

84

Gambar 10:

Gambar 11:

85

Gambar 12:

Gambar 13:

86

BIODATA PENULIS

Nama : Caresa Juwana

NRP : 5103008003

Tempat, tgl.lahir : Surabaya, 13 Oktober 1989

Agama : Katolik

Alamat : Manyar Jaya 7/28

Surabaya 60226

Riwayat Pendidikan :

� Tahun 2002, Lulus SD YPPI I, Surabaya

� Tahun 2003, Lulus SMP YPPI II, Surabaya

� Tahun 2006, Lulus SMA YPPI I, Surabaya

19