Minggu, 31 Mei 2015

Transmiting Data (mematikan dan menghidupkan 3 lampu) menggunakan aplikasi Visual Studio

 Dasar Teori

Pengiriman data melalui serial port sangat sederhana, cukup
menggunakan method Write dengan parameter berupa string yang
ingin dikirim.

pertama buat desigen seperti ini :



lalu buat coding seperti ini :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;

namespace Kontrol_3_led
{
    public partial class Form1 : Form
    {
        Image biru = Properties.Resources.biru;
        Image putih = Properties.Resources.putih;

        public Form1()
        {
            InitializeComponent();
           
            pictureBox1.BackgroundImage = putih;
            pictureBox2.BackgroundImage = putih;
            pictureBox3.BackgroundImage = putih;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            serialPort1.Open();
            comboBox1.Items.Add("COM1");
        }

        private void on1_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write("1");
                pictureBox1.BackgroundImage = biru;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);      
            }
        }

        private void off1_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write("0");
                pictureBox1.BackgroundImage = putih;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Exit_Click(object sender, EventArgs e)
        {
            serialPort1.Close();
            Application.Exit();
        }

        private void kirim_Click(object sender, EventArgs e)
        {
            serialPort1.Write(textBox1.Text);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (serialPort1.BytesToRead != 0)
            {
                textBox2.Text = serialPort1.ReadExisting();
            }
        }

        private void on2_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write("2");
                pictureBox2.BackgroundImage = biru;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
              
            }
        }

        private void off2_Click(object sender, EventArgs e)
        {

            try
            {
                serialPort1.Write("3");
                pictureBox2.BackgroundImage = putih;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void on3_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write("4");
                pictureBox3.BackgroundImage = biru;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

            }
        }

        private void off3_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Write("5");
                pictureBox3.BackgroundImage = putih;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
  }
}


Serial Receive

Dasar Teori

Port merupakan kumpulan jalur elektronik untuk menyalurkan
data. Port ada yang untuk input saja, output saja atau input/output.
Port dipakai untuk komunikasi antara CPU dengan monitor, keyboard,
mouse dll.
Proses pengiriman data dapat langsung sekaligus secara paralel
dengan menggunakan beberapa kabel, atau satu-persatu secara
berurutan (serial) dengan menggunakan sepasang kabel. Contoh
transmisi data secara paralel adalah komunikasi harddisk IDE dengan
CPU, komunikasi printer dengan komputer. Contoh transmisi data
secara serial adalah komunikasi harddisk SATA dengan CPU, komunikasi
USB dll.
Mikrokontroller umumnya menggunakan standar komunikasi
serial RS232 untuk koneksi dengan perangkat lain. Komputer jugamemiliki port standar serialport, paralelport, USB, VGA dan PS/2. Pada
praktikum ini kita akan mempelajari penggunaan serial port.

pertama kita buka terlebih dahulu aplikasi visual studio lalu create a new form
dan buat design seperti ini :
lalu buat codingannya seperti ini :

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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int a = 0;
        string rxString;
        private void DisplayText (object sender, EventArgs e)
        {
            richTextBox1.AppendText(rxString);
            richTextBox1.ScrollToCaret();

            chart1.Series["Series"].Points.AddXY(a,Convert.ToInt16(rxString));
            a++;
        }
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           
            if (button1.Text == "Connect")
            {
                button1.Text = "disconnect";
                serialPort1.Open();
                richTextBox1.Text = "";
                a = 0;
            }
            else
            {
                button1.Text = "Connect";
                serialPort1.Close();
            }
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            rxString = serialPort1.ReadLine();
            this.Invoke(new EventHandler(DisplayText));
        }

        private void chart1_Click(object sender, EventArgs e)
        {

        }
    }
}



disini bentuk chartnya bisa kita ganti dengan cara :
klik dulu chartnya lalu klik series lalu klik chart type.

setelah siap buat codingannya
kita buka aplikasi arduino uno.



lalu kita klik tools dan kita set port sesuai  serial port yg ada pada design nya.
lalu kita kompile dengan cara klik tanda panah kekanan.

lalu jalankan program, jadi seperti ini :


gelombangnya naik turun.

ok terimakasih sudah membaca blog saya. semoga bermanfaat :)

Rabu, 06 Mei 2015

TRANSISTOR (Pengartian,Fungsi,Macam-macam transistor dst)



 PENGARTIAN TRANSISTOR
Pengertian transistor adalah komponen elektronika yang terbuat dari bahan semikonduktor dan mempunyai tiga elektroda (triode) yaitu dasar (basis), pengumpul (kolektor) dan pemancar (emitor). Dengan ketiga elektroda (terminal) tersebut, tegangan atau arus yang dipasang di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal lainnya.
Pengertian transistor berasal dari perpaduan dua kata, yakni “transfer” yang artinya pemindahan dan “resistor” yang berarti penghambat. Dengan demikian transistor dapat diartikan sebagai suatu pemindahan atau peralihan bahan setengah penghantar menjadi penghantar pada suhu atau keadaan tertentu.
Transistor ditemukan pertama kali oleh William Shockley, John Barden, dan W. H Brattain pada tahun 1948. Mulai dipakai secara nyata dalam praktik mereka pada tahun 1958. Transistor termasuk komponen semi konduktor yang bersifat menghantar dan menahan arus listrik.Ada 2 jenis transistor yaitu transistor tipe P – N – P dan transistor jenis N – P – N. Transistor NPN adalah transistor positif dimana transistor dapat bekerja mengalirkan arus listrik apabila basis dialiri tegangan arus positif. Sedangkan transistor PNP adalah transistor negatif,dapat bekerja mengalirkan arus apabila basis dialiri tegangan negatif.
Transistor mempunyai 3 buah kaki, yaitu: Basis(B), Emiter(E), dan Kolektor(C)

        
   Pada umumnya, transistor memiliki 3 terminal. Tegangan atau arus yang dipasang di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal lainnya. Transistor adalah komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi.

Macam-macam Transistor dari Fungsi Transistor
Fungsi transistor sangatlah besar dan mempunyai peranan penting untuk memperoleh kinerja yang baik bagi sebuah rangkaian elektronika. Dalam dunia elektronika, fungsi transistor ini adalah sebagai berikut:


  • Sebagai sebuah penguat (amplifier).
  • Sirkuit pemutus dan penyambung (switching).
  • Stabilisasi tegangan (stabilisator).
  • Sebagai perata arus.
  • Menahan sebagian arus.
  • Menguatkan arus.
  • Membangkitkan frekuensi rendah maupun tinggi.
  • Modulasi sinyal dan berbagai fungsi lainnya.
Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog ini meliputi pengeras suara, sumber listrik stabil, dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa diantara transistor dapat juga dirangkai sedemikian rupa sehingga fungsi transistor menjadi sebagai logic gate, memori, dan komponen-komponen lainnya.
PENGGUNAAN TRANSISTOR
Tujuan dari pembuatan transistor, maka transistor awalnya dibuat untuk menguatkan (amplifier) signal-signal, daya, arus, tegangan dan sebagainya. Namun dikarenakan karakteristik listriknya, penggunaan transistor jauh lebih luas dimana transistor ini banyak digunakan juga sebagai saklar elektronik dan juga penstabil tegangan.
  • Transistor sebagai saklar
Dengan memanfaatkan sifat hantar transistor yang tergantung dari tegangan antara elektroda basis dan emitter (Ube), maka kita dapat menggunakan transistor ini sebagai sebuah saklar elektronik, dimana saklar elektronik ini mempunyai banyak kelebihan dibandingkan dengan saklar mekanik, seperti :
a. Fisik relative jauh lebih kecil,
b. Tidak menimbulkan suara dan percikan api saat pengontakan.
c. Lebih ekonomis.

Cara Kerja Transistor

Terdapat dua jenis transistor. Yang pertama ada transistor bipolar junction transistor (BJT) dan transistor field effect atau yang lebih dikenal dengan nama FET.
Cara kerja transistor BJT, yaitu sesuai dengan namanya, transistor ini menggunakan dua polaritas yang membawa muatan untuk membawa arus listrik pada kanal produksinya. Pada cara kerja transistor BJT pula, terdapat suatu lapisan pembatas yang dibe nama sebagai depletion zone. Yang nanti pada akhirnya, setiap arus listrik akan masuk melewati pembatas tersebut dan terbagi karena keberadaan dari depletion zone ini.
Sedangkan untuk cara kerja dari transistor FET, agak sedikit berbeda dengan transistor BJT. Transistor FET hanya menggunakan satu jenis polaritas atau pembawa muatan arus listrik. Hal ini pastinya berbeda dengan transistor bipolar yang memiliki dua jenis polaritas pembawa muatan.
Sedangkan pada transistor FET, arus yang masuk tidak terbagi menjadi dua aliran seperti pada transistor bipolar. Hal ini disebabkan karena posisi depletion zone dari resistor effect terdapat di kedua sisi bukan berada di tengah-tengah. Tetapi untuk kedua tipe transistor, memiliki fungis yang sama. Tetapi semuanya dibedakan dengan cara kerjaya saja.

Mencari Pin Transistor
Jika kita ingin mengetahui kaki transistor, yang pertama kali kita lakukan adalah menemukan kaki basis terlebih dahulu.

Contoh kasus untuk transistor NPN (2N2222A)
  1. Kita hubungkan kedua kabel ohm-meter pada kaki-kaki transistor tersebut. Jika didapatkan nilai resistansi mengecil, maka jangan ubahkan posisi kabel hitam dengan kaki transistor. Untuk posisi pada gambar disamping, maka nilai resistansi mengecil.
  2. Ingat posisi jarum pada ohm-meter!Pindahkan kabel merah ke sisi yang lain. Jika jarum ohm-meter bergerak (resistansi mengecil) dengan nilai resistansi seperti pada posisi pada langkah pertama, maka dapat dipastikan bahwa transistor tersebut adalah NPN. Jika transistor yang diuji adalah PNP, maka kita harus tetapkan posisi kabel hitamnya. Kita akan mendapatkan hasil yang sama dengan polaritas yang berlawanan. Sekarang kita sudah menemukan kaki basis transistor tersebut, maka kita tinggal mencari kaki kolektor dan emiter.

Kita dapat melihat persamaan susunan dari transistor NPN yang terbuat dari sambungan N-P-N. Ketika kita menghubungkan kabel hitam (+V) dengan kaki basis dan kabel merah dangan ujung yang lain, maka sambungan P-N tersebut dibias maju(resistansi mengecil).

  1.  Hubungkan kaki basis dengan salah satu kaki transistor, jika jarum ohm-meter bergerak kekanan, maka dapat dipastikan bahwa kabel hitam-kolektor dan kabel merah-emiter.
Metode yang sama dapat digunakan untuk transistor jenis PNP, yaitu: setelah kita menemukan kaki basis, lalu lakukan hal yang sama seperti pada pengujian transistor NPN dengan hanya menukar posisi kabel ohm-meter. Sehingga dihasilkan kabel merah-kolektor dan kabel hitam-emiter.
NILAI BATAS SUATU TRANSISTOR
Sebagaimana telah disebutkan bahwa bahan semikonduktor akan berubah sifat jika menerima panas yang berlebihan. Suhu maksimal sutu transistor Germanium adalah sekitar 75o C sedangkan jenis Silikon sekitar 150o C. Daya yang disalurkan pada sebuah transistor harus sedemikian rupa sehingga suhu maksimalnya tidak dilampaui dan untuk itu diperlukan bantuan pendingin baik dengan Heat Sink atau dengan kipas kecil (Fan). Pada saat penyolderan kaki-kaki transistor, harus dipertimbangkan juga temperatur solder dan selain itu biasanya digunakan alat pembantu dengan jepitan (tang) guna pengalihan penyaluran panas. Peralihan panas transistor ke pendingin yang baik adalah dengan bantuan Pasta Silikon yang disapukan antara transistor dengan badan pendinginnya. Selain itu biasanya pendingin tersebut diberi cat warna hitam guna memudahkan penyaluran panas.

Trimakasih Smoga bermanfaat bagi yg membaca

Minggu, 03 Mei 2015

membuat aplikasi tictactoe lvl easy



Nama saya Yosua Renol S dari politeknik Negeri Batam
Disini saya akan membuat sebuah aplikasi TicTacToe atau XOX dengan lvl easy menggunaka aplikasi Visual studio
Inti dari program ini adalah menunggu pemain untuk menempatkan pilihannya. Tiap PictureBox kita tambahkan event onClick. Apabila salah satu di-klik, akan dicek terlebih dahulu, apakah masih kosong atau tidak. Apabila kosong, maka pemain boleh memilih kotak tersebut, artinya kita copy-kan simbol silang ke kotak tersebut. Kemudian tinggal di-cek, apakah sudah ada yang berhasil membuat 3 segaris atau belum. Lalu giliran komputer. Komputer akan memilih secara acak kotak yang kosong, kemudian copy-kan simbol lingkaran ke kotak tersebut. Demikian terus bergantian antara pemain dan komputer sampai semuanya terisi. Tapi apabila ada yang berhasil membuat 3 segaris, maka dia dinyatakan sebagai pemenang.

Pertama buka aplikasi visual studio












Kedua klik new project

 









Lalu klik windows form aplication lalu ok












Kluar form seperti ini













Lalu buat form dengan toolBox : 2 textBox, 3 Button, 9 pictureBox












pastikan sudah ada gambar O dan X dalam komputer anda.
lalu buat codingan seperti ini :


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace TicTacToe
 {
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
        Random r = new Random();
        Image x = Image.FromFile("x.png");
        Image o = Image.FromFile("o.png");
        PictureBox [] gbr = new PictureBox[8];
      
  
      
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
          
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
      
        void ExitToolStripMenuItemClick(object sender, EventArgs e)
        {
            Application.Exit();
        }
  
  
        void menang ()
        {
            //123
          
            if  ( gbr[0].Image == x && gbr[1].Image == x && gbr[2].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[0].Image == o && gbr[1].Image == o && gbr[2].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
            //456
             else if  ( gbr[3].Image == x && gbr[4].Image == x && gbr[5].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[3].Image == o && gbr[4].Image == o && gbr[5].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //789
             else if  ( gbr[6].Image == x && gbr[7].Image == x && gbr[8].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[6].Image == o && gbr[7].Image == o && gbr[8].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //147
            else if  ( gbr[0].Image == x && gbr[3].Image == x && gbr[6].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[0].Image == o && gbr[3].Image == o && gbr[6].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //258
            else if  ( gbr[1].Image == x && gbr[4].Image == x && gbr[7].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[1].Image == o && gbr[4].Image == o && gbr[7].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //369
            else if  ( gbr[2].Image == x && gbr[5].Image == x && gbr[8].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[2].Image == o && gbr[5].Image == o && gbr[8].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //159
            else if  ( gbr[0].Image == x && gbr[4].Image == x && gbr[8].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[0].Image == o && gbr[4].Image == o && gbr[8].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
          
            //357
            else if  ( gbr[2].Image == x && gbr[4].Image == x && gbr[6].Image == x)
            {
                MessageBox.Show("team x win");
            }
            else if ( gbr[2].Image == o && gbr[4].Image == o && gbr[7].Image == o)
            {
                MessageBox.Show("team o win");
            }
          
        }
      
        void random()
        {
            int e = r.Next(8);
      
            if (gbr[e].Image == null)
            {
                gbr[e].Image = Image.FromFile("o.png");
            }
          
            else
            {
                random();
            }
          
        }
      
      
      
        void MainFormLoad(object sender, EventArgs e)
        {
             gbr = new PictureBox[] {pictureBox1,pictureBox2,pictureBox3,pictureBox4,pictureBox5,pictureBox6,pictureBox7,pictureBox8,pictureBox9};
          
            for (int z=0;z<9;z++)
            {
                gbr[z].Click += new EventHandler(array);
            }
        }
      
        void array(Object sender, EventArgs e)
        {
            PictureBox baru = (PictureBox) sender;
            if(baru.Image == null)
            {
          
                baru.Image = x;
                //menang();
                random ();
                menang();
            }
            //random();
        }
    }
}