Gambar 1
Berikut ini video contoh hasil realisasi Mobil penghindar rintangan menggunakan IR:
Skema rangkaian
List Program:
/* Mobil penghindar rintangan sensor penghalang menggunakan 3 buah sensor infra merah sensor 1,2 dan 3 sambung ke pinA0,A1 dan A2 Oleh : Aan Darmawan blog : valfa.blogspot.com tanggal: 21/02/11 */ const int k1=900; const int k2=880; const int k3=885; int s1,s2,s3,baru; void setup() { // Serial.begin(9600); pinMode(2,OUTPUT); // kendali motor 1 pinMode(3,OUTPUT); // motor 1 + pinMode(4,OUTPUT); // motor 1 - pinMode(5,OUTPUT); // kendali motor 2 pinMode(6,OUTPUT); // motor 2 + pinMode(7,OUTPUT); // motor 2 - baru=1; } void maju(void){ digitalWrite(2,LOW); digitalWrite(5,LOW); delayMicroseconds(100); digitalWrite(3,LOW); digitalWrite(4,HIGH); delayMicroseconds(100); digitalWrite(6,LOW); digitalWrite(7,HIGH); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(100); } void mundur(void){ digitalWrite(3,HIGH); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,HIGH); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(1000); } void kanan_mj(void){ digitalWrite(3,LOW); digitalWrite(4,HIGH); delayMicroseconds(100); digitalWrite(6,LOW); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(900); } void kiri_mj(void){ digitalWrite(3,LOW); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,LOW); digitalWrite(7,HIGH); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(900); } void kanan_md(void){ digitalWrite(3,LOW); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,HIGH); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(900); } void kiri_md(void){ digitalWrite(3,HIGH); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,LOW); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(900); } void henti(void){ // mundur sedikit (rem) if(baru==1){ digitalWrite(3,HIGH); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,HIGH); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,HIGH); digitalWrite(5,HIGH); delayMicroseconds(200); delay(100); baru=0; } // berhenti digitalWrite(3,LOW); digitalWrite(4,LOW); delayMicroseconds(100); digitalWrite(6,LOW); digitalWrite(7,LOW); delayMicroseconds(100); digitalWrite(2,LOW); digitalWrite(5,LOW); delayMicroseconds(200); } // main program void loop() { s1=analogRead(A0); // sensor kanan s2=analogRead(A1); // sensor tengah s3=analogRead(A2); // sensor kiri if(s1<k1)s1=1; else s1=0; if(s2<k2)s2=1; else s2=0; if(s3<k3)s3=1; else s3=0; // Serial.print("S1 : "); // Serial.print(s1); // Serial.print(", S2: "); // Serial.print(s2); // Serial.print(", S3: "); // Serial.println(s3); if(s1==0 && s2==0 && s3==0) { //maju baru=1; maju(); } if(s1==1 && s2==1 && s3==1) { //mundur baru=1; mundur(); } if(s1==1 && s2==0 && s3==0) { // maju belok kiri baru=1; kiri_mj(); } if(s1==0 && s2==0 && s3==1) { // maju belok kanan baru=1; kanan_mj(); } if(s1==1 && s2==1 && s3==0) { // mundur belok kiri baru=1; kiri_md(); } if(s1==0 && s2==1 && s3==1) { // mundur belok kanan baru=1; kanan_md(); } if((s1==0 && s2==1 && s3==0) || (s1==1 && s2==0 && s3==1) ){ // obstacle tengah berhenti henti(); } // delay(1); // tunggu 1 ms }
11 comments:
bisa dishare codingnya, gan..
Sudah Mas Ferdi...
bisa di share mas skema rangkaian serta coding nya .
ke alamat email/PM facebook (razta.vara@yahoo.com) terima kasih
Mas Vaurist, saya rasa skema dan coding sudah jelas terpampang di atas, tinggal copas saja..... :-)
permisi mas, saya sedang mencoba membuat robot penghindar halangan. boleh saya minta skema jalur yang akan dicetak ke papan pcb ngga ?
tolong kirim ke email saya ya mas :)
@Alhima: maaf saya ga buat pcb nya, cuma rangkaian sensor dan driver motor yg di pcb kan,itupun pake pcb berlubang... :-)
mas mau nanyak nie mas sensor infra merah TX sama infra merah RX itu beda ya mas.
satu lagi mas law sensor photodioda beda juga ya mas sama sensor infra merah,,,,
terimakasi mas,,,,,
masih bingung mas....
@Juna: Betul, yang Tx penghasil sinar inframerah sedangkan yang Rx pendeteksi sinar Inframerah. photodioda dan sensor inframerah? photodioda adalah sensor cahaya yang teknologi pembuatannya mirip dengan pembuatan dioda, kalau suatu photodioda dibuat dan mempunyaikepekaan di daerah sinar infra merah, maka photodioda itu dapat digunakan untuk sensor inframerah. Sensor inframerah tidak harus terbuat dari photodioda, bisa terbuat dari bahan lainnya. semoga membantu.... pada
battreinya dimna mas?
Sumber tegangan ikut ke Supply Arduino, bisa perhatikan pada wiring diagram
Post a Comment