สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การเชื่อมต่อ
- ขั้นตอนที่ 2: กาวส่วนประกอบทั้งหมดในสถานที่
- ขั้นตอนที่ 3: การเขียนโปรแกรม
- ขั้นตอนที่ 4: สนุก!!
วีดีโอ: วิธีสร้างหุ่นยนต์อัจฉริยะโดยใช้ Arduino: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
สวัสดี,
ฉันเป็นผู้ผลิต Arduino และในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่าวิธีสร้างหุ่นยนต์อัจฉริยะโดยใช้ Arduino
หากคุณชอบบทช่วยสอนของฉันลองพิจารณาสนับสนุนช่อง youtube ของฉันที่ชื่อว่า arduino maker
เสบียง
สิ่งที่คุณต้องการ:
1) Arduino uno
2) เซ็นเซอร์อัลตราโซนิก
3) บ่อมอเตอร์
4) ล้อ
5) ไอศกรีมแท่ง
6) แบตเตอรี่ 9v
ขั้นตอนที่ 1: การเชื่อมต่อ
หลังจากได้รับอุปกรณ์ทั้งหมดแล้ว คุณควรเริ่มเชื่อมต่อทุกสิ่งตามแผนภาพวงจรที่ให้ไว้ด้านบน
ขั้นตอนที่ 2: กาวส่วนประกอบทั้งหมดในสถานที่
ตกลง,
ตอนนี้เชื่อมต่อทุกสิ่งเข้าที่ตามที่แสดงในภาพด้านบน
ขั้นตอนที่ 3: การเขียนโปรแกรม
ตอนนี้,
เริ่มเขียนโปรแกรมบอร์ดด้วยรหัสที่ระบุด้านล่าง
// ARDUINO อุปสรรคหลีกเลี่ยงรถ//// ก่อนอัปโหลดโค้ด คุณต้องติดตั้งไลบรารีที่จำเป็น// // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing Library https://github.com/livetronic/Arduino-NewPing// //Servo Library https://github.com/arduino-libraries/Servo.git // // ในการติดตั้งไลบรารี่ ให้ไปที่ Sketch >> รวม ไลบรารี >> เพิ่มไฟล์. ZIP >> เลือกไฟล์ ZIP ที่ดาวน์โหลดจากลิงก์ด้านบน //
#รวม
#รวม
#รวม
#define TRIG_PIN A0
#define ECHO_PIN A1 #define MAX_DISTANCE 200
#define MAX_SPEED 150 // ตั้งค่าความเร็วของมอเตอร์กระแสตรง
#define MAX_SPEED_OFFSET 20
ใหม่ปิงโซนาร์ (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ);
// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); เซอร์โว myservo;
บูลีน goForward=false;
ระยะทาง int = 100; int speedSet = 0;
การตั้งค่าเป็นโมฆะ () {
myservo.attach(10);
myservo.write(115); ล่าช้า (1000); ระยะทาง = readPing(); ล่าช้า (100); ระยะทาง = readPing(); ล่าช้า (100); ระยะทาง = readPing(); ล่าช้า (100); ระยะทาง = readPing(); ล่าช้า (100); }
วงเป็นโมฆะ () {
ระยะทาง intR = 0; ระยะทาง intL = 0; ล่าช้า(40); ถ้า(ระยะทาง<=15) { moveStop(); ล่าช้า (100); ย้ายย้อนกลับ(); ล่าช้า (300); moveStop(); ล่าช้า(200); DistanceR = lookRight(); ล่าช้า (300); ระยะทางL = lookLeft(); ล่าช้า (300);
ถ้า(distanceR>=ระยะทางL)
{ เลี้ยวขวา(); moveStop(); } อื่น ๆ { เลี้ยวซ้าย (); moveStop(); } }อื่น { เลื่อนไปข้างหน้า (); } ระยะทาง = readPing(); }
int lookRight()
{ myservo.write (50); ล่าช้า (650); ระยะทาง int = readPing(); ล่าช้า (100); myservo.write(115); ระยะทางกลับ; }
int lookLeft()
{ myservo.write (170); ล่าช้า (650); ระยะทาง int = readPing(); ล่าช้า (100); myservo.write(115); ระยะทางกลับ; ล่าช้า (100); }
int readPing() {
ล่าช้า(70); int cm = sonar.ping_cm(); ถ้า(ซม.==0) { ซม. = 250; } กลับซม.; }
เป็นโมฆะ moveStop() {
motor1.run(ปล่อย); //motor2.run(ปล่อย); //motor3.run(ปล่อย); motor4.run(ปล่อย); } โมฆะ moveForward() {
ถ้า (!goesForward)
{ ไปข้างหน้า=จริง; motor1.run(ไปข้างหน้า); //motor2.run (ไปข้างหน้า); //motor3.run (ไปข้างหน้า); motor4.run (ไปข้างหน้า); สำหรับ (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // ค่อยๆ เพิ่มความเร็วเพื่อหลีกเลี่ยงการโหลดแบตเตอรี่เร็วเกินไป { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); ล่าช้า(5); } } }
เป็นโมฆะ moveBackward () {
ไปข้างหน้า=เท็จ; motor1.run(ย้อนกลับ); //motor2.run(ถอยหลัง); //motor3.run(ย้อนกลับ); motor4.run(ย้อนกลับ); สำหรับ (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // ค่อยๆ เพิ่มความเร็วเพื่อหลีกเลี่ยงการโหลดแบตเตอรี่เร็วเกินไป { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); ล่าช้า(5); } }
ถือเป็นโมฆะเลี้ยวขวา () {
motor1.run(ย้อนกลับ); //motor2.run(ถอยหลัง); //motor3.run (ไปข้างหน้า); motor4.run (ไปข้างหน้า); ล่าช้า (350); motor1.run(ไปข้างหน้า); //motor2.run (ไปข้างหน้า); //motor3.run (ไปข้างหน้า); motor4.run (ไปข้างหน้า); } ถือเป็นโมฆะ turnLeft() { motor1.run (ไปข้างหน้า); //motor2.run (ไปข้างหน้า); //motor3.run(ถอยหลัง); motor4.run(ย้อนกลับ); ล่าช้า (350); motor1.run (ไปข้างหน้า); //motor2.run (ไปข้างหน้า); //motor3.run (ไปข้างหน้า); motor4.run (ไปข้างหน้า); }
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino