วิธีสร้างหุ่นยนต์ติดตามมนุษย์ด้วย Arduino: 3 ขั้นตอน
วิธีสร้างหุ่นยนต์ติดตามมนุษย์ด้วย Arduino: 3 ขั้นตอน
Anonim
วิธีสร้างหุ่นยนต์ติดตามมนุษย์ด้วย Arduino
วิธีสร้างหุ่นยนต์ติดตามมนุษย์ด้วย Arduino

มนุษย์เดินตามความรู้สึกของหุ่นยนต์และเดินตามมนุษย์

ขั้นตอนที่ 1: รับเครื่องมือ

รับเครื่องมือ
รับเครื่องมือ
รับเครื่องมือ
รับเครื่องมือ
รับเครื่องมือ
รับเครื่องมือ

รับเครื่องมือเช่น: Ultrasonic sensorSensorArduino uno 4 gear motors with wheelServo Battery and battery case Motor driver Jumper wires Chassis

ขั้นตอนที่ 2: เชื่อมต่อ

กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ
กำลังเชื่อมต่อ

เชื่อมต่ออุปกรณ์ทุกชิ้นเข้ากับไดรเวอร์มอเตอร์ เชื่อมต่อไดรเวอร์มอเตอร์กับ Arduino

ขั้นตอนที่ 3: รหัส

รหัส
รหัส

#include#include#include#define RIGHT A2#define LEFT A3#define TRIGGER_PIN A1#define ECHO_PIN A0#define MAX_DISTANCE 100โซนาร์ปิงใหม่(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);AF_DCMOtor Motor1(1, MOTOR12_1KHZTOR2), AF_DC_1Motor Motor2;AF_DCMotor Motor3(3, MOTOR34_1KHZ);AF_DCMotor Motor4(4, MOTOR34_1KHZ);Servo myservo;int pos =0;void setup() {// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: Serial.begin(9600);myservo.attach(10);{for(pos = 90; pos <= 180; pos += 1){ myservo.write(pos); ล่าช้า (15);} สำหรับ (pos = 180; pos >= 0; pos-= 1) { myservo.write (pos); ล่าช้า (15);} สำหรับ (pos = 0; pos <=90; pos += 1) { myservo.write (pos); ดีเลย์(15);}}pinMode(RIGHT, INPUT);pinMode(LEFT, INPUT);}void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: ล่าช้า (50); ระยะทาง int ที่ไม่ได้ลงชื่อ = sonar.ping_cm();Serial.print("distance");Serial.println(distance);int Right_Value = digitalRead(RIGHT);int Left_Value = digitalRead(LEFT);Serial.print("RIGHT");Serial.println(Right_Value);Serial.print("LEFT");Serial.println(Left_Value);if((Right_Value==1) && (ระยะทาง>=10 && ระยะทาง<=30)&&(Left_Value==1)) { Motor1.setSpeed (120); Motor1.run(ไปข้างหน้า); Motor2.setSpeed(120); Motor2.run (ไปข้างหน้า); Motor3.setSpeed(120); Motor3.run (ไปข้างหน้า); Motor4.setSpeed(120); Motor4.run (FORWARD);} else if ((Right_Value==0) && (Left_Value==1)) { Motor1.setSpeed (200); Motor1.run(ไปข้างหน้า); Motor2.setSpeed(200); Motor2.run (ไปข้างหน้า); Motor3.setSpeed(100); Motor3.run(ย้อนกลับ); Motor4.setSpeed(100); Motor4.run (ย้อนกลับ);} else if ((Right_Value==1)&&(Left_Value==0)) { Motor1.setSpeed (100); Motor1.run(ย้อนกลับ); Motor2.setSpeed(100); Motor2.run(ย้อนกลับ); Motor3.setSpeed(200); Motor3.run (ไปข้างหน้า); Motor4.setSpeed(200); Motor4.run(FORWARD);} else if((Right_Value==1)&&(Left_Value==1)) { Motor1.setSpeed(0); Motor1.run(ปล่อย); Motor2.setSpeed(0); Motor2.run(ปล่อย); Motor3.setSpeed(0); Motor3.run(ปล่อย); Motor4.setSpeed(0); Motor4.run (RELEASE);} else if (ระยะทาง > 1 && ระยะทาง < 10) { Motor1.setSpeed (0); Motor1.run(ปล่อย); Motor2.setSpeed(0); Motor2.run(ปล่อย); Motor3.setSpeed(0); Motor3.run(ปล่อย); Motor4.setSpeed(0); Motor4.run(ปล่อย); } }

แนะนำ: