12/19/2011

Sensor Warna Sederhana (Low Cost)


Haloo temen2 semuaa.. :D
Aku ada mainan baru nih.. :D
Namanya sensor warna..!!
Sensor warna yang sederhana dan MURAH tentunya.. :D
ya.. MURAH.. Karena biaya pembuatannya ga sampai Rp 10.000,-
Komponen Sensor Warna ini antara lain :
  1. Photo Diode 3mm   x3
  2. LED Super Bright  Merah 5mm   x1
  3. LED Super Bright  Hijau 5mm   x1
  4. LED Super Bright  Biru 5mm   x1
  5. Resistor 1/4w 330, 4k7   @x3
    *Rangkaiannya sama persis kaya rangkaian sensor LF 
Prinsip Kerja :
Objek berwarna merah akan lebih banyak memantulkan cahaya warna merah
Objek berwarna hijau akan lebih banyak memantulkan cahaya warna hijau
Objek berwarna biru akan lebih banyak memantulkan cahaya warna biru
Karena ini merupakan rangkaian sensor warna yang sangat sederhana, maka sensor warna ini cuma bisa untuk membedakan 5 macam warna, yaitu :
  1. Merah
  2. Hijau
  3. Biru
  4. Putih
  5. Hitam
Langsung saja, berikut penampakan sensor warnanya :
Sensor Warna Sederhana
Siap Testing
Video Testing Sensor Warna :
Hasil Testing Sensor Warna :
Hasil Testing Sensor Warna
Setelah testing pertama selesai, pasti timbul pertanyaan : “Itu sensornya stabil ga ya??”
Maka dari itu berikut saya sertakan juga hasil uji kestabilan pembacaan sensor warna ini dengan cara mengambil data warna beberapa kali.
Dan hasilnya sbb :
Uji Kestabilan Sensor Warna

Sayangnya, sensor warna ini memiliki satu kekurangan yang sangat mendasar..
ya.. jarak pembacaannya masih sangat terbatas..
jarak baca optimalnya hanya sekitar 1 – 2 cm dari objek.. 
Bagaimana teman2?? :D
Tertarik untuk membuat juga?? :D
Berikut Listing Program yang saya gunakan pada video pengujian :
'Oleh : Pramudita J.I.  (joe4cva)
'Elektronika Dan Instrumentasi
'Universitas Gadjah Mada

$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600

Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcdbus = 4
Config Lcd = 16 * 2
Cursor Off

Config Pinb.0 = Input
Set Portb.0
Tombol1 Alias Pinb.0

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Red As Word , Green As Word , Blue As Word , Buff As Word , Warna As String * 5
Declare Sub Olah_warna(byval Merah As Word , Hijau As Word , Biru As Word)

'=====================Program Utama==========================
Utama:
Cls
Locate 1 , 1
Lcd "Color Detection"
Locate 2 , 1
Lcd "  by : joe4cva"
Do
If Tombol1 = 0 Then
Bitwait Tombol1 , Set
Print "Objek Terdeteksi"
Waitms 100
Goto Ambil_data_warna
End If
Loop
'============================================================

'========Sub Program Untuk Mengambil Data Warna Objek========
Ambil_data_warna:
Start Adc
Red = Getadc(0)
Green = Getadc(2)
Blue = Getadc(1)
Stop Adc
Call Olah_warna(Red , Green , Blue)
'=============================================================

'========Sub Program Untuk Mengolah Data Warna Objek==========
Sub Olah_warna(byval Merah As Word , Hijau As Word , Biru As Word)
 If Merah < Hijau Then
 Buff = Merah
 Else
 Buff = Hijau
 End If

 If Buff < Biru Then
 Buff = Buff
 Else
 Buff = Biru
 End If

 Waitms 100

 If Buff = Merah Then Warna = "Merah"
 If Buff = Hijau Then Warna = "Hijau"
 If Buff = Biru Then Warna = "Biru"
 If Merah < 100 And Hijau < 100 And Biru < 100 Then Warna = "Putih"
 If Merah > 700 And Hijau > 700 And Biru > 700 Then Warna = "Hitam"

 Print "Warna Objek : " ; Warna
 Print "R : " ; Merah
 Print "G : " ; Hijau
 Print "B : " ; Biru
 Print "Pendeteksian Selesai"
 Print "  "
 Print "  "
 Goto Utama
 End Sub
 '========================================================
Semoga Bermanfaat.. :D