Berikut ini photo dan video hasil eksperimen:
GUI yang direalisasi pada VB.net
Demo Video
Cara Pembuatan:
Skematik pada Arduino (Duemilanove / Severino)
List Program untuk Arduino
// program kontrol LEDRGB melalui serial(RS232) 9600bps // Mikrokontroler : Arduino Duemilanove // Oleh :Aan Darmawan // Tanggal : 26 Desember 2010 // cara pengendalian :terima informasi dari serial dengan kode "000" s/d "999" // urutan pengendalian 1 byte red, 1 byte green dan 1 byte blue // 0=berarti tergelap , 9=berarti terterang // web http://valfa.blogspot.com // int ledrPin = 9; int ledgPin = 10; // LED dihubungkan ke digital PWM pin 9,10,11 int ledbPin = 11; int faderValue = 0; int fadegValue = 0; int fadebValue = 0; void setup() { Serial.begin(9600); // aktifkan komunikasi serial 9600 bps pinMode(ledrPin,OUTPUT); pinMode(ledgPin,OUTPUT); pinMode(ledbPin,OUTPUT); } void loop() { if(Serial.available()>0) // baca byte pertama sebagai data LED merah { faderValue = Serial.read(); faderValue=(faderValue-47)*10.34; } if(Serial.available()>0) // baca byte kedua sebagai data LED hijau { fadegValue = Serial.read(); fadegValue=(fadegValue-47)*22.00; } if(Serial.available()>0) // baca byte ketiga sebagai data LED biru { fadebValue = Serial.read(); fadebValue=(fadebValue-47)*25.50; } // 3 brs berikut untuk cek saja di computer via serial, bisa dihapus Serial.print(faderValue);Serial.print(','); Serial.print(fadegValue);Serial.print(','); Serial.println(fadebValue); // kirim ke PIN 9,10,11 analogWrite(ledrPin, faderValue); analogWrite(ledgPin, fadegValue); analogWrite(ledbPin, fadebValue); delay(500); } Programming pada VB.net (visual studio 2008) Buat Disain GUI sebagai berikut: Programming : Public Class Form1 Dim red, green, blue As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ColorDialog1.ShowDialog() red = ColorDialog1.Color.R() \ 28.3333 green = ColorDialog1.Color.G() \ 28.3333 blue = ColorDialog1.Color.B() \ 28.3333 TextBox1.Text = red & green & blue SerialPort1.Write(TextBox1.Text) BackColor = ColorDialog1.Color End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.ReadOnly=True SerialPort1.PortName="COM2" ' Sesuaikan dengan komputer anda SerialPort1.Open() SerialPort1.Write("000") 'RGB=000=black End Sub End Class Catatan: Pada Properties Object SerialPort1, jangan lupa disesuaikan nama port serialnya (SerialPort1.PortName) dengan yang tersedia di PC/Notebook anda. Selamat bereksperimen..... GBU