Showing posts with label MyResearch. Show all posts
Showing posts with label MyResearch. Show all posts

Monday, December 16, 2013

Prototipe Alat Sortir Bola Berdasarkan Perbedaan Warna Menggunakan Led RGB dan LDR Berbasis Mikrokontroler

Dear All, kali ini saya akan mereview tentang alat yang saya buat pada kegiatan skripsi saya dikampus yang berjudul "Prototipe Alat Sortir Bola Berdasarkan Perbedaan Warna Menggunakan Led RGB dan LDR Berbasis Mikrokontroler"

Umumnya pengelompokan atau sortir bola pada beberapa industri bola plastik saat ini masih dilakukan dengan cara manual oleh manusia, pengelompokan atau sortir dengan cara ini tentunya memiliki beberapa kekurangan, seperti yang kita ketahui manusia memiliki keterbatasan dalam berpikir, seringkali merasa bosan atau lalai untuk menjalankan aktivitas. Akibatnya waktu pengerjaan tugas menjadi lebih lama sehingga berdampak pada menurunya produktivitas perusahaan. Untuk itu peran prototipe alat berbasis mikrokontroler semacam ini sangat dibutuhkan untuk melakukan tugas tersebut.


Identifikasi Masalah :
  1. Inkonsistensi manusia dalam bekerja khususnya dalam pengelompokan atau sortir bola.
  2. Pengelompokan atau sortir bola secara manual membutuhkan waktu yang cukup lama.
  3. Rata-rata harga mesin sortir di pasaran mahal.
  4. Pengeluaran biaya operasional untuk bagian sumber daya manusia lebih mahal.
Tujuan :
  1. Mengurangi peran manusia dalam pengelompokan atau sortir bola dengan alat sortir sehingga dapat meminimalisir pengaruh inkonsistensi manusia dalam aktivitas tersebut.
  2. Aktivitas menyortir atau mengelompokan bola dapat dilakukan secara otomatis dan lebih cepat.
  3. Membuat alat sortir yang lebih murah untuk perusahaan industri pembuatan bola.
  4. Menekan biaya operasional menjadi lebih murah.

Desain Alat :
 Keterangan    :
  1. Objek berupa bola
  2. Konveyor miring
  3. Arduino dan Motor shield module
  4. Sensor warna
  5. Pemukul bola (servo atas)
  6. LCD 16x2
  7. Corong untuk mengarahkan (servo bawah).
  8. Arduino Uno
  9. Gelas Penampung.

Uraian gambar     :
  1. Objek bola sebagai replika dari bola.
  2. Konveyor miring mengarahkan bola pada tempat pendeteksian.
  3. Arduino Uno, digunakan sebagai pusat kendali berupa sistem minimum dengan mikrokontroler Atmega328.
  4. Motor shield module untuk menggerakan beberapa motor servo.
  5. Sensor Warna, digunakan untuk mendeteksi warna dari objek bola.
  6. LCD, digunakan untuk menampilkan warna yang terdeteksi dan menampilkan jumlah objek yang terdeteksi.
  7. Motor servo, berfungsi untuk mengatur dan mengarahkan objek bola.
  8. Gelas tempat untuk menampung bola yang telah ditentukan warnanya.

Di dalam prototipe ini terdapat konveyor miring yang berisi objek bola yang bergerak pada tempat sensor warna mendeteksi objek, kemudian LCD menampilkan warna yang terdeteksi lalu lalu pemukul bola (servo atas) mengarahkan bola pada corong (servo bawah) kemudian corong tersebut mengarahkan bola pada tempat penampungan sesuai dengan warnanya masing-masing.

Hasil Pengujian :



Cara Kerja : 


Download Jurnal : 

Schematic : 



Semoga Bermanfaat,
Regards,

Iqbal




Friday, May 31, 2013

Robot Pendeteksi Suhu Planet Mars (Simulated ISIS Proteus dan Code Vision)

Dear All, sebelumnya jangan dulu percaya sama judul :D, tapi yang pasti ini memang terinspirasi sama robot penjelajah mars. sebenarnya kali ini saya akan berbagi cerita tentang membuat robot sederhana pendeteksi suhu  berbasis Microcontroller Atmega32 yang dikendalikan menggunakan komputer.

Adapun Komponen yang Disimulasikan pada ISIS Proteus terdiri dari
    -Power
    -Ground
    -Atmega32
    -LM35
    -Motor-DC
    -COMPIM/RS232 DB9
    -L293D (Driver Motor)
    -Led-Red
    -LM16L(LCD 16x2)    
    -Resistor 10K
    -Led Merah
    -Crystal
    -Capasitor
    -Virtual Terminal
   
Adapun Rangkaian schematic di ISIS Proteusnya tertera seperti gambar dibawah ini,


*Click gambarnya memperbesar tampilan.

KERJA ALAT
Uji coba simulasi robot kontrol PC menggunakan Proteus, pada saat robot dalam keadaan hidup maka sensor suhu LM35 dalam keadaan stand by, kemudian untuk menggerakan robot (motor DC), dapat dilakukan dengan kendali dari computer yaitu input perintah pada Hyper Terminal, dengan cara menekan :
       
            ‘a’ pada keyboard, robot bergerak ke kiri,
            ‘d’ pada keyboard, robot bergerak ke kanan,
            ‘s’ pada keyboard, robot berhenti bergerak,
            ‘w’ pada keyboard, robot bergerak ke depan (maju),
            ‘x’ pada keyboard, robot bergerak ke belakang (mundur).

Pada pergerakan robot motor penggeraknya dilengkapi dengan lampu led sebagai indicator, Adapun untuk pendeteksian suhu sekitar dilakukan oleh sensor lm35 mengikuti kemanapun robot bergerak.

Untuk Source Code di Code Vision tertera seperti text dibawah ini,

/**********************************
Project : Robot Pendeteksi Suhu ATmega32 Kendali By PC
Author  : GeForce
Company : GeForce
***********************************/
//Header Library
#include <mega32.h>
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
#include <stdio.h> 
#include <delay.h>
#include <stdlib.h>
#define ADC_VREF_TYPE 0x00

//Deklarasi variabel
int flag;
int SUHU;
char temp[8];
float suhu_celcius;

// Membaca Konversi Hasil AD
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

void main(void)
{
//Pengkondisian I/O pada Ports
PORTA=0x00;
DDRA=0x00;
PORTB=0xFF;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;

// Inisialisasi USART
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;

// Inisialisasi Analog Comparator
ACSR=0x80;
SFIOR=0x00;

// Inisilisasi ADC
ADMUX=ADC_VREF_TYPE & 0xff;
ADCRA=0x84;

//Deklarasi Kondisi Awal
PORTB.6=0;
PORTB.7=0;

//Tampilan Awal LCD
lcd_init(16); //Inisialisasi modul LCD
lcd_clear();
lcd_gotoxy(1,0);
lcd_putsf("PC Car");
lcd_gotoxy(0,1);
lcd_putsf("By. GeForce");
delay_ms(1000);

while(1)
      {    
//Membaca Data Analog (suhu)
        SUHU = read_adc(0);
        suhu_celcius = (float)SUHU*500/1023;  

//Robot Deteksi Suhu Bergerak Belok Kanan
        if (getchar()=='a')
        {
            flag=0;
            PORTB.0=0;
            PORTB.1=0;
            PORTB.2=0;
            PORTB.3=1;
            PORTB.6=0;
            PORTB.7=1;
            lcd_clear ();  
           
            ftoa(suhu_celcius,1,temp);
            lcd_gotoxy(0,0); 
            lcd_puts(temp);
            lcd_gotoxy(5,0);
            lcd_putchar(0xdf);
            lcd_putsf("C (Suhu)");
            lcd_gotoxy(0,1);
            lcd_putsf("BELOK KANAN");
        }   
//Robot Deteksi Suhu Bergerak Belok Kiri
        else if (getchar()=='d')
        {
            flag=0;
            PORTB.0=0;
            PORTB.1=1;
            PORTB.2=0;
            PORTB.3=0;   
            PORTB.6=1;
            PORTB.7=0;
            lcd_clear();
           
            ftoa(suhu_celcius,1,temp);
            lcd_gotoxy(0,0); 
            lcd_puts(temp);
            lcd_gotoxy(5,0);
            lcd_putchar(0xdf);
            lcd_putsf("C (Suhu)");
            lcd_gotoxy(0,1);
           
            lcd_putsf("BELOK KIRI");
            delay_ms(100);
        }    
       
//Robot Deteksi Suhu Berhenti Bergerak
         else if (getchar()=='s')
        {
            flag=0;
            PORTB.0=0;
            PORTB.1=0;
            PORTB.2=0;
            PORTB.3=0;  
            PORTB.6=0;
            PORTB.7=0;
            lcd_clear ();
           
            ftoa(suhu_celcius,1,temp);
            lcd_gotoxy(0,0); 
            lcd_puts(temp);
            lcd_gotoxy(5,0);
            lcd_putchar(0xdf);
            lcd_putsf("C (Suhu)");
           
            lcd_gotoxy(0,1);
            lcd_putsf("MATI");
            delay_ms(100);
        }      

//Robot Deteksi Suhu Bergerak Maju
        else if (getchar()=='w')
        {
            flag=0;
            PORTB.0=0;
            PORTB.1=1;
            PORTB.2=0;
            PORTB.3=1;
            PORTB.6=1;
            PORTB.7=1;
            lcd_clear();
           
            ftoa(suhu_celcius,1,temp);
            lcd_gotoxy(0,0); 
            lcd_puts(temp);
            lcd_gotoxy(5,0);
            lcd_putchar(0xdf);
            lcd_putsf("C (Suhu)");
           
            lcd_gotoxy(0,1);
            lcd_putsf("MAJU");
            delay_ms(100);
        } 
    
 //Robot Deteksi Suhu Bergerak Mundur
        else if (getchar()=='x')
        {
            flag=0;
            PORTB.0=1;
            PORTB.1=0;
            PORTB.2=1;
            PORTB.3=0;
            PORTB.6=1;
            PORTB.7=1;
            lcd_clear();
           
            ftoa(suhu_celcius,1,temp);
            lcd_gotoxy(0,0); 
            lcd_puts(temp);
            lcd_gotoxy(5,0);
            lcd_putchar(0xdf);
            lcd_putsf("C (Suhu)");
           
            lcd_gotoxy(0,1);
            lcd_putsf("MUNDUR");
            delay_ms(100);
        }
      };
}

Ket :
ftoa : mengubah tipe data float ke tipe data array yg akan ditampilkan di LCD
lcd_clear : menghapus tampilan LCD
lcd_putsf : menampilkan string
lcd_putchar : menampilkan karakter

(0xdf) : symbol derajat pada LCD

Jika semuanya telah selesai silahkan coba di Jalankan di simulasi ISIS Proteusnya.

Semoga Bermanfaat,
Regards,
Iqbal







Saturday, November 24, 2012

Androino Si Pengendali Mobil Mainan





Dear All,
 
kali ini saya akan ceritakan bagaimana caranya membuat project Androino si Pengendali Mobil Mainan, lebih deskripsinya bagaimana caranya membuat RC car dikendalikan via smartphone Android.

Proyek inspirated from mobot, Prototype berbasis microcontroller sebagai pengendali mobil –mainan- dengan memanfaatkan teknologi jaringan bluetooth yang dikendalikan dengan smartphone android. Mobil –mainan- ini dapat bergerak sesuai dengam perintah dari sistem kendali smartphone tersebut seperti maju, mundur, belok kiri, belok kanan, menghidupkan lampu depan, lampu belakang, lampu rem, dan ditunjang pula dengan camera remote yang melekat di body sebagai viewer rute depan, ditambah pula dengan fitur penyesuaian kecepatan motor berbasis Pulse Width Module (PWM) 

Biar ga kebanyakan cerita, to the point ajalah pada komposisinya :D





Kemudian rangkai sesuai dengan schematic design
Untuk settingan pergerakan mobil -mainan- perhatikan IC yang tertancap di mobil mainan tersebut, kebetulan punya saya mobil maiananya menggunak IC type RX-6B, kurang lebih struktur kaki-kakinya sebagai berikut...
Kaki-kaki IC yang saya pakai 6 (Belok Kanan), 7(Belok Kiri), 10(Mundur), 11(Maju), 12 (Cooler)

Setelah semuanya terpasang dengan baik, Download Code To Arduino Via USB

Setelah itu download aplikasi untk smartphone androidnya di Google Play, keywordnya 'Mobot BT Car' it's Free ^^, jika sudah terpasang aplikasinya lakukan setting pada aplikasi tersebut khususnya pada bagaian penghubung antara bluetooth module dengan bluetotth yang ada di smartphone android.



After it Try, Try...

Untuk Referensi suksesnya bisa lihat di sumber videonya



Sebenarnya project yang dibuat hampir dikatakan meniru dari yang sudah ada, namun terlepas dari hal tersebut saya membuatnya berbeda dengan menambahkan fitur cooler, camera dan memberikan fungsi PWM pada motor mobil mainan tersebut, yang ke semuanya itu atas masukan para dosen presentasi.

Saya coba kerjakan tantangan tersebut, dan akhirnya berhasil, Videonya belum saya posting menyusul berhubung filenya crash, tapi biar percaya bisa dilihat kok dari modifikasi code yang di buat ^^.

Regards,
Penulis Newbie

Iqbal