miniatur truk pembuang sampah

Post on 11-Apr-2016

58 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

truk pembuang sampah miniatur

TRANSCRIPT

KELOMPOK 3MUHAMMAD HAMDAN R (213341066)PURNANTO TRIDHARMOJ (2133410 69)YANIE KARLINA (2123410 48)

Miniatur Robot Pembuang Sampah

Deskripsi Alat

Alat ini merupakan salah satu contoh miniatur robot pemungut sampah. Mempunyai fungsi untuk mendeteksi sampah atau benda yang ada didepannya. Ketika ia diaktifkan, ia langsung bekerja untuk mendeteksi benda yang ada didepannya. Jika ada benda yang terdeteksi maka alat ini akan mendekati lalu berhenti berjalan dan memindahkan benda tersebut ke dalam tempat sampah atau bak sampah.

Prinsip Kerja

Diagram Chart

Mulai

Sensor mendetek

si

Jarak <= 100cm

Motor DC ON

Jarak <= 20cm

Motor DC OFF

Motor Servo ON

Selesai

tidak

ya

tidak

ya

PING SENSOR

Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik ( 40 KHz ) selama t = 200 us kemudian mendeteksi pantulannya. Sensor PING memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroller pengendali ( pulsa trigger dengan tout min 2 us ). Berfungsi sebagai pendeteksi benda dan inputan untuk aktuator.

Aktuator

1. Motor DC

Sebuah motor DC adalah motor listrik bertenaga mekanis commutated dari arus searah (DC).Berfungsi sebagai pemutar roda sehingga roda dapat berputar dan alat dapat bergerak maju mundur

Aktuator

2. Motor Servo Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.Berfungsi sebagai penggerak lengan pembuang sampah.

Alat dan Bahan

Alat :Super GlueTang PotongTang PenjepitObengBaud, mur, dan sekrupCutterPenggarisSpacer

Bahan :TupperwareRodaRoll ParfumeGearKabelPapanMikrokontroler

Perakitan

Program Ping Sensor

#include <mega8535.h>#include <alcd.h>#include <delay.h>#include <stdio.h>

#define DDR_PING DDRC.3#define PORT_PING PORTC.3#define PIN_PING PINC.3

unsigned char kata[16];float jarak;int baca_jarak()//fungsi untuk membaca jarak dengan menggunakan ping sensor{ unsigned int count=0;//variabel counter diset 0

DDR_PING=1; //jadikan PIN output PORT_PING=1; // memberi sinyal high selama 5 us delay_us(5);

PORT_PING=0; //memberi sinyal low DDR_PING=0; //jadikan PIN sebagai input PORT_PING=1; //aktifkan internal pullup

while (PIN_PING==0){} //ketika sinyal low tidak ada perintah while (PIN_PING==1) //ketika sinyal high maka nilai counter mencacah naik setiap 1 us { count++; delay_us(1); }

jarak=(unsigned int)(((float)count)/25); //hitung nilai count dan dikalibrasi menjadi jarak dalam cm return(jarak);}

Program Motor Servo

int i,j,k;void putar_servo(void){for(k=1; k<=75; k++) { PORTD.0=1; for (j=1; j<=i; j++)

delay_us(10); PORTD.0=0;

TIFR&=0x40;

TCNT2=0xB1;

while(!(TIFR&=0x40));

TIFR&=0x40; }}

Program Utamavoid main(void){ PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0xFF; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x01; TCCR2=0x07; ASSR=0x00; ACSR=0x80; SFIOR=0x00;

lcd_init(8);

while (1) {

baca_jarak(); i=100; putar_servo(); if(jarak<=100) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("*jarak*"); sprintf(kata," %3d cm", baca_jarak()); lcd_gotoxy(0,1); lcd_puts(kata); delay_ms(300); PORTB=0b00010100; if(jarak<=20) { PORTB=0b00101000; delay_ms(1); PORTB=0x00; i=205;

putar_servo(); delay_ms(100); PORTB=PORTB=0b00010100; delay_ms(800); i=100; putar_servo(); PORTB=0x00; } } else { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Tdk Ada"); lcd_gotoxy(0,1); lcd_putsf("Sampah"); delay_ms(300); } }}

Test Drive !

Terimakasih

top related