Showing posts with label Elektronika. Show all posts
Showing posts with label Elektronika. 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







Tuesday, March 26, 2013

Control Running LED Microcontroller Mengunakan Button


Dear All, kali ini saya kan berbagi cerita tentang membuat control lampu led di Microcontroller Atmega8535 menggunakan Button.
Adapun Komponen yang Disimulasikan terdiri dari
-Power
-Ground
-Atmega8535
-Resistor 10K
-Resistor 220Ohm
-Led Merah
-Button

Adapun Rangkaianys tertera seperti gambar dibawah ini,
image

Coding Di CAVr sebgaia berikut,
#include <mega8535.h>
#include <delay.h>
void tekan()
{
    if ( PINB.0==1 )
    {
        while (PINB.0==1){};
        while (PINB.0==0){};
        while (PINB.0==1){};
    }
}
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
while (1)
      {
       PORTA = 0b11111110;
       delay_ms(1000);
       tekan();    
       PORTA = 0b11111101;
       delay_ms(1000);
       tekan();
       PORTA = 0b11111011;
       delay_ms(1000);
       tekan();
       PORTA = 0b11110111;
       delay_ms(1000);
       tekan();
       PORTA = 0b11101111;
       delay_ms(1000);
       tekan();
       PORTA = 0b11011111;
       delay_ms(1000);
       tekan();
       PORTA = 0b10111111;
       delay_ms(1000);
       tekan();
       PORTA = 0b01111111;
       delay_ms(1000);
       tekan();
      }
};

Jika semuanya telah selesai silahkan coba di Jalankan di simulasi ISIS Proteusnya.
Semoga Bermanfaat,
Regards,
Iqbal

Saturday, March 9, 2013

Mengenal Komponen Elektronika part3


Dear All, kali ini saya kan berbagi cerita tentang Beberapa komponen elektronika, adapun yang saya kan bahas dalam page ini adalah beberapa komponen elektronika, berhubung komponen elektronika itu sangat banyak jadi saya hanya akan menjelaskan beberapa komponen-komponen elektronika yang umum banyak digunakan dalam penunjang pembelajaran microcontroller.

LDR "Light Dependent Resistor" (Sensor Cahaya)
Resistor yang besar resistansi-nya bergantung terhadap intensitas cahaya yang menyelimuti permukaannya.







PTC "Positive Temperature Coefisient" (Sensor Suhu)
NTC "Positive Temperature Coefisient" (Sensor Suhu)
Resistor yang besar resistansi-nya bergantung terhadap perubahan suhu.

Perbedaan sifat PTC dengan NTC

PTC = Jika suhu naik maka hambatan pun akan naik, begitu pun dengan sebaliknya.
NTC = Jika suhu naik maka hambatan turun, begitu pun dengan sebaliknya.





LM35 (Sensor Suhu)
Berfungsi mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan.



Semoga Bermanfaat,
Regards,

Iqbal

Mengenal Komponen Elektronika part2


Dear All, kali ini saya kan berbagi cerita tentang Beberapa komponen elektronika, adapun yang saya kan bahas dalam page ini adalah beberapa komponen elektronika, berhubung komponen elektronika itu sangat banyak jadi saya hanya akan menjelaskan beberapa komponen-komponen elektronika yang umum banyak digunakan dalam penunjang pembelajaran microcontroller.

Kapasitor
Berfungsi menyimpan energi listrik dalam waktu sementara.


Pada umumnya terdapat 2 jenis kapasitor,
*ElCo (Electrolytic Capasitor) - Polar "Memiliki kutub -/+ sudah Ditentukan pada kaki-kakinya"
*Dilectric Capasitor - Non Polar "Tidak Memiliki kutub -/+ tidak Ditentukan pada kaki-kakinya


Dioda
Berfungsi sebagai penyearah arus dan tegangan, 
Menghantarkan arus pada tegangan maju dan menghambat arus pada tegangan balik.


Transistor
Berfungsi sebagai penguat arus dan tegangan, switching.

Terdapat 2 jenis transistor,




Transistor NPN
Prinsip kerja dari transistor NPN adalah: arus akan mengalir dari kolektor ke emitor jika basisnya dihubungkan ke ground (negatif). Arus yang mengalir dari basis harus lebih kecil daripada arus yang mengalir dari kolektor ke emitor, oleh sebab itu maka ada baiknya jika pada pin basis dipasang sebuah resistor.


Transistor PNP
Prinsip kerja dari transistor PNP adalah arus akan mengalir dari emitter menuju ke kolektor jika pada pin basis dihubungkan ke sumber tegangan ( diberi logika 1). Arus yang mengalir ke basis harus lebih kecil daripada arus yang mengalir dari emitor ke kolektor, oleh sebab itu maka ada baiknya jika pada pin basis dipasang sebuah resistor.



Semoga Bermanfaat,
Regards,

Iqbal