BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Berdasarkan hasil pengujian serta pengambilan data pada perangkat pengendali dan pemantau fish feeder pada sistem otomasi rumah menggunakan layanan SMS, dapat disimpulkan:
1. Program pada komputer dan program pada mikrokontroler dapat bekerja dengan baik. 2. Sistem pengendali dan pemantau fish feeder pada sistem otomasi rumah menggunakan
layanan SMS secara keseluruhan kurang bekerja dengan baik. Motor servo yang terhubung dengan perangkat fish feeder kadang macet saat pengendalian dilakukan karena terganjal pakan.
5.2 SARAN
Perangkat pengendali dan pemamatau fish feeder pada sistem otomasi rumah menggunakan layanan SMS masih terdapat banyak kekurangan, maka perlu pengembangan lebih lanjut. Saran bagi pengembangan aplikasi ini selanjutnya adalah:
1. Pembuatan perangkat fish feeder harus lebih baik dengan mempertimbangkan konstruksi penutup pakan yang terhubung dengan motor servo agar tidak mengalami gangguan seperti macet karena terganjal pakan dan masalah lainya.
2. Penambahan sensor maupun perangkat lain sebagai feedback yang dapat digunakan untuk mengetahui sisa pakan ikan.
59
DAFTAR PUSTAKA
[1] Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontoler AVR ATMega8535 Simulasi, Hardware, dan Aplikasi. Penerbit Andi: Yogyakarta
[2] http://www.mikron123.com/index.php/Aplikasi-SMS/Teori-Dasar-SMS.html,diakses tanggal 11 November 2009.
[3] http://www.rumahpintar.com, diakses tanggal 23 September 2009. [4] Usman, Uke. K., Global System for Mobile Communications,
http://www.ittelkom.ac.id, diakses tanggal 23 September 2009.
[5] http://www.ittelkom.ac.id/library/index.php?view=article&catid=17:sistem-komunikasi-bergerak&id=404:sms-gateway&option=com_content&Itemid=15 [6] http://id.wikipedia.org/wiki/XAMPP#Sejarah_dan_Pengembang
[7] Strangio.Christopher.E. The RS232 STANDARD, Copyright © 1993-2003 by CAMI Research Inc., Lexington, Massachusetts
[8] 2002, MAX232, MAX232I, DUAL EIA-232 DRIVERS/RECEIVERS
[9] http://www.pinout.net/browse.php?conid=123, diakses 2 Desember 2009
[10] http://www.robotindonesia.com/article/an0012. Jenis-Jenis Motor/pdf, diakses tanggal 11 November 2009.
[11] Winoto, Ardi. 2008.Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrogramannya dengan Bahasa C pada WinAVR. informatika: Bandung
1
================================================================
Gambar Rangkaian Keseluruhan
================================================================
================================================================
Listing Program PC
2
Private Sub command1_Click(Index As Integer) Form2.Show
Form1.Hide End Sub
Private Sub Command2_Click() Form3.Show
Form1.Hide End Sub
Private Sub Command3_Click() Form4.Show
Form1.Hide End Sub
Private Sub Command4_Click() End
End Sub
Private Sub Command5_Click() Form5.Enabled = True
Form5.Show
Form1.Enabled = False Unload Form1
End Sub
Private Sub Form_Load()
Label2.Caption = Format(Now, "DDDD, d MM yyyy") Label3.Caption = Format(Now, "hh:mm:ss")
Label4.Caption = " *Perangkat Pengendali dan Pemantau fish feeder Pada Sistem Otomasi Rumah Menggunakan Layanan SMS* *Oleh:Feriawan Murti (065114003)*"
End Sub
Private Sub Timer1_Timer()
Label4.Caption = Right(Label4.Caption, Len(Label4.Caption) - 1) & Left(Label4.Caption, 1) End Sub
================================================================ Private Sub nonaktiftombol1()
Selesai.Enabled = True End Sub
Private Sub aktiftombol1() Mulai.Enabled = True Selesai.Enabled = True End Sub
Private Sub aktifteks1() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True
3 Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True Text8.Enabled = True Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Text6.Locked = True Text7.Locked = True Text8.Locked = True End Sub
Private Sub nonaktifteks1() Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False Text7.Enabled = False Text8.Enabled = False End Sub
Private Sub Selesai_Click() On Error Resume Next nonaktifteks1 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Timer1.Enabled = False MSComm1.PortOpen = False Form1.Show Form2.Hide End Sub
Private Sub Mulai_Click() On Error Resume Next Dim jumlahinbox As Integer aktifteks1
RS
DataEnvironment1.rsCommand1.Open
4
Text1.Text = jumlahinbox Timer1.Enabled = True Mulai.Enabled = True End Sub
Private Sub Timer1_Timer() On Error Resume Next Dim jumlahinbox As Integer
DataEnvironment1.rsCommand1.Open jumlahinbox = DataEnvironment1.rsCommand1.RecordCount Text1.Text = jumlahinbox If jumlahinbox = 0 Then DataEnvironment1.rsCommand1.Close Else With DataEnvironment1.rsCommand1 Text4.Text = !SenderNumber Text2.Text = !TextDecoded End With Timer1.Enabled = False Save_Data Cek_Nomor End If End Sub
' PROGRAM PEMBANDINGAN NOMOR PENGIRIM YANG DITERIMA ' Private Sub Cek_Nomor()
On Error Resume Next Dim jumlahdata As Integer Timer1.Enabled = False Dim a As String DataEnvironment2.rsCommand1.Open jumlahdata = DataEnvironment2.rsCommand1.RecordCount DataEnvironment2.rsCommand1.MoveFirst If jumlahdata = 0 Then Text5.Text = "tidak sesuai" End If With DataEnvironment2.rsCommand1 a = !No End With Do Until (jumlahdata = 0) If Text4.Text = a Then Text5.Text = "sesuai" Cek_Isi Exit Do Else
Text5.Text = "tidak sesuai" jumlahdata = jumlahdata - 1 End If
DataEnvironment2.rsCommand1.MoveNext If DataEnvironment2.rsCommand1.EOF Then
5 GoTo Selesai Else With DataEnvironment2.rsCommand1 a = !No End With End If Loop Exit Sub Selesai: With DataEnvironment2.rsCommand1 a = !No End With If Text4.Text = a Then Text5.Text = "sesuai" Cek_Isi Else
Text5.Text = "tidak sesuai" Text7.Text = "Nomor Asing" Text6.Text = "" kirim_kesalahan_nomor End If Delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End Sub
Private Sub AktifTeks() Text5.Text = "sesuai" End Sub
Private Sub plus_Click() Form1.Show
End Sub
' PROGRAM PEMBANDINGAN NOMOR PENGIRIM YANG DITERIMA ' Private Sub Cek_Isi()
On Error Resume Next Dim b As String
Dim jumlahformat As Integer
DataEnvironment3.rsCommand1.Open
jumlahformat = DataEnvironment3.rsCommand1.RecordCount If jumlahformat = 0 Then
Text3.Text = "tidak sesuai" End If DataEnvironment3.rsCommand1.MoveFirst With DataEnvironment3.rsCommand1 b = !Text End With Do Until (jumlahformat = 0) If Text2.Text = b Then Text3.Text = "sesuai"
6 Text7.Text = Text2.Text pembukaan Vb_mikro Exit Do Else
Text3.Text = "tidak sesuai" jumlahformat = jumlahformat - 1 End If DataEnvironment3.rsCommand1.MoveNext If DataEnvironment3.rsCommand1.EOF Then GoTo Selesai Else With DataEnvironment3.rsCommand1 b = !Text End With End If Loop Exit Sub Selesai: With DataEnvironment3.rsCommand1 b = !Text End With If Text2.Text = b Then Text3.Text = "sesuai" Text7.Text = Text2.Text pembukaan Vb_mikro Else
Text3.Text = "tidak sesuai" Text7.Text = "salah format " Text6.Text = "" kirim_kesalahan_format End If Delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End Sub
Private Sub Form_Load() Load Me
nonaktiftombol1 nonaktifteks1 RS
End Sub
' PROGRAM MENGIRIM PESAN KESALAHAN NOMOR KE PENGIRIM PESAN ' Private Sub kirim_kesalahan_nomor()
7
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "','Nomor Asing')"
DataEnvironment1.Connection1.Execute send, adCmdText End Sub
' PROGRAM MENGIRIM PESAN KESALAHAN PESAN KE PENGIRIM PESAN ' Private Sub kirim_kesalahan_format()
Dim send As String
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "','salah format')"
DataEnvironment1.Connection1.Execute send, adCmdText End Sub
' PROGRAM MENAMPILKAN STATUS DAN LEVEL PENGENDALIAN DAN PEMANTAUAN '
Private Sub pembukaan()
With DataEnvironment1.rsCommand1 Text7.Text = !TextDecoded
End With
If Text7.Text = "bk1" Then Text6.Text = "20_derajat" ElseIf Text7.Text = "bk2" Then Text6.Text = "40_derajat" ElseIf Text7.Text = "bk3" Then Text6.Text = "60_derajat" ElseIf Text7.Text = "CEK" Then Text6.Text = "Pemantauan" End If
End Sub
Private Sub Delete() Dim b As String Dim Hapus As String
With DataEnvironment1.rsCommand1 b = !ID
End With
Hapus = "DELETE FROM inbox WHERE ID ='" & b & "'" DataEnvironment1.Connection1.Execute Hapus, adCmdText End Sub ' PROGRAM KOMUNIKASI RS232 ' Private Sub RS() MSComm1.RThreshold = 1 MSComm1.InputLen = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.DTREnable = False MSComm1.CommPort = 1 MSComm1.PortOpen = True End Sub
8
' PROGRAM PENGIRIMAN DATA KE MIKROKONTROLER ' Private Sub Vb_mikro()
With DataEnvironment1.rsCommand1 Text7.Text = !TextDecoded
End With
If Text7.Text = "bk1" Then MSComm1.Output = "a" ElseIf Text7.Text = "bk2" Then MSComm1.Output = "b" ElseIf Text7.Text = "bk3" Then MSComm1.Output = "c" ElseIf Text7.Text = "CEK" Then MSComm1.Output = "d" End If Delete DataEnvironment1.rsCommand1.Close Timer1.Enabled = True End Sub
' PROGRAM PENERIMAAN DATA DARI MIKROKONTROLER ' Private Sub MSComm1_OnComm()
Dim Data As String
If MSComm1.CommEvent = comEvReceive Then Data = MSComm1.Input
Text8.Text = Data End If
If Text8.Text = "a" Then kirim_sukses1
ElseIf Text8.Text = "b" Then kirim_sukses2
ElseIf Text8.Text = "c" Then kirim_sukses3
ElseIf Text8.Text = "x" Then kirim_error1
ElseIf Text8.Text = "y" Then kirim_error2
ElseIf Text8.Text = "z" Then kirim_error3
ElseIf Text8.Text = "o" Then kirim_pemantauan1 ElseIf Text8.Text = "f" Then kirim_pemantauan2 End If
End Sub
' PROGRAM PENGIRIMAN PESAN KE PENGGUNA SETALAH MENDAPAT BALASAN DARI MIKROKONTROLER '
Private Sub kirim_sukses1() Dim kirim As String
9
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' buka1_ok ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_sukses2() Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' buka2_ok ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_sukses3() Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' buka3_ok ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_error1() Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' error1 ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_error2() Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' & error2 ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_error3() Dim kirim As String
kirim = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' error3 ')"
DataEnvironment1.Connection1.Execute kirim, adCmdText End Sub
Private Sub kirim_pemantauan1() Dim send As String
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' siap ')"
DataEnvironment1.Connection1.Execute send, adCmdText End Sub
Private Sub kirim_pemantauan2() Dim send As String
send = "INSERT INTO outbox (DestinationNumber,TextDecoded) VALUES" + "('" & Text4.Text & "',' belum tutup ')"
DataEnvironment1.Connection1.Execute send, adCmdText End Sub
================================================================ ' PROGRAM MENYIMPAN DATA PENGENDALIAN DAN PEMANTAUAN '
Private Sub Save_Data() On Error Resume Next
10
Dim No As Integer
Dim Date_and_Time As String
DataEnvironment4.rsCommand1.Open No = DataEnvironment4.rsCommand1.RecordCount No = No + 1 Date_and_Time = CStr(Now) DataEnvironment4.rsCommand1.AddNew DataEnvironment4.rsCommand1.Fields("No") = No DataEnvironment4.rsCommand1.Fields("waktu") = Date_and_Time DataEnvironment4.rsCommand1.Fields("NoPengguna") = Text4.Text DataEnvironment4.rsCommand1.Fields("Pesan") = Text2.Text DataEnvironment4.rsCommand1.Update End Sub ================================================================ ' PROGRAM MENYIMPAN NOMOR PENGIRIM YANG DIJINKAN KE DATABASE’ Private Sub Command8_Click()
Form1.Enabled = True Unload Me
Form1.Show End Sub
Private Sub Form_Load() Load Me
Form1.Enabled = False End Sub
Private Sub Hapus_Click() On Error GoTo Selesai
With DataEnvironment2.rsCommand1 .Delete .MoveNext If .EOF Then .MovePrevious If .BOF Then NonaktifkanTombol End If End If End With Hapus_Click_Exit: Exit Sub Selesai: On Error GoTo 0 End Sub
Private Sub Label1_Click() End Sub
Private Sub Pertama_Click() On Error Resume Next
11
DataEnvironment2.rsCommand1.MoveFirst End Sub
Private Sub Sebelumnya_Click() On Error Resume Next
DataEnvironment2.rsCommand1.MovePrevious If DataEnvironment2.rsCommand1.BOF Then DataEnvironment2.rsCommand1.MoveFirst End If
End Sub
Private Sub Berikutnya_Click() On Error Resume Next
DataEnvironment2.rsCommand1.MoveNext If DataEnvironment2.rsCommand1.EOF Then DataEnvironment2.rsCommand1.MoveLast End If
End Sub
Private Sub Akhir_Click() On Error Resume Next
DataEnvironment2.rsCommand1.MoveLast End Sub
Private Sub Simpan_Click() On Error GoTo Selesai
DataEnvironment2.rsCommand1.Update txtNo.Locked = True AktifkanTombol Simpan.Enabled = False Tambah.Caption = "Tambah" Tambah_Click_Exit: Exit Sub Selesai:
Dim strMessage As String
Dim errDBError As ADODB.Error
For Each errDBError In DataEnvironment2.Connection1.Errors strMessage = strMessage & errDBError.Description & vbCrLf Next
On Error GoTo 0 End Sub
Private Sub Tambah_Click() On Error GoTo Selesai
If Tambah.Caption = "Tambah" Then
DataEnvironment2.rsCommand1.AddNew NonaktifkanTombol
Tambah.Caption = "Batal" Simpan.Enabled = True txtNo.Locked = False
12 Else DataEnvironment2.rsCommand1.CancelUpdate txtNo.Locked = True AktifkanTombol Tambah.Caption = "Tambah" Simpan.Enabled = False DataEnvironment2.rsCommand1.MoveLast End If Tambah_Click_Exit: Exit Sub Selesai: On Error GoTo 0 End Sub
Private Sub NonaktifkanTombol() Pertama.Enabled = False Sebelumnya.Enabled = False Berikutnya.Enabled = False Terakhir.Enabled = False Hapus.Enabled = False End Sub
Private Sub AktifkanTombol() Pertama.Enabled = True Sebelumnya.Enabled = True Berikutnya.Enabled = True Terakhir.Enabled = True Hapus.Enabled = True End Sub
Private Sub Terakhir_Click() On Error Resume Next
DataEnvironment2.rsCommand1.MoveLast End Sub
================================================================ ' PROGRAM MENYIMPAN FORMAT PESAN YANG DIJINKAN KE DATABASE ACCES '
Private Sub Hapus_Click() On Error GoTo Selesai
With DataEnvironment3.rsCommand1 .Delete .MoveNext If .EOF Then .MovePrevious If .BOF Then NonaktifkanTombol End If End If End With
13 Hapus_Click_Exit: Exit Sub Selesai: On Error GoTo 0 End Sub
Private Sub Pertama_Click() On Error Resume Next
DataEnvironment3.rsCommand1.MoveFirst End Sub
Private Sub Sebelumnya_Click() On Error Resume Next
DataEnvironment3.rsCommand1.MovePrevious If DataEnvironment3.rsCommand1.BOF Then DataEnvironment3.rsCommand1.MoveFirst End If
End Sub
Private Sub Berikutnya_Click() On Error Resume Next
DataEnvironment3.rsCommand1.MoveNext If DataEnvironment3.rsCommand1.EOF Then DataEnvironment3.rsCommand1.MoveLast End If
End Sub
Private Sub Terakhir_Click() On Error Resume Next
DataEnvironment3.rsCommand1.MoveLast End Sub
Private Sub Simpan_Click() On Error GoTo Selesai
DataEnvironment3.rsCommand1.Update txtText.Locked = True AktifkanTombol Simpan.Enabled = False Tambah.Caption = "Tambah" Tambah_Click_Exit: Exit Sub Selesai:
Dim strMessage As String
Dim errDBError As ADODB.Error
For Each errDBError In DataEnvironment3.Connection1.Errors strMessage = strMessage & errDBError.Description & vbCrLf Next
On Error GoTo 0 End Sub
14
Private Sub Tambah_Click() On Error GoTo Selesai
If Tambah.Caption = "Tambah" Then
DataEnvironment3.rsCommand1.AddNew NonaktifkanTombol Tambah.Caption = "Batal" Simpan.Enabled = True txtText.Locked = False Else DataEnvironment3.rsCommand1.CancelUpdate txtText.Locked = True AktifkanTombol Tambah.Caption = "Tambah" Simpan.Enabled = False DataEnvironment3.rsCommand1.MoveLast End If Tambah_Click_Exit: Exit Sub Selesai: On Error GoTo 0 End Sub
Private Sub NonaktifkanTombol() Pertama.Enabled = False Sebelumnya.Enabled = False Berikutnya.Enabled = False Terakhir.Enabled = False Hapus.Enabled = False End Sub
Private Sub AktifkanTombol() Pertama.Enabled = True Sebelumnya.Enabled = True Berikutnya.Enabled = True Terakhir.Enabled = True Hapus.Enabled = True End Sub
Private Sub Command8_Click() Form1.Show
Form4.Hide End Sub
================================================================ ' PROGRAM MENAMPILKAN DATA TERSIMPAN '
Private Sub Command2_Click() Hapus
End Sub
Private Sub Command3_Click() Form1.Enabled = True
15
Form1.Show
Form5.Enabled = False Unload Form5
End Sub
Private Sub Form_Load() Load Me Form5.Enabled = True MSFlexGrid1.TextMatrix(0, 0) = "No" MSFlexGrid1.TextMatrix(0, 1) = "NoPengguna" MSFlexGrid1.TextMatrix(0, 2) = "Pesan" MSFlexGrid1.TextMatrix(0, 3) = "Waktu" MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 1500 MSFlexGrid1.ColWidth(2) = 1500 MSFlexGrid1.ColWidth(3) = 2000 Data End Sub
Private Sub Data() On Error Resume Next
DataEnvironment4.rsCommand1.Open
Do While Not DataEnvironment4.rsCommand1.EOF T = T + 1
MSFlexGrid1.TextMatrix(T, 0) = DataEnvironment4.rsCommand1.Fields("No")
MSFlexGrid1.TextMatrix(T, 1) = DataEnvironment4.rsCommand1.Fields("NoPengguna") MSFlexGrid1.TextMatrix(T, 2) = DataEnvironment4.rsCommand1.Fields("Pesan")
MSFlexGrid1.TextMatrix(T, 3) = DataEnvironment4.rsCommand1.Fields("Waktu") totalrec.Caption = "Total Records: " + CStr(MSFlexGrid1.Rows - 1)
If Not DataEnvironment4.rsCommand1.EOF Then DataEnvironment4.rsCommand1.MoveNext Loop
DataEnvironment4.rsCommand1.Close End Sub
Private Sub Hapus() Dim Hapus As String
Hapus = "DELETE * FROM record"
DataEnvironment4.Connection1.Execute Hapus, adCmdText End Sub
Listing Program Mikrokontroler
================================================================ /*****************************************************
Chip type : ATmega8535L Program type : Application
16
Clock frequency : 8,000000 MHz Memory model : Small
External SRAM size : 0 Data Stack size : 128
*****************************************************/ #include <mega8535.h>
#include <stdio.h> #include <delay.h>
unsigned char Data=0x00;
const long int osilator=11059200; // kristal yang digunakan 11059200 unsigned long int UBRR;
void InisialisasiUART( unsigned long int baud_rate) {
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate:
UBRR = (osilator/(16*baud_rate))-1; UBRRL=UBRR; UBRRH=UBRR>>8; UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; }
void bk1() // Pembukaan 20 derajat { OCR1A=1000;
delay_ms(3000); OCR1A=850; }
void bk2() // Pembukaan 40 derajat { OCR1A=1100;
delay_ms(3000); OCR1A=850; }
void bk3()
{ OCR1A=1200; // Pembukaan 60 derajat delay_ms(3000); OCR1A=850; } void tutup() { OCR1A=850; }
17
void idle() // Pemantauan { if (PINC.0==1)
{printf("o");} else
{printf("f");} }
void err1() // Pemberitahuan berhasil bk1 atau Error1 { if (PINC.0==1) {printf("a");} else {printf("x"); } }
void err2() // Pemberitahuan berhasi2 bk1 atau Error2 { if (PINC.0==1) {printf("b");} else {printf("y"); } }
void err3() // Pemberitahuan berhasi3 bk1 atau Error3 { if (PINC.0==1) {printf("c");} else {printf("z"); } } void main(void) { InisialisasiUART(9600); // komunikasi RS232 PORTC=0x00; DDRC=0xFF; PORTD=0x00; DDRD=0x20; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1000.000 kHz
// Mode: Ph. & fr. cor. PWM top=ICR1 // OC1A output: Non-Inv.
// OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off
18
// Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x80; TCCR1B=0x12; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x27; ICR1L=0x10; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
while (1) // Program utama {
Data=getchar();
if (Data=='a') // Terima data "a" dari komputer {
bk1(); err1(); }
else if (Data=='b') // Terima data "b" dari komputer {
bk2(); err2();
}
else if(Data=='c') // Terima data "c" dari komputer {
bk3(); err3(); }
else if(Data=='d') // Terima data "d" dari komputer idle();
else{tutup();}; };
}