LAMPIRAN
Pemograman Code Vision AVR
#include <mega8535.h> #include <stdio.h> #include <delay.h>
void main(void) {
PORTA=0x0F; DDRA=0x00;
PORTB=0x0F; DDRB=0x00;
PORTC=0x00; DDRC=0x0F;
PORTD=0xFC; DDRD=0x03;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous
// USART Baud Rate: 56000 (Double Speed Mode) UCSRA=0x02;
UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x08;
while (1)
while (PINB.0 == 0){} printf("D");
}
delay_ms(100); }
}
Pemograman Visual Basic
Dim TIMES(0 To 1000) As String
Dim f As String
Dim Temp1, Temp2 As Single
Dim i, j, Jam, TotalCurahHujan, Intensitas, CHRata2 As Integer
Dim Hour(0 To 24) As String
Dim oXL As Excel.Application
Dim Intensity(1 To 1000), Average(1 To 1000), Total(1 To 1000) As Integer
Private Sub Command1_Click()
Set oXL = New Excel.Application
Set oxlbook = oXL.Workbooks.Add
FileName = "C:\Data\" + Text3 + ".xls"
oxlbook.Worksheets(1).Range("A1") = " Mean Time "
oxlbook.Worksheets(1).Range("B1") = " Intensity "
oxlbook.Worksheets(1).Range("C1") = " Average "
oxlbook.SaveAs FileName
For i = 2 To j
oxlbook.Worksheets(1).Range("A" & i) = TIMES(i)
oxlbook.Worksheets(1).Range("B" & i) = Intensity(i)
oxlbook.Worksheets(1).Range("C" & i) = Average(i)
oxlbook.Worksheets(1).Range("D" & i) = Total(i)
Next i
On Error GoTo 1
oxlbook.SaveAs FileName
oxlbook.Close
1:
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
With MSComm1
If .PortOpen = True Then .PortOpen = False
.DTREnable = True
.RTSEnable = True
.RThreshold = 1
.SThreshold = 0
MSComm1.PortOpen = True
End With
Temp1 = 0
For i = 0 To 24
Hour(i) = 0
Next i
j = 1 'reset nilai count
For i = 1 To 24
MSChart1.Column = i
MSChart1.Data = Hour(i)
Next i
End Sub
Private Sub Timer1_Timer()
Data = MSComm1.Input
If Data = "D" Then
Temp1 = Temp1 + 1
End If
End If
Label12 = Temp1
End Sub
Private Sub Timer2_Timer()
Text2 = Time
Text1 = Time
If Text2 = "00:00:00 AM" Then
End If
Dat = Left(Text1, 8)
Dat = Right(Dat, 5)
Text1 = Dat
If Text1 = "00:00" Then
Intensitas = Label12 * 0.5 / 60 * 100
Label6 = Intensitas
TotalCurahHujan = TotalCurahHujan + Intensitas * 60 / 100
Label5 = TotalCurahHujan
Text1 = Time
Dat = Left(Text1, 5) 'baca jumlah jam
If Jam = "0" Then
Jam = Left(Text1, 2)
Jam = Right(Jam, 1)
Else
Jam = Left(Text1, 2)
End If
If Jam = 0 Then Jam = 1
'Akuisisi data tiap jam
CHRata2 = TotalCurahHujan / Jam
Label7 = CHRata2
Hour(Jam) = Intensitas
Temp1 = 0
j = j + 1
Intensity(j) = Intensitas
Average(j) = CHRata2
Total(j) = TotalCurahHujan
TIMES(j) = Text2
If Intensitas >= 10 Then Label9 = "Hujan Ringan"
If Intensitas >= 500 Then Label9 = "Hujan Sedang"
If Intensitas >= 1000 Then Label9 = "Hujan Lebat"
For i = 1 To 24
MSChart1.Column = i
MSChart1.Data = Hour(i)
Next i
End If