• Tidak ada hasil yang ditemukan

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();}; };

}

Dokumen terkait