Monday, December 27, 2010

Pengendalian LED RGB + Arduino dengan VB.net

Terinispirasi beberapa sumber mengenai pengendalian LED RGB dengan mikrokontroler (antara lain dari situs Pa Insan http://insansainsprojects.wordpress.com/2010/12/20/bermain-ribuan-warna-dengan-led-rgb/ dan http://www.sfgate.com/mp/truveo/search/view?id=144115239614471511&stype=burningman), saya mencoba membuat pengendalian LED RGB melalui Arduino, yang dikoneksikan ke Komputer melalui serialport, GUI yang digunakan VB.net (visual studio 2008)
Berikut ini photo dan video hasil eksperimen:


GUI yang direalisasi pada VB.net


Beberapa hasil warna yang dihasilkan, dan
mungkin sulit dicari warnanya untuk LED satuan biasa



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


Wednesday, December 01, 2010

Formal Presentation (2010)


Formal Presentation pada kuliah Kepemimpinan mahasiswa/i Sistem Informasi Semester Ganjil 2010
Good Presentation...... I Like it......