สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โดย Yue, Yanan และ Hao
โครงการดำเนินการเป็นส่วนหนึ่งของการสัมมนาการออกแบบคอมพิวเตอร์และการผลิตดิจิทัลในโปรแกรมปริญญาโท ITECH
พวกเราบางคนเขย่าขาโดยไม่รู้ตัวตลอดเวลา ด้วยโทรศัพท์มือถือในกระเป๋าของคุณ การเคลื่อนไหวแบบสุ่มนี้จะรับรู้โดย 'มาตรความเร่ง' ภายใน ผ่านบลูทูธที่ส่งกลับไปยังเครื่องเล็กๆ ของเรา วงจรกลไกของระบบเฟืองโซ่ธรรมดาซึ่งมีมินเนี่ยนห้อยอยู่กับเซอร์โวจะถูกกระตุ้น มินเนี่ยนจะเคลื่อนที่ไปพร้อมกับโซ่และดรอปในตอนท้าย ในขณะที่คุณไม่ได้สังเกตว่าคุณกำลังทำอะไรอยู่ R. I. P. มินเนี่ยน!
ขั้นตอนที่ 1: รายการของรายการ
รายการ:
รายการพิมพ์ 3 มิติ:
แพลตฟอร์ม【ที่นั่งเซอร์โว, ขั้วต่อโซ่, เกียร์】
มินเนี่ยน & โลงศพ
Arduino:
บอร์ดควบคุม UNO R3
830 เขียงหั่นขนมแบบมัด
สเต็ปเปอร์มอเตอร์ (28BYJ48 5V DC)
บอร์ดไดรเวอร์ UNL2003 Stepper Motor
เซอร์โวมอเตอร์
ตัวรับสัญญาณบลูทูธ
Piezo buzzer
แบตเตอรี่ 9V พร้อม DC
อะแดปเตอร์แบตเตอรี่ 9V
ตัวต้านทาน 330R หรือสูงกว่า *2
ไฟ LED *2
สายจัมเปอร์
คนอื่น
แท่งไม้ขนาด 4 มม. (รางเลื่อน)
โซ่ (ฉีกขาดจากโลโก้รถ)
โบลท์ M3 และตัวขับสกรู
โทรศัพท์มือถือ (แอนดรอยด์)
ขั้นตอนที่ 2: ประกอบแพลตฟอร์ม
สเต็ปเปอร์มอเตอร์และเซอร์โวมอเตอร์เป็นส่วนหนึ่งของวงจรควบคุม เซอร์โวมอเตอร์เชื่อมต่อโดยตรงกับเขียงหั่นขนม 830 tie-pin และบอร์ดควบคุม Uno R3 ในขณะที่สเต็ปเปอร์มอเตอร์จำเป็นต้องเชื่อมโยงกับบอร์ดไดรเวอร์ UNL2003 Stepper Motor ก่อน จากนั้นจึงเชื่อมโยงไปยังบอร์ดควบคุม Uno R3
ขั้นตอนที่ 3: วงจรและรหัส
ในการควบคุมการเคลื่อนที่ของโซ่ ให้พิจารณาสถานะพื้นฐานต่อไปนี้:
0. ติดตั้งแอพและเชื่อมต่อกับเครื่องผ่านบลูทูธ และเริ่มสั่น!
1. หลังจากรับสัญญาณ เกียร์เริ่มหมุนและโซ่เริ่มเคลื่อนที่ด้วยความเร็วที่กำหนด
2. สัญญาณจะดำเนินต่อไป จนกว่ามินเนี่ยนจะถูกส่งผ่านไปจนถึงปลายอีกด้านของเส้นทาง จากนั้นสเต็ปเปอร์มอเตอร์จะหยุดและเซอร์โวมอเตอร์หมุน 90 องศา หย่อนมินเนี่ยนลงในโลงศพ
3. ระหว่างเดินโซ่ ถ้าสัญญาณหยุดในระยะเวลาเท่ากัน เกียร์จะถอยหลังและโซ่จะเคลื่อนที่กลับด้วยความเร็วต่ำมาก
4. โดยการรีเซ็ตด้านล่างบนแผงควบคุม Uno R3 หรือหากการเคลื่อนไหวย้อนกลับกระทบกับจุดเริ่มต้นของเส้นทาง กระบวนการจะถูกรีเซ็ต
5. เพื่อทำให้สิ่งต่าง ๆ น่าสนใจยิ่งขึ้น มีเสียงบางอย่างเกิดขึ้นระหว่างการเคลื่อนไหวและการหล่น คุณยังสามารถขยายโมดูลเสียงและเพลงด้วยแอพในโทรศัพท์ของคุณ ขอให้สนุกกับมัน
#รวม #รวม #รวม #รวม "pitches.h"
const int ขั้นตอน = 64;
const int counterMax = ขั้นตอน * 9; ตัวนับ int = 0;
ซอฟต์แวร์Serial mySerial(7, 8);
Stepper stepper(ขั้นตอน, 9, 11, 10, 12);เซอร์โว myServo;
const int Buzzer = 5;
bool isAlive = จริง;
ข้อมูลถ่าน;
เมโลดี้ int = {
NOTE_CS4, NOTE_CS4, NOTE_CS4, NOTE_CS4, NOTE_CS4, 0, NOTE_CS4, NOTE_CS4, NOTE_CS4, 0, NOTE_CS4 }; int noteระยะเวลา = { 2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 8 };
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600); mySerial.begin(9600); myServo.attach(3); โหมดพิน (4, อินพุต); stepper.setSpeed(80);
ในขณะที่ (digitalRead (4) == ต่ำ) {
stepper.step(-1); } stepper.step (60); }
วงเป็นโมฆะ () {
ถ้า (mySerial.available() > 0) { ในขณะที่ (mySerial.available() > 0){ data = mySerial.read(); } if (ตัวนับ < counterMax) { mySerial.print("0"); สำหรับ (int thisNote = 0; thisNote = counterMax && isAlive) { mySerial.print("2"); myServo.write(180); สำหรับ (int thisNote = 0; thisNote 1 && ตัวนับ < counterMax) { mySerial.print("1"); stepper.step(-1); เคาน์เตอร์ -= 1; ล่าช้า(200); } }
ขั้นตอนที่ 4: การทดสอบรัน
ขั้นตอนที่ 5: ไฟล์ทั้งหมดที่เราแชร์ได้
คุณสามารถค้นหาไฟล์ทั้งหมดที่เราแชร์ได้ในลิงก์นี้ รวมถึงโมเดลการพิมพ์ 3 มิติ ไดอะแกรมวงจรฟริทซิ่ง และการเข้ารหัส Arduino
drive.google.com/open?id=1qImULCJQRdzlon4s…