Jumat, 01 Maret 2019

TUGAS BESAR ELEKTRONIKA ANALOG VOICE TRANSMITTER AND RECEIVER WITH OPTOCOUPLER CIRCUIT

Maret 01, 2019 22


DISUSUN OLEH :

1.      ABDURRAHMAN YUSUF                        (30601601820)

2.      DAFIS WAHYU WURYANATA  (30601601845)

3.      RIKFAN LATIFURROHMAN       (30601601885)



BAB I

PENDAHULUAN



1.1  Latar Belakang

Pada perkembangan zaman sekarang Transistor sebagai penguat sangat berguna dan banyak digunakan dalam rangkaian elektronika khususnya dalam bidang komunikasi baik itu digital maupun analog. Karena dalam Komunikasi antara Transmitter dan Receiver sinyal yang ditransmitter kan atau dipancarkan pasti akan tercampur dengan noise, interferensi, dll. Selain itu Tegangan yang didterima oleh Receiver (Penerima) akan melemah sehingga membutuhkan Penguat Transistor khususnya Penguat Daya Audio. Dalam Pengaplikasiaanya Penguat Transistor dapat digunakan dalam Rangkaian Pemancar dan Penerima Komunikasi Audio menggunakan Optocoupler.

Rangkaian ini menggunakan PC 817 opto-coupler, sebuah chip kecil yang mentransfer sinyal antara dua sirkuit yang terisolasi menggunakan cahaya. Optocoupler dasar menggunakan LED dan phototransistor. Semakin terang LED, semakin banyak arus yang diizinkan melewati phototransistor. Prinsip utama dalam sirkuit ini adalah komunikasi IR yang hanya digunakan untuk komunikasi Line-of-Sight (LoS) pada rentang rendah.

Sirkuit pemancar dan penerima audio IR sederhana yang dapat mengirimkan sinyal audio hingga 4 meter. Sinyal audio yang akan dikirim diterapkan di dasar transistor di bagian pemancar dan speaker 8 ohm terhubung di bagian penerima untuk mendengarkan sinyal audio yang ditransmisikan.

Oleh Karena itu, dalam tugas besar ini akan menceritakan prinsip kerja serta manfaat dari “Voice Transmitter and Receiver with Optocuopler Circuit”.



1.2  Rumusan Masalah

Dari Latar Belakang diatas dapat dirumuskan  masalah dalam Tugas Besar ini adalah :

1.      Untuk Mengetahui Pengaplikasian Transistor sebagai Penguat Audio kuhususnya dibidang Komunikasi.

2.      Memberikan Dasar Ide untuk perkembangan rangkaian Komunikasi.

3.      Memberikan kontribusi nyata dalam ilmu Komunikasi serta Elektronika.

4.      Dapat mengerti Prinsip Kerja Transistor Sebagai Penguat Audio, Hubungan Darlington, serta Rangkaian Pemancar dan Penerima.



1.3  Tujuan

Tujuan dalam pembuatan Tugas Besar ini adalah membuat rangkaian, menganalisa, dan memberikan ide Dasar Perkembangan Rangkaian Elektronika Komunikasi Jarak jauh.



1.4  Batasan masalah dalam Tugas Besar ini adalah

1.      Penguat Transistor yang digunakan pada Pemancar (Transmitter) adalah penguat kelas A.

2.      Penguat Transistor yang digunakan pada Penerima (Receiver) adalah Transistor Hubungan Darlington.

3.      Filter pada Penerima (Receiver) yang digunakan adalah Rangkaian High Pass Filter.

4.      Simulasi menggunakan Software Proteus 8 Profesional.

5.      Tugas besar ini hanya membahas Prinsip Kerja dari Rangkaian Pemancar dan Penerima Optocoupler, tidak menghitung penguatan Transistor kelas A, maupun Transistor Hubungan Darlington.





















BAB II

DASAR TEORI



2.1 Penguat Push Pull Kelas A

Penguat kelas A adalah rangkaian dasar common emiter (CE) transistor. Penguat tipe kelas A dibuat dengan mengatur arus bias yang sesuai di titik tertentu yang ada pada garis bebannya. Sedemikian rupa sehingga titik Q ini berada tepat di tengah garis beban kurva VCE-IC dari rangkaian penguat tersebut. Penguat kelas A dapat menghasilkan sinyal output sesuai dengan sinyal input selama siklus penuh (360o). Arus output (kolektor) mengalir terus menerus meskipun tidak ada sinyal input, sehingga transistor menerima panas karena adanya ICQ. Asalkan sinyal masih bekerja di daerah aktif, bentuk sinyal keluarannya akan sama persis dengan sinyal input. Efisiensi penguat yang beroperasi pada kelas A sangat rendah kira-kira hanya 25% - 50%. Ini tidak lain karena titik Q yang ada pada titik A, sehingga walaupun tidak ada sinyal input (atau ketika sinyal input = 0 Vac) transistor tetap bekerja pada daerah aktif dengan arus bias konstan. Transistor selalu aktif (ON) sehingga sebagian besar dari sumber catu daya terbuang menjadi panas. [1]

Gambar 2.1 Rangkaian Penguat Transistor Kelas A





Gambar 2.2 Rangkaian Dasar Penguat Kelas B



Terlihat adanya sinyal input berbentuk sinus yang menumpang pada IBQ dan sinyal output terlihat mengayun secara penuh (secara 360O) disekitar ICQ. Pada umumnya titik kerja (ICQ maupun VCEQ) penguat kelas A diletakkan ditengah-tengah garis beban ac agar diperoleh ayunan sinyal output maksimum. Dengan demikian arus ICQ selalu mengalir baik pada saat ada sinyal input maupun pada saat tidak ada sinyal input. Hal inilah yang menyebabkan banyak daya yang terdisipasi pada transisor dan terbuang menjadi panas, sehingga efesiensi penguat kelas A sangat rendah. [2]



2.2 Transistor Darlington

Hubungan darlington diperoleh dengan cara menggabungkan dua buah transistor se- jenis dan umumnya mempunyai beta yang sama. Keuntungan yang diperoleh dengan memanfaatkan transistor yang dihubungkan secara darlington adalah: Im- pedansi input tinggi, impedansi output rendah, dan Ai tinggi. Akan tetapi kerugiannya ada- lah bahwa arus bocor transistor pertama akan dikuatkan oleh transistor kedua, sehingga per- lu hati-hati pada perencanaan pembiasannya. [3]






Gambar 2.3 Rangkaian Transistor Hubungan Darlington



bD = b1 . b2

VBE aktif = 1,4 s/d 1,8 Volt

Bias DC:





Gambar 2.4 Bias DC Darlington

Analisis AC:

Rangkaian ekivalen penguat dengan hubungan darlington. Dasar penggambaran rangkain ekivalen ini, dimana terminal masukan diambil pada basis Q1 dan terminal keluaran diambil pada kolektor Q2.

Menentukan Impedansi input, Zi

Dengan demikian:

Zi = RB// (ri + bD . RE)





Gambar 2.5 Rangkaian Ekivalen Darlington



Menentukan Penguatan Arus, Ai:

io = ie = Ib + bD . ib io = ie @bD . ib

Sedangkan,

ib = (RB).(iin)/(RB + (ri + bD . RE))

iin = (ib).(RB + (ri + bD . RE)) / (RB)

Sehingga:

Ai = io/iin

Ai = (bD . ib).(RB)/ (RB + (ri + bD . RE)).(ib) Ai = (bD . RB) / (RB + (ri + bD . RE))

Menentukan Impedansi Output, Zo:

Kondisi yang harus dipenuhi untuk mendapatkan impedansi output adalah sumber sinyal ha- rus dibuat nol, dan tahanan beban harus dibuat terbuka.

Zo = vo/io

Diturunkan persamaan arus output sesuai dengan hukum Kirchoff arus sebagai berikut:

io = (vo/RE) + (vo/ri) - (bD . ib)

io = (vo/RE) + (vo/ri) - (bD)(vo/ri) io = {(1/RE) + (1/ri) - (bD/ri)}. Vo

Dengan demikian,

Zo = vo/io

Zo = 1 / {(1/RE) + (1/ri) - (bD/ri)}. Zo = RE // ri // (ri/bD)




Gambar 2.6 Rangkaian Ekivalen Menentukan Zo



Menentukan Penguatan Tegangan, Av:

vo = (ib + bD.ib).RE vo = ib.(RE + bD.RE)

Dan

vi = ib.ri + ib (bD + 1).RE vi = ib.(ri + RE + bD.RE)

Sehingga:

vo/vi = {ib.(RE + bD.RE)} / { ib.(ri + RE + bD.RE)} vo/vi = (RE + bD.RE) / (ri + RE + bD.RE)

atau secara pendekatan:

vo/vi = 1





2.3. Filter Lolos Atas (High Pass Filter)

High-Pass Filter (HPF) adalah tipe/fungsi equalizer yang meloloskan frekuensi high (tinggi) frekuensi yang kita kehendaki, sehingga frekuensi low (rendah) dibawahnya disaring (filter) dan dihilangkan. Contoh: setting HPF di 10 kHz maka frekuensi 10 kHz keatas di loloskan dan frekuensi dibawah 10 kHz disaring (di-filter) atau ditiadakan.

Suatu filter lolos atas orde satu dapat dibuat dari satu tahanan dan satu kapasitor seperti pada Gambar 2.7 Perhatikan perbedaannya dengan filter lolos bawah pada penempatan C1. Filter orde satu ini mempunyai pita transisi dengan kemiringan 20 dB/decade atau 6 dB/oktav . Sementara besarnya frekuensi cut off didapat dari:

fC = 1 / (2pR1C1)





Gambar 2.7 High Pass Filter Orde 1



Gambar 2.8 High Pass Filter Orde 2



frekuensi cutoff High Pass Filter orde-2 didapatdarirumusdibawah:


Respon Frekuensi Filter High Pass Filter :



Gambar 2.9 Respon Frekuensi High Pass Filter



Penguatan tegangan dari sinyal input yang diberikan ke rangkaian filter aktif high pass ini memiliki perbedaan pada respon frekuensi rangkaian filter aktif high pass sebagai berikut.
1. Pada saat sinyal input dengan frekuensi (f) lebih tinggi dari frekuensi cut-off (fc) :


2. Pada saat sinyal input dengan frekuensi (f) sama dengan dari frekuensi cut-off
(fc) :





3. Pada saat sinyal input dengan frekuensi (f) lebih rendah dari frekuensi cut-off (fc) :


Dari penyataan diatas maka pada filter high pass akan memberikan respon
melemahkan sinyal input apabila frekuensi sinyal input yang diberikan ke rangkaian filter aktif high pass lebih rendah dari frekuensi cut-off rangkaian dan akan memberikan penguatan tegangan sebesar Av pada saat frekeunsi sinyal tersebut lebih tinggi dari frekuensi cut-off kemudian akan terjadi pelemahan 0,707 dari Av pada saat frekuensi sinyal input sama dengan frekuensi cut-off rangkaian filter aktif high pass tersebut.
[4]



2.4 OPTOCUPLER

Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik, yang bekerja secara otomatis. 

Pada dasarnya Optocoupler adalah suatu komponen penghubung (coupling) yang bekerja berdasarkan picu cahaya optic. Optocoupler terdiri dari dua bagian yaitu:

  1. Pada transmitter dibangun dari sebuah LED infra merah. Jika dibandingkan dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak terlihat oleh mata telanjang.
  2. Pada bagian receiver dibangun dengan dasar komponen Photodiode. Photodiode merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu sumber cahaya menghasilkan energi panas, begitu pula dengan spektrum infra merah. Karena spekrum inframerah mempunyai efek panas yang lebih besar dari cahaya tampak, maka Photodiode lebih peka untuk menangkap radiasi dari sinar infra merah.

Oleh karena itu Optocoupler dapat dikatakan sebagai gabungan dari LED infra merah dengan fototransistor yang terbungkus menjadi satu chips. Cahaya inframerah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang , berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sinar infra merah mempunyai daerah frekuensi 1 x 1012 Hz sampai dengan 1 x 1014 GHz atau daerah frekuensi dengan panjang gelombang 1µm – 1mm.

LED infra merah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi bias maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan panjang gelombang sekitar 0,9 mikrometer. [5]

Prinsip Kerja Optocoupler

Proses terjadinya pancaran cahaya pada LED infra merah dalam optocoupler adalah sebagai berikut. Saat dioda menghantarkan arus, elektron lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah elektron lepas, banyak elektron yang bergabung dengan lubang yang ada di sekitarnya (memasuki lubang lain yang kosong). Pada saat masuk lubang yang lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya, sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus. Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya infra merah adalah fototransistor. Fototransistor merupakan komponen elektronika yang berfungsi sebagai detektor cahaya infra merah. Detektor cahaya ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu fototransistor termasuk dalam golongan detektor optik.

Prinsip kerja dari optocoupler adalah :

  1. Jika antara Photodiode dan LED terhalang maka Photodiode tersebut akan off sehingga output dari kolektor akan berlogika high.
  2. Sebaliknya jika antara Photodiode dan LED tidak terhalang maka Photodiode dan LED tidak terhalang maka Photodiode tersebut akan on sehingga output- nya akan berlogika low.





Gambar 2.10 Optocupler

Sebagai pemancar atau transmitter dibangun dari sebuah led infra merah untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa.
            Sensor ini bisa digunakan sebagai isolator dari rangkaian tegangan rendah kerangkaian tegangan tinggi. Selain itu juga bisa dipakai sebagai pendeteksi adanya penghalang antara transmitter dan receiver dengan memberi ruang uji dibagian tengah antara led dengan photo transistor. Penggunaan ini bisa diterapkan untuk mendeteksi putaran motor atau mendeteksi lubang penanda disket pada disk drive computer. Tapi pada alat yang penulis buat optocoupler untuk mendeteksi putaran.

















BAB III

PEMBAHASAN



1.1    Analisa Voice Transmitter and Receiver Circuit :



Gambar 3.1 Rangkaian Penerima dan Pemancar Audio Optocoupler

            Sirkuit pemancar dan penerima audio IR sederhana yang dapat mengirimkan sinyal audio hingga 4 meter. Sinyal audio yang akan dikirim diterapkan di dasar transistor di bagian pemancar dan speaker 8 ohm terhubung di bagian penerima untuk mendengarkan sinyal audio yang ditransmisikan. Rangkaian ini menggunakan PC 817 opto-coupler, sebuah chip kecil yang mentransfer sinyal antara dua sirkuit yang terisolasi menggunakan cahaya.

            Optocoupler dasar menggunakan LED dan phototransistor. Semakin terang LED, semakin banyak arus yang diizinkan melewati phototransistor. Prinsip utama dalam sirkuit ini adalah komunikasi IR yang hanya digunakan untuk komunikasi Line-of-Sight (LoS) pada rentang rendah. Transistor Q1 digunakan untuk menggerakkan dioda IR. Sinyal audio input memodulasi sinyal inframerah dari dioda IR dan sinyal inframerah yang ditransmisikan diterima oleh fototransistor.

            Transistor Q2 dan Q3 membentuk sirkuit Darlington yang memperkuat sinyal output dari phototransistor. sinyal keluaran dari sirkuit Darlington mampu menggerakkan speaker. Akhirnya, kapasitor C1 dan resistor R3 membentuk filter yang digunakan untuk mengurangi interferensi dari sinyal inframerah liar.

BAB IV

PENUTUP



4.1 Kesimpulan

Dari Tugas Besar yang telah kami buat, dapat diambil kesimpulan sebagai berikut :

  1. Dengan menggunakan Penguat Kelas A akan memberikan Penguatan Tegangan yang dapat menggerekan IR Optcoupler.
  2. Dengan Penguat Transistor Hubungan Darlington dapat menguatkan Tegangan yang dapat menghidupkan atau mengaktifkan Speaker 8 ohm.
  3. Dengan Optocoupler Audio / Suara dapat ditransmisikan sejauh 4 meter secara optic atau cahaya.
  4. Dengan High Pass Filter akan meloloskan Frekuensi Tinggi dan menghambat Frekuensi Rendah di Penerima (Receiver) sebelum dikuatkan oleh Penguat Darlington.



4.2 Saran

      Dapat Menganalisa Perhitungan Penguatan dan nilai Tegangan di Penguat Transistor kelas A, Transistor Darlington, dan dapat menampilkan Grafik Respon Frekuensi High Pass Filter.



























DAFTAR PUSTAKA



M. Ashari, “Desain Konverter Elektronika Daya,” Bandung Inform. Bandung, 2017.

H. D. Surjono, Elektronika Analog. Cerdas Ulet Kreatif Publisher, 2011.

E. Penguat and A. Gambar, “Penguat menggunakan transistor.”

T. S. Rappaport, Wireless communications: principles and practice, vol. 2. prentice hall PTR New Jersey, 1996.

D. Arifianto, Kumpulan rangkaian Elektronika sederhana. Kawan Pustaka, 2011.

Rabu, 12 Desember 2018

PC Serial Arduino dan LM35 Dengan Visual C#

Desember 12, 2018 21
1. Dasar Teori
LM35 merupakan salah satu dari sekian banyak sensor analog untuk mengukur suhu. Perubahan suhu disekitar sensor menyebabkan terjadinya perubahan nilai tahanan pada sensor, sehingga turut menyebabkan perubahan nilai tegangan output dari sensor. Perubahan nilai tegangan inilah yang dimanfaatkan oleh komponen Analog to Digital Converter (ADC) pada mikrokontroler untuk menyediakan data digital berupa data suhu yang kemudian bisa dibaca oleh mikrokontroler.
Data digital yang telah diterima oleh mikrokontroler dalam hal ini masih berupa sampel data (data mentah) sehingga perlu dilakukan kalibrasi. Kalibrasi dilakukan dengan cara memasukan sampel data tersebut ke sebuah fungsi yang didapat dari hasil perhitungan dengan kondisi suhu pada pengukuran sebenarnya (perbandingan antara hasil terukur dan aktual). Setelah data suhu sebenarnya diketahui, data suhu tersebut dikirim ke komputer menggunakan komunikasi serial untuk ditampilkan pada interface.
Aplikasi interface pada komputer selanjutnya membaca port serial (COM) tempat dimana data suhu tersebut akan dikirim oleh mikrokontroler. Data serial yang telah diterima kemudian ditampilkan pada sebuah grafik sehingga bisa terlihat data suhu pada rentang waktunya.

2. Alat Dan Bahan
a. Perangkat Keras
1 Arduino Uno R3 x 1
2 Kabel USB A to B x 1
3 Kabel Jumper x 3
4 Sensor Suhu LM35 x 1
b. Perangkat Lunak
1 Arduino IDE Ver. 1.0.5 >
2 Microsoft Visual Studio Ver. 2008 >
3 ZedGraph class library Ver. 5.1.5 (Lihat tutorial setupnya disini)

3. Ranah Kerja
Proses pengerjaannya akan dibagi menjadi tiga bagian, yaitu :
Perakitan Perangkat Keras
Pemrograman arduino
Pemrograman Interface
3.1 Perakitan Perangkat Keras
Perangkat keras dirakit berdasarkan gambar berikut :



3.2 Kode Progam pada Arduino
Kode Program LM35 Arduino
/** Workshop Dasar Mikrokontroler 2014
RADE - Robotics AnD Embedded Systems STMIK STIKOM Bali
**/
//Pin wiper pada sensor LM32 (terminal tengah) tersambung ke Analog //Pin 3
//Yang disamping tersambung ke 5V dan Ground
int analogPin = 3;
  
//Variabel untuk menyimpan data suhu
float suhu;
  
void setup()
{
  //Setup serial dengan baud 9600
  Serial.begin(9600);
}
  
void loop()
{
  //Baca pin input
  suhu = analogRead(analogPin);
  //Lakukan kalibrasi
  suhu = suhu * 0.48828125;
  //Kirim ke komputer melalui serial
  Serial.println(suhu);
  //Delay sebelum melakukan pembacaan selanjutnya
  delay(50);
}

3.3 Pemrograman Antarmuka
Buka Visual Studio IDE, buat proyek baru dengan tipe Visual C# dan pilih Windows > Windows Forms Application. Ketik nama proyek Monitor Suhu kemudian OK.



Mulai membuat interface dengan mendrag-and-drop masing-masing kontrol ke form. Kemudian untuk kode pada form1 atau form utama gunakan kode berikut :
Kode Program Antarmuka Arduino C#

/** Workshop Dasar Mikrokontroler 2014 RADE - Robotics AnD Embedded Systems STMIK STIKOM Bali
Ditulis Oleh : Aditya Suranata
untuk Public Domain
**/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//namespace untuk zedGrpah
using ZedGraph;
//namespace untuk class serial
using System.IO.Ports;
//namespace untuk melihat setting global komputer
using System.Globalization;
  
namespace Monitor_Suhu
{
    public partial class Form_utama : Form
    {
        /**Inisialisaisi arduino
         * Setup port serial dengan nama port COM65,
         * dan baud rate sebesar 9600.
         * Baud rate disini dengan di arduino harus sama
         * **/
        SerialPort arduino = new SerialPort("COM1",9600);       
          
        //waktu mulai dalam milidetik
        double waktuStart = 100;
  
  
        //konstruktor
        public Form_utama()
        {
            InitializeComponent();
        }
  
        //event ketuka tombol start diklik
        private void btn_kontrol_start_Click(object sender, EventArgs e)
        {
            //start detak untuk mulai mengaktifkan grapher
            try
            {
                //matikan tombol start
                btn_kontrol_start.Enabled = false;
                //nyalakan tombol stop
                btn_kontrol_stop.Enabled = true;
                //set batas waktu pembacaan serial sebelum dinyatakan gagal
                arduino.ReadTimeout = 1000;
                //set batas waktu penulisan serial
                arduino.WriteTimeout = 1000;
  
                //nyalakan detak
                Detak.Enabled = true;
                //mulai detak
                Detak.Start(); 
            }
            catch (Exception gagal)
            {
                //Error handling
                //MessageBox.Show(gagal.ToString());
            }
        }
  
          
        //event ketika detak dimulai
        private void Detak_Tick(object sender, EventArgs e)
        {
            try
            {
                //Mulai komunikasi dengan arduino
                arduino.Open();
  
                //get item kurva pertama pada grafik
                LineItem kurvaSuhu = zedGraphSuhu.GraphPane.CurveList[0] as LineItem;
  
                //get PointPairList
                IPointListEdit listSuhu = kurvaSuhu.Points as IPointListEdit;
  
                //waktu yang terlewati
                double waktu = (Environment.TickCount - waktuStart) / 1000.0;
  
                //baca data suhu yang dikirim arduino,
                //konversi data tersebut (string) ke double,
                //dan tambahkan ke listSuhu
                float dataSuhu = float.Parse(arduino.ReadLine(), CultureInfo.InvariantCulture.NumberFormat);
                listSuhu.Add(waktu,Convert.ToDouble(dataSuhu));
  
                //Tutup komunikasi dengan arduino
                arduino.Close();
  
                //Buat scale X tetap rolling dalam interval 30 detik, dengan satu
                //langkah besar antara nilai X maksimal dan akhir dari axis
                Scale xScale = zedGraphSuhu.GraphPane.XAxis.Scale;
                if (waktu > xScale.Max - xScale.MajorStep)
                {
                    xScale.Max = waktu + xScale.MajorStep;
                    xScale.Min = xScale.Max - 30.0;
                }
  
                // Pastikan Y axis di scale ulang untuk mengakomodir data aktual
                zedGraphSuhu.AxisChange();
  
                // Redraw paksa
                zedGraphSuhu.Invalidate();
  
            }
            catch (Exception gagal)
            {
                //error handling
                //tutup komunikasi dengan arduino jika masih terhubung
                if (arduino.IsOpen)
                {
                    arduino.Close();
                }
                //MessageBox.Show(gagal.ToString());
            }
  
        }
  
  
        //event ketika tombol stop diklik
        private void btn_kontrol_stop_Click(object sender, EventArgs e)
        {
            try
            {
                //nyalakan kembali tombol start
                btn_kontrol_start.Enabled = true;
                //matikan tombol stop
                btn_kontrol_stop.Enabled = false;
                //stop detak
                Detak.Stop();
                //matikan detak
                Detak.Enabled = false;
                //jika komunikasi masih terbuka, tutup komunikasi
                if (arduino.IsOpen)
                {
                    arduino.Close();
                }
            }
            catch (Exception gagal)
            {
                //error handling
                //MessageBox.Show(gagal.ToString());
            }
        }
          
        //event ketika form utama dibuka
        private void Form_utama_Load(object sender, EventArgs e)
        {
            try
            {
                //catat waktu pertama sebagai referensi
                waktuStart = Environment.TickCount;
  
                //Inisialisasi ZedGraph
                GraphPane grafikSuhu = zedGraphSuhu.GraphPane;
                grafikSuhu.Title.Text = "Grafik Suhu";
                grafikSuhu.XAxis.Title.Text = "Waktu (Detik)";
                grafikSuhu.YAxis.Title.Text = "Suhu (Celcius)";
  
                //Simpan 120 point. Pada 500 ms sampel rate.
                //RollingPointPairList adalah class penyimpanan yang efisien
                //dengan tetap merolling kumpulan point data tanpa perlu
                //men-shift nilai data apapun
                RollingPointPairList listSuhu = new RollingPointPairList(120);
  
                //Inisialisasi kurva
                LineItem kurvaSuhu = grafikSuhu.AddCurve("Suhu", listSuhu, Color.Red,SymbolType.None);
  
            }
            catch (Exception gagal)
            {
                //error handling
                //MessageBox.Show(gagal.ToString());
            }
        }
  
    }
}

Lakukan pengujian dengan menghubungkan Arduino ke komputer. Periksa nama port COM yang digunakan oleh Arduino dari Device Manager, kemudian pastikan tidak ada program lain yang menggunakan port tersebut termasuk Arduino IDE agar tidak bentrok. Kemudian cocokan nama port serialnya dengan yang tertulis di program. Run program untuk memulai debugging.
Jika terjadi kesalahan atau program tidak bekerja, uncomment syntax MessageBox pada block catch masing-masing kode untuk mentracing kesalahan yang menyebabkan program tidak bekerja.