PROGRAM BASCOM AVR '--------------------------------------- inisialisasi '----------------------- $prog &HFF, &HC4, &HD9, &H00 ' generated. Take care that the chip supports all fuse bytes. $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '$baud = 9600 $baud = 57600 $lib "ds1307clock.lib" '$serialinput2lcd '------------------------------------------------------------------------------- Dim Weekday As Byte Dim Tm As Word Dim Sen_w1 As Word Dim Sen_w2 As Word Dim Sw1 As Word, Vir_sw1 As Word Dim Sw2 As Word, Vir_sw2 As Word Dim S As String * 30 Dim Z As String * 30 Dim A As Byte Dim V1 As Word, V2 As Word, V3 As Word Dim V4 As Word, V5 As Word, V6 As Word '------------------------------------------------ konfigurasi ----------------- Config Lcd = 20 * 4
Config Lcdpin = Pin, Db4 = Portb.2, Db5 = Portb.3, Db6 = Portb.4, Db7 = Portb.5, E = Portb.1, Rs = Portb.0 Config Adc = Single, Prescaler = Auto Config Portd = Output Config Sda = Portc.4 Config Scl = Portc.5 Const Ds1307w = &HD0 Const Ds1307r = &HD1 Config Clock = User Config Adc = Single, Prescaler = Auto Pompa1 Alias Portd.2 Pompa2 Alias Portd.3 'Config Portd.4 = Input Enable Interrupts Cursor Off Cls 'Print "DS1307" Waitms 10 Start Adc '-------------------------------------- seting waktu --------------------------- 'Time$ = "14:27:00" 'Gosub Getdatetime '-------------------------------------- mulai ---------------------------------- Mulai: Do '--------------------------------------------------- gerbang input sensor.----- Sen_w1 = Getadc(0) Sen_w2 = Getadc(1)
Sw1 = Getadc(2) Sw2 = Getadc(3) '------------------------------------------------- input data ---------------- '------------------------------------------------- pengirinan data ke APC220 ---- Incr Tm If Tm >= 1 Then : Tm = 0 Print "#$" ; Sen_w1 ; "?$" ; Sen_w2 ; "?$" ; Sw1 ; "?$" ; V1 ; "?$" ; V2 ; "?$" ; V3 ; "?$" ; V4 ; "?$" ; V5 ; "?&@ +[ENTER]" '---------------------------------------------------- tampilan lcd ------------- 'Print "W:" ; Time$ Locate 2, 1 : Lcd "TX:" ; Tm ; " " Locate 1, 1 : Lcd "S1:" ; Sen_w1 ; " " Locate 1, 10 : Lcd "S2:" ; Sen_w2 ; " " Locate 2, 8 : Lcd "W" ; Time$ ; " " 'Locate 3, 1 : Lcd "RX" ; A ; " " Waitms 1 '========================================================== ===================== '------------------------------- waktu pemberian pakan '----------------------- ''========================================================== ==================== '--------------------------------------------- Pagi ---------------------------- If _sec >= 00 And _sec <= 2 And _min = 12 And _hour = 6 Then : Vir_sw1 = 1 : Goto Pakan : '-------------------------------------------- siang ---------------------------- If _sec = 00 And _sec <= 2 And _min = 12 And _hour = 12 Then : Vir_sw1 = 1 : Goto Pakan :
'--------------------------------------------- sore ---------------------------- If _sec = 00 And _sec <= 2 And _min = 45 And _hour = 16 Then : Vir_sw1 = 1 : Goto Pakan : '------------------------------------------------------------------------------- If Sw1 >= 200 And Vir_sw1 = 0 Then : Portd.6 = 1 : Goto Pakan : '========================================================== ===================== '--------------------------- control dari wereless '--------------------------- '========================================================== ===================== '-------------------------------------------------- Pompa 1 ON ----------------- If Z = "1" Then Locate 3, 1 : Lcd "Pomp 1:ON " Pompa1 = 1 '-------------------------------------------------- Pompa 1 OFF ---------------- If Z = "2" Then Locate 3, 1 : Lcd "Pomp 1:OFF " Pompa1 = 0 ' '-------------------------------------------------- Pompa 2 ON ----------------- If Z = "3" Then Locate 3, 10 : Lcd "Pomp 2:ON " Pompa2 = 1 '-------------------------------------------------- Pompa 2 OFF ---------------- If Z = "4" Then
Locate 3, 10 : Lcd "Pomp 2:OFF " Pompa2 = 0 '--------------------------------------------------- Pemberian Pakan ----------- If Z >= "9" Then : Portd.6 = 1 : Wait 4 : Goto Pakan : ' '========================================================== ===================== '------------------------------------------------- aktif pompa ----------------- If Pind.4 = 1 Then Pompa1 = 1 '-------------------------------------------------- If Pind.4 = 0 Then Pompa1 = 0 '------------------------------------------------------------------------------- Loop 'Until A = 27 '------------------------------------------------------------------------------- 'Loop End '------------------------------------------------------------------------------- Return
'=========================================== Pengambilan data RTC DS1307 ====== Getdatetime: I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cstart I2cwbyte Ds1307r I2crbyte _sec, Ack I2crbyte _min, Ack I2crbyte _hour, Ack I2crbyte Weekday, Ack I2crbyte _day, Ack I2crbyte _month, Ack I2crbyte _year, Nack I2cstop _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour) _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year) Return '------------------------------------------------------------------------------ Setdate: _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year) I2cstart I2cwbyte Ds1307w I2cwbyte 4 I2cwbyte _day I2cwbyte _month I2cwbyte _year I2cstop Return
'------------------------------------------------------------------------------ Settime: _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour) I2cstart I2cwbyte Ds1307w I2cwbyte 0 I2cwbyte _sec I2cwbyte _min I2cwbyte _hour I2cstop Return Pakan: Cls '--------------------------------------------- Locate 1, 1 : Lcd " Memberi Pakan " Portd.6 = 1 Wait 1 Portd.6 = 0 Wait 4 '--------------------------------------------- Locate 2, 1 : Lcd " Memberi Pakan " Portd.6 = 1 Wait 1 Portd.6 = 0 Wait 4 '---------------------------------------------
Locate 3, 1 : Lcd " Memberi Pakan " Portd.6 = 1 Wait 3 Portd.6 = 0 Locate 4, 1 : Lcd " Memberi Pakan " Wait 4 Vir_sw1 = 0 Cls Return
Program Visual Basic Private Sub Command1_Click() Unload Me Private Sub Command2_Click() Timer4.Enabled = False mnstart.caption = "S&" + "tart" Text2.BackColor = &H0& Text2.ForeColor = &H0& 'pompa1_v = 0 Private Sub Command3_Click() Timer4.Interval = GetSetting(App.Title, "SettingValue", "Waktu", 1) Timer4.Enabled = True mnstart.caption = "S&" + "top" Text2.BackColor = &HFF& Text2.ForeColor = &HFF& 'pompa1_v = 1 Private Sub Command4_Click() Text1.BackColor = &HFF& Text1.ForeColor = &HFF& Serial.Output = "3" Private Sub Command5_Click() Text1.BackColor = &H0& Text1.ForeColor = &H0&
Serial.Output = "4" Private Sub Command6_Click() Text3.BackColor = &HFF& Text3.ForeColor = &HFF& Serial.Output = "1" Private Sub Command7_Click() Text3.BackColor = &H0& Text3.ForeColor = &H0& Serial.Output = "2" Private Sub Command8_Click() Serial.Output = "5" Private Sub Form_Load() 'membuat garis bantu picgrafik.refresh picgrafik.cls picgrafik.drawstyle = 0 picgrafik.drawwidth = 1 SerialCon LoadDataAwal SetVariabel '---Log----
With mslog.rows = 1.ColWidth(0) = 600.TextMatrix(0, 0) = "Time".ColWidth(1) = Lebar.TextMatrix(0, 1) = "ADC1".ColWidth(2) = Lebar.TextMatrix(0, 2) = "ADC2".ColWidth(3) = Lebar.TextMatrix(0, 3) = "ADC3".ColWidth(4) = Lebar.TextMatrix(0, 4) = "ADC4".ColWidth(5) = Lebar.TextMatrix(0, 5) = "ADC5".ColWidth(6) = Lebar.TextMatrix(0, 6) = "ADC6".ColWidth(7) = Lebar.TextMatrix(0, 7) = "ADC7".ColWidth(8) = Lebar.TextMatrix(0, 8) = "ADC8" End With Sub SetVariabel() Lebar = 900 StepBatas = 1000 TitikNolY = 5000 TitikNolX = 500 X1a = TitikNolX X1b = X1a
Y1a = TitikNolY Y1b = Y1a X2a = X1a X2b = X1b Y2a = Y1a Y2b = Y1b X3a = X1a X3b = X1b Y3a = Y1a Y3b = Y1b X4a = X1a X4b = X1b Y4a = Y1a Y4b = Y1b X5a = X1a X5b = X1b Y5a = Y1a Y5b = Y1b X6a = X1a X6b = X1b Y6a = Y1a Y6b = Y1b X7a = X1a
X7b = X1b Y7a = Y1a Y7b = Y1b X8a = X1a X8b = X1b Y8a = Y1a Y8b = Y1b StepGrap = 5 Sub LoadDataAwal() SetAtas1 = GetSetting(App.Title, "SettingValue", "Atas1", 0) SetBawah1 = GetSetting(App.Title, "SettingValue", "Bawah1", 0) If SetAtas1 < SetBawah1 Then SetAtas1 = SetBawah1 + 1 lblsetatas1.caption = SetAtas1 lblsetbawah1 = SetBawah1 SetAtas2 = GetSetting(App.Title, "SettingValue", "Atas2", 0) SetBawah2 = GetSetting(App.Title, "SettingValue", "Bawah2", 0) If SetAtas2 < SetBawah2 Then SetAtas2 = SetBawah2 + 1 lblsetatas2.caption = SetAtas2 lblsetbawah2 = SetBawah2 SetAtas3 = GetSetting(App.Title, "SettingValue", "Atas3", 0) SetBawah3 = GetSetting(App.Title, "SettingValue", "Bawah3", 0)
If SetAtas3 < SetBawah3 Then SetAtas3 = SetBawah3 + 1 lblsetatas3.caption = SetAtas3 lblsetbawah3 = SetBawah3 SetAtas4 = GetSetting(App.Title, "SettingValue", "Atas4", 0) SetBawah4 = GetSetting(App.Title, "SettingValue", "Bawah4", 0) If SetAtas4 < SetBawah4 Then SetAtas4 = SetBawah4 + 1 lblsetatas4.caption = SetAtas4 lblsetbawah4 = SetBawah4 SetAtas5 = GetSetting(App.Title, "SettingValue", "Atas5", 0) SetBawah5 = GetSetting(App.Title, "SettingValue", "Bawah5", 0) If SetAtas5 < SetBawah5 Then SetAtas5 = SetBawah5 + 1 lblsetatas5.caption = SetAtas5 lblsetbawah5 = SetBawah5 SetAtas6 = GetSetting(App.Title, "SettingValue", "Atas6", 0) SetBawah6 = GetSetting(App.Title, "SettingValue", "Bawah6", 0) If SetAtas6 < SetBawah6 Then SetAtas6 = SetBawah6 + 1 lblsetatas6.caption = SetAtas6 lblsetbawah6 = SetBawah6
SetAtas7 = GetSetting(App.Title, "SettingValue", "Atas7", 0) SetBawah7 = GetSetting(App.Title, "SettingValue", "Bawah7", 0) If SetAtas7 < SetBawah7 Then SetAtas7 = SetBawah7 + 1 lblsetatas7.caption = SetAtas7 lblsetbawah7 = SetBawah7 SetAtas8 = GetSetting(App.Title, "SettingValue", "Atas8", 0) SetBawah8 = GetSetting(App.Title, "SettingValue", "Bawah8", 0) If SetAtas8 < SetBawah8 Then SetAtas8 = SetBawah8 + 1 lblsetatas8.caption = SetAtas8 lblsetbawah8 = SetBawah8 Sub Awal() Dim i As Integer With picgrafik.fontname = "verdana".forecolor = RGB(80, 80, 80).FontSize = 8 End With picgrafik.drawwidth = 2 'sumbu x picgrafik.line (500, 5000)-(picGrafik.Width, 5000), RGB(100, 100, 100) picgrafik.drawstyle = 2 picgrafik.drawwidth = 1
For i = 1 To 9 picgrafik.line (500, i * 500)-(picGrafik.Width, i * 500), RGB(100, 100, 100) picgrafik.currenty = i * 500 picgrafik.currentx = 1 picgrafik.print 1000 - (i * 100) Next i picgrafik.currenty = 5000 picgrafik.currentx = 300 picgrafik.print 0 picgrafik.currenty = 10 picgrafik.currentx = 1 picgrafik.print 1000 picgrafik.drawstyle = 0 picgrafik.drawwidth = 2 'sumbu y picgrafik.line (500, 0)-(500, 5000), RGB(100, 100, 100) picgrafik.drawstyle = 1 picgrafik.drawwidth = 1 For i = 1 To 14 picgrafik.line (500 + i * 1000, 0)-(500 + i * 1000, 5000), RGB(100, 100, 100) Next i picgrafik.drawstyle = 2 picgrafik.drawwidth = 1 For i = 1 To 14 picgrafik.line (i * 1000, 0)-(i * 1000, 5000), RGB(100, 100, 100) Next i
'Tulisan sumbu Y picgrafik.drawstyle = 0 picgrafik.drawwidth = 4 picgrafik.line (1600, 5200)-(2000, 5200), RGB(125, 0, 0) picgrafik.line (3600, 5200)-(4000, 5200), RGB(125, 125, 0) picgrafik.line (5600, 5200)-(6000, 5200), RGB(125, 125, 125) picgrafik.line (7600, 5200)-(8000, 5200), RGB(255, 0, 0) picgrafik.line (9600, 5200)-(10000, 5200), RGB(255, 125, 0) picgrafik.line (11600, 5200)-(12000, 5200), RGB(255, 125, 125) picgrafik.line (13600, 5200)-(14000, 5200), RGB(255, 255, 0) picgrafik.line (15600, 5200)-(16000, 5200), RGB(255, 255, 255) picgrafik.currentx = 2100 picgrafik.currenty = 5100 picgrafik.print "ADC1" picgrafik.currentx = 4100 picgrafik.currenty = 5100 picgrafik.print "ADC2" picgrafik.currentx = 6100 picgrafik.currenty = 5100 picgrafik.print "ADC3" picgrafik.currentx = 8100 picgrafik.currenty = 5100 picgrafik.print "ADC4" picgrafik.currentx = 10100 picgrafik.currenty = 5100 picgrafik.print "ADC5" picgrafik.currentx = 12100 picgrafik.currenty = 5100 picgrafik.print "ADC6"
picgrafik.currentx = 13850 picgrafik.currenty = 3600 picgrafik.print "ADC7" picgrafik.currentx = 13850 picgrafik.currenty = 4100 picgrafik.print "ADC8" Private Sub Form_Unload(Cancel As Integer) If Serial.PortOpen = True Then Serial.PortOpen = False Private Sub mnexit_click() Unload Me Private Sub mnport_click() Dim kom As Integer kom = InputBox("Masukkan No COM yang digunakan (1,2,3 atau 4)", "koneksi") SaveSetting App.Title, "SettingValue", "Port", kom Private Sub mnsampling_click() Dim waktu As Integer waktu = InputBox("Masukkan waktu sampling yang digunakan (dalam ms)", "Waktu Sampling") SaveSetting App.Title, "SettingValue", "Waktu", waktu
Private Sub mnstart_click() If Timer4.Enabled = False Then Timer4.Interval = GetSetting(App.Title, "SettingValue", "Waktu", 1) Timer4.Enabled = True mnstart.caption = "S&" + "top" ElseIf Timer4.Enabled = True Then Timer4.Enabled = False mnstart.caption = "S&" + "tart" Private Sub Timer1_Timer() Awal Timer1.Enabled = False Private Sub Timer3_Timer() Serial.Output = "r" + Chr(10) Private Sub Timer4_Timer() Dim PaketPecah As String Dim Kres As Integer, At As Integer Dim Dollar As Integer, Tanya As Integer 'Serial.Output = "r" + Chr(10) DataSerial = Serial.Input 'Text1 = DataSerial If DataSerial <> "" Then PaketData = ""
PaketData = DataSerial Kres = InStr(PaketData, "#") At = InStr(PaketData, "@") If (Kres > 0) And (At > 0) Then If Left(PaketData, 1) = "#" Then 'ADC 1 PaketPecah = Mid$(PaketData, Kres + 1, At - 2) Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC1 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC1 > 5000 Then ADC1 = ADC1 / 10 If ADC1 > 5000 Then ADC1 = 5000 lbladc1 = ADC1 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 2 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC2 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC2 > 5000 Then ADC2 = ADC2 / 10 If ADC2 > 5000 Then ADC2 = 5000
lbladc2 = ADC2 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 3 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC3 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC3 > 5000 Then ADC3 = ADC3 / 10 If ADC3 > 5000 Then ADC3 = 5000 lbladc3 = ADC3 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 4 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC4 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC4 > 5000 Then ADC4 = ADC4 / 10 If ADC4 > 5000 Then ADC4 = 5000
lbladc4 = ADC4 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 5 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC5 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC5 > 5000 Then ADC5 = ADC5 / 10 If ADC5 > 5000 Then ADC5 = 5000 lbladc5 = ADC5 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 6 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC6 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC6 > 5000 Then ADC6 = ADC6 / 10 If ADC6 > 5000 Then ADC6 = 5000 lbladc6 = ADC6 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya)
'ADC 7 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC7 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC7 > 5000 Then ADC7 = ADC7 / 10 If ADC7 > 5000 Then ADC7 = 5000 lbladc7 = ADC7 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) 'ADC 8 Dollar = InStr(PaketPecah, "$") Tanya = InStr(PaketPecah, "?") ADC8 = Mid$(PaketPecah, Dollar + 1, Tanya - 2) If ADC8 > 5000 Then ADC8 = ADC8 / 10 If ADC8 > 5000 Then ADC8 = 5000 lbladc8 = ADC8 PaketPecah = Mid$(PaketPecah, Tanya + 1, Len(PaketPecah) - Tanya) Grafik CekBatas
Private Sub UDAtas1_DownClick() If SetAtas1 > 0 Then SetAtas1 = SetAtas1 - StepBatas lblsetatas1.caption = SetAtas1 SaveSetting App.Title, "SettingValue", "Atas1", SetAtas1 Private Sub UDAtas1_UpClick() If SetAtas1 < UDAtas1.Max Then SetAtas1 = SetAtas1 + StepBatas lblsetatas1.caption = SetAtas1 SaveSetting App.Title, "SettingValue", "Atas1", SetAtas1 Private Sub UDAtas2_DownClick() If SetAtas2 > 0 Then SetAtas2 = SetAtas2 - StepBatas lblsetatas2.caption = SetAtas2 SaveSetting App.Title, "SettingValue", "Atas2", SetAtas2 Private Sub UDAtas2_UpClick()
If SetAtas2 < UDAtas2.Max Then SetAtas2 = SetAtas2 + StepBatas lblsetatas2.caption = SetAtas2 SaveSetting App.Title, "SettingValue", "Atas2", SetAtas2 Private Sub UDAtas3_DownClick() If SetAtas3 > 0 Then SetAtas3 = SetAtas3 - StepBatas lblsetatas3.caption = SetAtas3 SaveSetting App.Title, "SettingValue", "Atas3", SetAtas3 Private Sub UDAtas3_UpClick() If SetAtas3 < UDAtas3.Max Then SetAtas3 = SetAtas3 + StepBatas lblsetatas3.caption = SetAtas3 SaveSetting App.Title, "SettingValue", "Atas3", SetAtas3 Private Sub UDAtas4_DownClick() If SetAtas4 > 0 Then SetAtas4 = SetAtas4 - StepBatas lblsetatas4.caption = SetAtas4 SaveSetting App.Title, "SettingValue", "Atas4", SetAtas4
Private Sub UDAtas4_UpClick() If SetAtas4 < UDAtas4.Max Then SetAtas4 = SetAtas4 + StepBatas lblsetatas4.caption = SetAtas4 SaveSetting App.Title, "SettingValue", "Atas4", SetAtas4 Private Sub UDAtas5_DownClick() If SetAtas5 > 0 Then SetAtas5 = SetAtas5 - StepBatas lblsetatas5.caption = SetAtas5 SaveSetting App.Title, "SettingValue", "Atas5", SetAtas5 Private Sub UDAtas5_UpClick() If SetAtas5 < UDAtas5.Max Then SetAtas5 = SetAtas5 + StepBatas lblsetatas5.caption = SetAtas5 SaveSetting App.Title, "SettingValue", "Atas5", SetAtas5 Private Sub UDAtas6_DownClick() If SetAtas6 > 0 Then SetAtas6 = SetAtas6 - StepBatas
lblsetatas6.caption = SetAtas6 SaveSetting App.Title, "SettingValue", "Atas6", SetAtas6 Private Sub UDAtas6_UpClick() If SetAtas6 < UDAtas6.Max Then SetAtas6 = SetAtas6 + StepBatas lblsetatas6.caption = SetAtas6 SaveSetting App.Title, "SettingValue", "Atas6", SetAtas6 Private Sub UDAtas7_DownClick() If SetAtas7 > 0 Then SetAtas7 = SetAtas7 - StepBatas lblsetatas7.caption = SetAtas7 SaveSetting App.Title, "SettingValue", "Atas7", SetAtas7 Private Sub UDAtas7_UpClick() If SetAtas7 < UDAtas7.Max Then SetAtas7 = SetAtas7 + StepBatas lblsetatas7.caption = SetAtas7 SaveSetting App.Title, "SettingValue", "Atas7", SetAtas7
Private Sub UDAtas8_DownClick() If SetAtas8 > 0 Then SetAtas8 = SetAtas8 - StepBatas lblsetatas8.caption = SetAtas8 SaveSetting App.Title, "SettingValue", "Atas8", SetAtas8 Private Sub UDAtas8_UpClick() If SetAtas8 < UDAtas8.Max Then SetAtas8 = SetAtas8 + StepBatas lblsetatas8.caption = SetAtas8 SaveSetting App.Title, "SettingValue", "Atas8", SetAtas8 Private Sub UDBawah1_DownClick() If SetBawah1 > 0 Then SetBawah1 = SetBawah1 - StepBatas lblsetbawah1 = SetBawah1 SaveSetting App.Title, "SettingValue", "Bawah1", SetBawah1 Private Sub UDBawah1_UpClick() If SetBawah1 < UDBawah1.Max Then SetBawah1 = SetBawah1 + StepBatas lblsetbawah1 = SetBawah1
SaveSetting App.Title, "SettingValue", "Bawah1", SetBawah1 Private Sub UDBawah2_DownClick() If SetBawah2 > 0 Then SetBawah2 = SetBawah2 - StepBatas lblsetbawah2 = SetBawah2 SaveSetting App.Title, "SettingValue", "Bawah2", SetBawah2 Private Sub UDBawah2_UpClick() If SetBawah2 < UDBawah2.Max Then SetBawah2 = SetBawah2 + StepBatas lblsetbawah2 = SetBawah2 SaveSetting App.Title, "SettingValue", "Bawah2", SetBawah2 Private Sub UDBawah3_DownClick() If SetBawah3 > 0 Then SetBawah3 = SetBawah3 - StepBatas lblsetbawah3 = SetBawah3 SaveSetting App.Title, "SettingValue", "Bawah3", SetBawah3 Private Sub UDBawah3_UpClick() If SetBawah3 < UDBawah3.Max Then
SetBawah3 = SetBawah3 + StepBatas lblsetbawah3 = SetBawah3 SaveSetting App.Title, "SettingValue", "Bawah3", SetBawah3 Private Sub UDBawah4_DownClick() If SetBawah4 > 0 Then SetBawah4 = SetBawah4 - StepBatas lblsetbawah4 = SetBawah4 SaveSetting App.Title, "SettingValue", "Bawah4", SetBawah4 Private Sub UDBawah4_UpClick() If SetBawah4 < UDBawah4.Max Then SetBawah4 = SetBawah4 + StepBatas lblsetbawah4 = SetBawah4 SaveSetting App.Title, "SettingValue", "Bawah4", SetBawah4 Private Sub UDBawah5_DownClick() If SetBawah5 > 0 Then SetBawah5 = SetBawah5 - StepBatas lblsetbawah5 = SetBawah5 SaveSetting App.Title, "SettingValue", "Bawah5", SetBawah5
Private Sub UDBawah5_UpClick() If SetBawah5 < UDBawah5.Max Then SetBawah5 = SetBawah5 + StepBatas lblsetbawah5 = SetBawah5 SaveSetting App.Title, "SettingValue", "Bawah5", SetBawah5 Private Sub UDBawah6_DownClick() If SetBawah6 > 0 Then SetBawah6 = SetBawah6 - StepBatas lblsetbawah6 = SetBawah6 SaveSetting App.Title, "SettingValue", "Bawah6", SetBawah6 Private Sub UDBawah6_UpClick() If SetBawah6 < UDBawah6.Max Then SetBawah6 = SetBawah6 + StepBatas lblsetbawah6 = SetBawah6 SaveSetting App.Title, "SettingValue", "Bawah6", SetBawah6 Private Sub UDBawah7_DownClick() If SetBawah7 > 0 Then SetBawah7 = SetBawah7 - StepBatas lblsetbawah7 = SetBawah7
SaveSetting App.Title, "SettingValue", "Bawah7", SetBawah7 Private Sub UDBawah7_UpClick() If SetBawah7 < UDBawah7.Max Then SetBawah7 = SetBawah7 + StepBatas lblsetbawah7 = SetBawah7 SaveSetting App.Title, "SettingValue", "Bawah7", SetBawah7 Private Sub UDBawah8_DownClick() If SetBawah8 > 0 Then SetBawah8 = SetBawah8 - StepBatas lblsetbawah8 = SetBawah8 SaveSetting App.Title, "SettingValue", "Bawah8", SetBawah8 Private Sub UDBawah8_UpClick() If SetBawah8 < UDBawah8.Max Then SetBawah8 = SetBawah8 + StepBatas lblsetbawah8 = SetBawah8 SaveSetting App.Title, "SettingValue", "Bawah8", SetBawah8 Sub Grafik() Dim Jumlah As Integer, Nilai1 As Integer
Jumlah = mslog.rows ADC1 = ADC1 * 5 ADC2 = ADC2 * 5 ADC3 = ADC3 * 5 ADC4 = ADC4 * 5 ADC5 = ADC5 * 5 ADC6 = ADC6 * 5 ADC7 = ADC7 * 5 ADC8 = ADC8 * 5 Y1b = TitikNolY - ADC1 Y2b = TitikNolY - ADC2 Y3b = TitikNolY - ADC3 Y4b = TitikNolY - ADC4 Y5b = TitikNolY - ADC5 Y6b = TitikNolY - ADC6 Y7b = TitikNolY - ADC7 Y8b = TitikNolY - ADC8 Frame7 = X1a If X1a < 14000 Then X1b = X1b + StepGrap X2b = X2b + StepGrap X3b = X3b + StepGrap X4b = X4b + StepGrap X5b = X5b + StepGrap X6b = X6b + StepGrap X7b = X7b + StepGrap X8b = X8b + StepGrap
ElseIf X1a >= 14000 Then X1a = TitikNolX X2a = TitikNolX X3a = TitikNolX X4a = TitikNolX X5a = TitikNolX X6a = TitikNolX X7a = TitikNolX X8a = TitikNolX X1b = TitikNolX X2b = TitikNolX X3b = TitikNolX X4b = TitikNolX X5b = TitikNolX X6b = TitikNolX X7b = TitikNolX X8b = TitikNolX picgrafik.cls Awal picgrafik.line (X1a, Y1a)-(X1b, Y1b), RGB(125, 0, 0) picgrafik.line (X2a, Y2a)-(X2b, Y2b), RGB(125, 125, 0) picgrafik.line (X3a, Y3a)-(X3b, Y3b), RGB(125, 125, 125) picgrafik.line (X4a, Y4a)-(X4b, Y4b), RGB(255, 0, 0) picgrafik.line (X5a, Y5a)-(X5b, Y5b), RGB(255, 125, 0) picgrafik.line (X6a, Y6a)-(X6b, Y6b), RGB(255, 125, 125) picgrafik.line (X7a, Y7a)-(X7b, Y7b), RGB(255, 255, 0) picgrafik.line (X8a, Y8a)-(X8b, Y8b), RGB(255, 255, 255) With mslog
.Rows = Jumlah + 1.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 1) = ADC1.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 2) = ADC2.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 3) = ADC3.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 4) = ADC4.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 5) = ADC5.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 6) = ADC6.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 7) = ADC7.TextMatrix(Jumlah, 0) = Val(Jumlah).TextMatrix(Jumlah, 8) = ADC8 End With Label15.Caption = "T(" & Jumlah & ")- DATA1:" & ADC1 & "- DATA2:" & ADC2 & "- DATA3:" & ADC3 & "- DATA4:" & ADC4 & "- DATA5:" & ADC5 & "- ADC6:" & ADC6 ' & "- ADC7:" & ADC7 & "- ADC8:" & ADC8 X1a = X1b Y1a = Y1b X2a = X2b Y2a = Y2b X3a = X3b Y3a = Y3b
X4a = X4b Y4a = Y4b X5a = X5b Y5a = Y5b X6a = X6b Y6a = Y6b X7a = X7b Y7a = Y7b X8a = X8b Y8a = Y8b Sub CekBatas() If Val(ADC1) >= SetAtas1 Then Shape1.FillColor = &HFF& ElseIf Val(ADC1) < SetAtas1 Then Shape1.FillColor = &HC000& If Val(ADC2) >= SetAtas2 Then Shape2.FillColor = &HFF& ElseIf Val(ADC2) < SetAtas2 Then Shape2.FillColor = &HC000&
If Val(ADC3) >= SetAtas3 Then Shape3.FillColor = &HFF& ElseIf Val(ADC3) < SetAtas3 Then Shape3.FillColor = &HC000& If Val(ADC4) >= SetAtas4 Then Shape4.FillColor = &HFF& ElseIf Val(ADC4) < SetAtas4 Then Shape4.FillColor = &HC000& If Val(ADC5) >= SetAtas5 Then Shape5.FillColor = &HFF& ElseIf Val(ADC5) < SetAtas5 Then Shape5.FillColor = &HC000& If Val(ADC6) >= SetAtas6 Then Shape6.FillColor = &HFF& ElseIf Val(ADC6) < SetAtas6 Then Shape6.FillColor = &HC000& If Val(ADC7) >= SetAtas7 Then Shape7.FillColor = &HFF& ElseIf Val(ADC7) < SetAtas7 Then Shape7.FillColor = &HC000&
If Val(ADC8) >= SetAtas8 Then Shape8.FillColor = &HFF& ElseIf Val(ADC8) < SetAtas8 Then Shape8.FillColor = &HC000&
Program Serial Visual Basic Dim DataSerial As String, PaketData As String Public ADC1 As String, ADC2 As String, ADC3 As String, ADC4 As String Public ADC5 As String, ADC6 As String, ADC7 As String, ADC8 As String Public SetAtas1 As Integer, SetAtas2 As Integer, SetAtas3 As Integer, SetAtas4 As Integer Public SetAtas5 As Integer, SetAtas6 As Integer, SetAtas7 As Integer, SetAtas8 As Integer Public SetBawah1 As Integer, SetBawah2 As Integer, SetBawah3 As Integer, SetBawah4 As Integer Public SetBawah5 As Integer, SetBawah6 As Integer, SetBawah7 As Integer, SetBawah8 As Integer Public X1a As Long, X1b As Long, Y1a As Integer, Y1b As Integer Public X2a As Long, X2b As Long, Y2a As Long, Y2b As Long Public X3a As Long, X3b As Long, Y3a As Long, Y3b As Long Public X4a As Long, X4b As Long, Y4a As Long, Y4b As Long Public X5a As Long, X5b As Long, Y5a As Long, Y5b As Long Public X6a As Long, X6b As Long, Y6a As Long, Y6b As Long Public X7a As Long, X7b As Long, Y7a As Long, Y7b As Long Public X8a As Long, X8b As Long, Y8a As Long, Y8b As Long Dim pompa1 As Long, pompa1_v As Long Dim pompa2 As Long, pompa2_v As Long Dim pakan As Long, pakan_v As Long Public TitikNolY As Integer, TitikNolX As Integer, StepGrap As Integer, StepBatas As Integer, Lebar As Integer
Sub SerialCon() Brate = "57600" 'Comm Port Data INI File not located - Load defaults. Parity = "N" NBytes = "8" StopBits = "1" PrtNumb = GetSetting(App.Title, "SettingValue", "Port", 5) CONF = Brate & "," & Parity & "," & NBytes & "," & StopBits Text1 = CONF Form1.Serial.Settings = CONF Form1.Serial.InBufferSize = 16000 Form1.Serial.OutBufferSize = 16000 Form1.Serial.CommPort = PrtNumb If Form1.Serial.PortOpen = False Then Form1.Serial.PortOpen = True
Lampiran Data Hasil Pengujian TP1 TP2 TP3
TP4 TP5 TP6 (saat tidak memberi pakan)
TP6 (saat memberi pakan) TP7 (saat non aktif) TP7 (saat aktif)
TP8 (saat non aktif) TP8 (saat aktif) TP9 (saat non atif)
TP9 (saat aktif) TP10 (saat non aktif) TP10 (saat aktif)