Robot Pelacak Manusia DIY dengan Arduino UNO dan Motor Shield
Tentang Proyek
Halo Guyzz...
Dalam pandemi ini saya percaya semuanya di rumah tetap aman.
Saya membuat proyek baru bernama Human Following Bot.
Tonton seluruh video untuk membuat proyek ini di rumah.
Ini menggunakan 2 sensor IR dan sensor ultrasonik. Sensor IR digunakan untuk mengikuti manusia atau objek dan sensor ultrasonik digunakan untuk menggerakkan robot mundur.
Jika Anda menyukai proyek ini, hormatilah.
Berikan saya saran agar saya dapat memperbaikinya atau umpan balik yang ingin Anda berikan kepada channel YouTube saya.
link adalah: https://studio.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g
Anda juga dapat memberikan saran kepada saya pada “Apa yang saya buat proyek selanjutnya?”
Langkah-langkah membuat proyek ini:
- Kumpulkan komponen seperti Arduino, Motor DC gear dengan roda, 2 sensor IR, sensor ultrasonik, servo motor, kardus, shield pengemudi motor l293d, baterai 9 v, saklar, kabel jumper, dll.
- Ambil kardus dan tempatkan semua 4 motor dengan roda di atasnya untuk membuat mobil.
- Tempatkan sensor IR pada mobil.
- Tempel servo motor pada mobil.
- Tempatkan sensor ultrasonik dalam kotak dan tambahkan pegangan setelah itu hubungkan ke servo motor.
- Hubungkan Arduino dan shield pengemudi motor l293d pada mobil.
- Lakukan koneksi seperti yang ditunjukkan dalam diagram rangkaian.
- Unggah kode dan hubungkan saklar dengan baterai ke shield pengemudi motor l293d.
Atur sensitivitas sensor IR.
Proyek Anda siap...!!!
Kunjungi channel YouTube saya sekali dan lihat proyek menarik lainnya.
“Elektronik adalah menyenangkan”
Jika Anda suka channel saya, silakan langgan.
link: https://studio.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g
Kode
KodeArduino
// www.YouTube.com/Electronics is Fun // #include<Servo.h> #include<AFMotor.h> #define LEFT A0 #define echopin A1 // echo pin #define trigpin A2 // Trigger pin #define RIGHT A3 AF_DCMotor Motor1(1,MOTOR12_1KHZ); AF_DCMotor Motor2(2,MOTOR12_1KHZ); AF_DCMotor Motor3(3,MOTOR34_1KHZ); AF_DCMotor Motor4(4,MOTOR34_1KHZ); Servo myservo; int pos =0; long time; void setup(){ Serial.begin(9600); myservo.attach(10); for(pos = 90; pos <= 180; pos += 1){ myservo.write(pos); delay(15); } for(pos = 180; pos >= 0; pos-= 1) { myservo.write(pos); delay(15); } for(pos = 0; pos<=90; pos += 1) { myservo.write(pos); delay(15); } pinMode(RIGHT, INPUT); pinMode(LEFT, INPUT); pinMode(trigpin, OUTPUT); pinMode(echopin, INPUT); } void loop(){ unsigned int distance = read_cm(); int Right_Value = digitalRead(RIGHT); int Left_Value = digitalRead(LEFT); Serial.print("R= "); Serial.print(Right_Value); Serial.print(" L= "); Serial.print(Left_Value); Serial.print(" D= "); Serial.println(distance); if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1)){forword();} else if((Right_Value==0) && (Left_Value==1)){turnRight();} else if((Right_Value==1) && (Left_Value==0)){turnLeft();} else if((Right_Value==1) && (Left_Value==1)){stop();} else if(distance > 5 && distance < 10){stop();} else if(distance < 5){backword();} delay(50); } long read_cm(){ digitalWrite(trigpin, LOW); delayMicroseconds(2); digitalWrite(trigpin, HIGH); delayMicroseconds(10); time = pulseIn (echopin, HIGH); return time / 29 / 2; } void forword(){// turn it on going forward Motor1.setSpeed(120); Motor1.run(FORWARD); Motor2.setSpeed(120); Motor2.run(FORWARD); Motor3.setSpeed(120); Motor3.run(FORWARD); Motor4.setSpeed(120); Motor4.run(FORWARD); } void backword(){ // the other way Motor1.setSpeed(120); Motor1.run(BACKWARD); Motor2.setSpeed(120); Motor2.run(BACKWARD); Motor3.setSpeed(120); Motor3.run(BACKWARD); Motor4.setSpeed(120); Motor4.run(BACKWARD); } void turnRight(){ // the other right Motor1.setSpeed(200); Motor1.run(FORWARD); Motor2.setSpeed(200); Motor2.run(FORWARD); Motor3.setSpeed(100); Motor3.run(BACKWARD); Motor4.setSpeed(100); Motor4.run(BACKWARD); } void turnLeft(){ // turn it on going left Motor1.setSpeed(100); Motor1.run(BACKWARD); Motor2.setSpeed(100); Motor2.run(BACKWARD); Motor3.setSpeed(200); Motor3.run(FORWARD); Motor4.setSpeed(200); Motor4.run(FORWARD); } void stop(){ // stopped Motor1.setSpeed(0); Motor1.run(RELEASE); Motor2.setSpeed(0); Motor2.run(RELEASE); Motor3.setSpeed(0); Motor3.run(RELEASE); Motor4.setSpeed(0); Motor4.run(RELEASE); }
Skematik