สารบัญ:

แพลตฟอร์มควบคุมเซ็นเซอร์ไจโรสำหรับปริศนาเขาวงกต: 3 ขั้นตอน
แพลตฟอร์มควบคุมเซ็นเซอร์ไจโรสำหรับปริศนาเขาวงกต: 3 ขั้นตอน

วีดีโอ: แพลตฟอร์มควบคุมเซ็นเซอร์ไจโรสำหรับปริศนาเขาวงกต: 3 ขั้นตอน

วีดีโอ: แพลตฟอร์มควบคุมเซ็นเซอร์ไจโรสำหรับปริศนาเขาวงกต: 3 ขั้นตอน
วีดีโอ: สาวต้องคำสาปตัวเป็นหนอนหน้าเป็นคน หนีเร็ว #3 | Roblox the mimic 2024, พฤศจิกายน
Anonim
แพลตฟอร์มควบคุม Gyro Sensor สำหรับ Maze Puzzle
แพลตฟอร์มควบคุม Gyro Sensor สำหรับ Maze Puzzle

คำแนะนำนี้ถูกสร้างขึ้นเพื่อตอบสนองความต้องการของโครงการของหลักสูตร Make ที่มหาวิทยาลัยเซาท์ฟลอริดา (www.makecourse.com)"

โปรเจ็กต์เรียบง่ายนี้ได้รับแรงบันดาลใจจากแพลตฟอร์มปรับสมดุลตนเองซึ่งรับข้อเสนอแนะจากเซ็นเซอร์มาตรความเร่ง ลองดูถ้าคุณยังไม่ได้ทำ

โปรเจ็กต์นี้ใช้ Arduino UNO - ไมโครคอนโทรลเลอร์ที่ใช้งานง่าย หาซื้อได้จากเว็บไซต์ช้อปปิ้งออนไลน์! ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างแพลตฟอร์มการเอียงที่ตั้งโปรแกรมได้ของคุณเอง ตั้งแต่ขั้นตอนการออกแบบไปจนถึงการจัดหาชิ้นส่วน ไฟล์การพิมพ์ 3 มิติ การประกอบ และการเขียนโปรแกรม ยึดมั่นและก้าวไปข้างหน้า!

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ

ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ
ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ
ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ
ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ
ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ
ส่วนประกอบที่จำเป็นและชิ้นส่วนที่พิมพ์ 3 มิติ

รายการส่วนประกอบที่ใช้สำหรับโครงการ:

1. Arduino UNO ไมโครคอนโทรลเลอร์

2.เขียงหั่นขนมพร้อมสายจัมเปอร์

3.กล่อง.

4. แพลตฟอร์มวงกลม

5.เขาวงกต

6. Links - 3 No's

7. A ฐานสำหรับติดตั้งเซอร์โวสามตัว

8. เซ็นเซอร์ไจโร/มาตรความเร่ง (เอ็มพียู6050)

9.1sq mm wires (500cm) - 4 No's

10. ลูกเหล็กขนาดเส้นผ่านศูนย์กลาง 3 มม.

ชิ้นส่วนส่วนใหญ่ที่ใช้ในโครงการนี้เป็นเครื่องพิมพ์ 3 มิติ และฉันได้แนบ stl แล้ว ไฟล์พร้อมสำหรับการพิมพ์

ประกอบชิ้นส่วนทั้งหมดตามภาพ เขาวงกตติดกาวร้อนกับแท่นวงกลมเพื่อให้ดูเหมือนในภาพ เซอร์โวทั้งสามควรติดกาวร้อนบนฐานพิมพ์ 3 มิติที่ติดตั้งบนฝากล่อง ในกล่องประกอบด้วย Arduino UNO และ Breadboard ที่ประกอบเข้าด้วยกันดังแสดงในรูป การติดตั้งเขียงหั่นขนมจะกล่าวถึงในขั้นตอนต่อไป

หลังจากประกอบแล้ว ต้นแบบขั้นสุดท้ายควรมีลักษณะดังรูปสุดท้าย

ขั้นตอนที่ 2: การตั้งค่าเขียงหั่นขนม

การตั้งค่าเขียงหั่นขนม
การตั้งค่าเขียงหั่นขนม
การตั้งค่าเขียงหั่นขนม
การตั้งค่าเขียงหั่นขนม
การตั้งค่าเขียงหั่นขนม
การตั้งค่าเขียงหั่นขนม

หลังจากการประกอบ Arduino, เซ็นเซอร์ Accelerometer, เซอร์โวจะเชื่อมต่อตามที่อธิบายไว้ต่อไปนี้

รางบวกและลบบนเขียงหั่นขนมเชื่อมต่อกับ 5V และ GND ของ Arduino ตามลำดับ เซ็นเซอร์เชื่อมต่อกับ Arduino โดยใช้สายครึ่งเมตรที่จะบัดกรีกับเซ็นเซอร์เพื่อให้หมุด VCC และ GND ของเซ็นเซอร์เชื่อมต่อกับราง +ve และ -ve บนเขียงหั่นขนมตามลำดับ พิน SCL และ SDA ของเซ็นเซอร์ที่จะเชื่อมต่อกับพินอะนาล็อก A5 และ A4 ของ Arduino พิน PWM ของเซอร์โวทั้งสามเชื่อมต่อกับ 2, 3, 4 พินของ Arduino ตามลำดับ และพิน +ve และ -ve ของเซอร์โวทั้งหมดเชื่อมต่อกับราง +ve และ -ve ของเขียงหั่นขนม ด้วยเหตุนี้การเชื่อมต่อของเราจึงเสร็จสิ้น

ขั้นตอนที่ 3: รหัสสำหรับโครงการ

คุณสามารถดาวน์โหลดไลบรารี MPU6050 และ Servo จากอินเทอร์เน็ตและใช้สำหรับโครงการ รวบรวมและอัปโหลดรหัสต่อไปนี้ไปยัง Arduino และโครงการก็พร้อม เอียงเซ็นเซอร์แล้วคุณจะเห็นเขาวงกตเอียงไปในทิศทางเดียวกัน! ต้องใช้เวลาพอสมควรในการไขปริศนาเพราะมันค่อนข้างท้าทายแต่ก็สนุกที่จะเล่นด้วย

#รวม

#รวม

#รวม

เซอร์โว เซอร์โว1;

เซอร์โวเซอร์โว2;

เซอร์โวเซอร์โว3;

เซ็นเซอร์ MPU6050;

int servoPos1=90;

int servoPos2=90;

int servoPos3=90;

int16_t ขวาน, ay, az;

int16_t gx, gy, gz;

การตั้งค่าเป็นโมฆะ ()

{

Servo1.แนบ (2);

Servo2.แนบ (3);

Servo3.attach (4);

Wire.begin ();

Serial.begin (9600);

}

วงโมฆะ ()

{

sensor.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz);

axe = แผนที่ (ขวาน, -17000, 17000, 0, 180);

ay = แผนที่ (ay, -17000, 17000, 0, 180);

Serial.print ("ax=");

Serial.print (ขวาน);

Serial.print (" ay=");

Serial.println (ใช่);

ถ้า (ขวาน < 80 && อายุ < 80){

Servo1.write(servoPos1++);

Servo2.write (servoPos2--);

Servo3.write(servoPos3--); }

ถ้า (ขวาน 120){

Servo1.write(servoPos1--);

Servo2.write(servoPos2++);

Servo3.write(servoPos3--); }

ถ้า (ขวาน > 120 && ay > 0){

Servo1.write(servoPos1--);

Servo2.write (servoPos2--);

Servo3.write(servoPos3++); }

ถ้า (ขวาน == 90 && ay == 90){

Servo1.write(0);

Servo2.write(0);

Servo3.write(0);

}

}

แนะนำ: