Perancangan Sistem Pemantauan dan Pengukuran Ketinggian Air Sungai Secara Jarak Jauh Dengan Tampilan PC

Lampiran 1
Listing program dari seluruh sistem .
/*****************************************************

This program was produced by the
CodeWizardAVR V2.04.9 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date

: 11/04/2016

Author
only

: Freeware, for evaluation and non-commercial use


Company :
Comments:

Chip type

: ATmega8

Program type

: Application

AVR Core Clock frequency: 4,000000 MHz
Memory model

: Small

External RAM size

: 0


Data Stack size

: 256

*****************************************************/

Universitas Sumatera Utara

#include
#include
#include

unsigned int Level;
void Read_Sensor(void)
{

PORTB.1

= 1;


//rutin baca sensor ping
//

delay_us(35);

// send start pulse

PORTB.1

//

= 0;

TCNT1=0;

//reset counter

while (PINB.0 == 0){};

// wait for return


pulse

TCCR1B=0x02;

// start timer (timer period

= 2uS)
while ((PINB.0 == 1) && !(TIFR & 0x80));
timing the return pulse
TCCR1B=0x00;
Level = TCNT1;
variable h

//

// stop timer
// save timer value to

if ( Level < 1000 ) {Level = (Level*10)/25;}

//utk menghilangkan efek penggenapan
if ( Level >= 1000) {Level = (Level/25)*10;}
}
void main(void)
{

Universitas Sumatera Utara

// Input/Output Ports initialization
// Port B initialization
PORTB=0x01;
DDRB=0x02;

// Port C initialization
PORTC=0x30;
DDRC=0x00;

// Port D initialization
PORTD=0x00;
DDRD=0x80;


// USART initialization
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

while (1)

Universitas Sumatera Utara

{ Read_Sensor();
printf("%i",Level);
delay_ms(1000);

//tunda 10 mili

detik

if ( Level < 100) {PORTD.7 =
1;delay_ms(500);PORTD.7 = 0;}
}
}

Lampiran 2
Listing program visual basic untuk menampilkan grafik level air dan alarm
pada PC
Dim Yd1(0 To 10000), j, Level As Integer
Dim TIMES(0 To 1000) As String
Dim f As String
Dim oXL As Excel.Application
Private Declare Function sndPlaySound Lib "Winmm.dll"
Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, ByVal
uflags As Long) As Long
Private Const snd_sync = &H0
Private Const snd_Async = &H1
Private Const snd_loop = &H8


Private Sub A_Click()
sndPlaySound vbNullString, snd_Async
End Sub

Private Sub Command1_Click()

Universitas Sumatera Utara

Timer1.Enabled = False
Set oXL = New Excel.Application
Set oxlbook = oXL.Workbooks.Add
FileName = "C:\Data\" + Text4 + ".xls"

oxlbook.Worksheets(1).Range("A1") = " Time

"

oxlbook.Worksheets(1).Range("B1") = " Level sungai (cm)
"


oxlbook.SaveAs FileName

For i = 2 To j
oxlbook.Worksheets(1).Range("A" & i) = TIMES(i)
oxlbook.Worksheets(1).Range("B" & i) = Yd1(i)
Next i

On Error GoTo 1

oxlbook.SaveAs FileName
oxlbook.Close

1:
End Sub

Private Sub Command2_Click()
Timer1.Enabled = True
j = 0

Universitas Sumatera Utara


End Sub

Private Sub Command4_Click()
sndPlaySound vbNullString, snd_Async
Unload Me
End Sub

Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub

Private Sub Timer1_Timer()
x = MSComm1.Input
If x "" Then

If x > 50 Then Level = 53 - x / 10

If Level > 0 Then Text1 = Level
Picture1.Top = 2500 + (4100 - (Text1 * 100))

Picture1.Height = 6600 - Picture1.Top
End If

If Level > 40 Then
alert = "C:\ Windows \ media \" + "notify.wav"
sndPlaySound alert, snd_Async Or snd_loop

Universitas Sumatera Utara

End If

End Sub

Private Sub Timer2_Timer()
Text3 = Time
If Level > 0 Then Yd1(j) = Level
TIMES(j) = Text3
j = j + 1
End Sub

Universitas Sumatera Utara

Lampiran 3
Gambar Alat

1. Sensor HC-SR04

5. Buzzer

2. Modul RS485

6. Tabung Air

3. Kabel Penghubung

7. Rangkaiaan

4. Adaptor

8. Komputer/PC

Universitas Sumatera Utara

Lampiran 4
Gambar Alat Secara Keseluruh

Universitas Sumatera Utara

100µF/50V

1

PC 6 (RESET)

(ADC5/SCL) PC 5

28

2

PD 0 (RXD)

(ADC4/SCA) PC 4

27

3

PD 1 (TXD)

(ADC3) PC 3

26

4

PD 2 (INT 0)

(ADC2) PC 2

25

5

PD 3 (INT 1)

6

PD 4 (XCK/T0)

7

VCC

8

GND

220µF/25V

Interconnect

Modul RS485

Modul RS485

PC

Jaringan
RS485

10 KΩ

XTAL
4MHz

Buzzer

9
10
11

(ADC0) PC 0

23

GND

22

AREF

21

PB 6 (XTAL1/TOSC1)

AVCC

20

PB 7 (XTAL2/TOSC2)

(SCF) PB5

19

(MISO) PB 4

18

PD 5 (T1)

Universitas Sumatera Utara

12

PD 6 (AIN0)

(MOSI/OC2) PB 3

17

13

PD 7 (AIN1)

(SS/OC1B) PB2

16

14

PB 0 (IC P1)

(OC1A) PB 1

5 Volt

4

24

ATMEGA 8

5 Volt

(ADC1) PC 1

2 trigger

HC-SR04
Ultrasonic
Ping Sensor

echo
3

1

15

Lampiran 5

10µF/25V

AN 7805

Rangkaian Lengkap Sistem

BATERE
12V/2AH

Monitor