สารบัญ:
วีดีโอ: BookPusher: 8 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
งานนี้เป็นหนึ่งในโครงการแฮ็คสำหรับหนังสือของคุณ
แขนนี้จะช่วยให้คุณหยิบหนังสือ
ขั้นตอนที่ 1: การเตรียมการ
1.วัดขนาดหนังสือด้วยตนเอง (เช่น ขนาดหนังสือของเรา)
2. นอกการตั้งค่า (ในกรณีของเราเราใช้กรณีแฟ้มมุมตัดสามและหนังสือสองเล่ม)
3.เตรียมวัตถุดิบตามรายการ
รายการวัสดุ:
- Arduino UNO ×1
- เซอร์โวมอเตอร์ (Tower Pro SG 5010) ×5
- อะแดปเตอร์จ่ายไฟ DC 5V 2.0A Converter (แหล่งจ่ายไฟภายนอกสำหรับเซอร์โวมอเตอร์) ×1
- ที่ยึดแบตเตอรี่ (สำหรับแบตเตอรี่ AAA 4 ก้อน) (แหล่งจ่ายไฟภายนอกสำหรับ Arduino UNO) ×1
- เขียงหั่นขนมขนาดกลาง ×1
- ตัวต้านทาน 10KΩ ×5
- สวิตช์ปุ่มกด ×5
- Jumpwires (หลายรายการ)
- เทปกาวและซุปเปอร์กลู
ขั้นตอนที่ 2: บัดกรีสวิตช์
ดูวิดีโออ้างอิงสำหรับรายละเอียด
ขั้นตอนที่ 3: สร้างอาวุธและภาชนะด้วยเครื่องตัดเลเซอร์
- วัดขนาดขั้วต่อกับมอเตอร์และขนาดของปุ่มกด
- วาดบน Adobe Illustrator: Arm1, Arm2 (ในกรณีของเรา เรารวม MDF 4 มม. 3 ชั้นเข้าด้วยกัน โดยมีชั้นแรกตัดด้วยรูปร่างของตัวเชื่อมต่อกับมอเตอร์) และกล่อง (ตรวจสอบให้แน่ใจว่ามีพื้นที่เพียงพอสำหรับวางบนชั้นวางและ พื้นที่สำหรับเขียงหั่นขนม Arduino และแบตเตอรี่และเราใช้ MDF 4 มม.)
- ตัดด้วยเครื่องตัดเลเซอร์และมีลักษณะคล้าย
- ตรวจสอบให้แน่ใจว่าแขนไม่กระทบชั้นวางเหมือนกระดานหลังเมื่อเคลื่อนตัวหลังจากวางตัวหนังสือแล้ว ถ้าใช่ ให้สร้างใหม่!
ขั้นตอนที่ 4: การเข้ารหัสและอัปโหลดไปยัง Arduino
//เขียนโค้ดและกำหนดมุมของการเคลื่อนไหวของแขน
//นี่คือรหัสสำหรับควบคุมเซอร์โวมอเตอร์ 5 ตัว #include; // อ่านไลบรารี Arduino สำหรับควบคุมเซอร์โวมอเตอร์ Servo myservo1; เซอร์โว myservo2; เซอร์โว myservo3; เซอร์โว myservo4; เซอร์โว myservo5;
const int buttonPin1 = 8; // หมุดปุ่มกด
const int servoPin1 = 2; // เซอร์โวพิน const int buttonPin2 = 9; const int servoPin2 = 3; const int buttonPin3 = 10; const int servoPin3 = 4; const int buttonPin4 = 11; const int servoPin4 = 5; const int buttonPin5 = 12; const int servoPin5 = 6;
int buttonState1 = 0; //ตัวแปรท้องถิ่นเพื่อเก็บสถานะปุ่มกด
int buttonState2 = 0; int buttonState3 = 0; int buttonState4 = 0; int buttonState5 = 0;
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600); //ตั้งค่าข้อมูลซีเรียล myservo1.attach (servoPin1); pinMode (ปุ่ม Pin1, INPUT); //ตั้งค่าหมุดปุ่มกดให้เป็นอินพุต myservo2.attach (servoPin2); pinMode (buttonPin2, INPUT); myservo3.attach (servoPin3); pinMode (buttonPin3, INPUT); myservo4.attach (servoPin4); pinMode (buttonPin4, INPUT); myservo5.attach (servoPin5); pinMode (ปุ่ม Pin5, INPUT); myservo1.write(90); // ตั้งค่ามุมแรกของเซอร์โวมอเตอร์ myservo2.write(90); myservo3.write(0); myservo4.write(0); myservo5.write(0); }
วงเป็นโมฆะ () {
buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); buttonState3 = digitalRead (buttonPin3); buttonState4 = digitalRead (buttonPin4); buttonState5 = digitalRead (buttonPin5); Serial.println (ปุ่มสถานะ1); // ระบุข้อมูล buttonState1 บนจอภาพแบบอนุกรมหาก (buttonState1 == สูง) { myservo1.write (90); //กำหนดมุมของมอเตอร์ }อื่น{ myservo1.write (0); ล่าช้า (1500); } ถ้า (buttonState2 == สูง) { myservo2.write (90); }อื่น{ myservo2.write (0); ล่าช้า (1500); }
ถ้า (buttonState3 == สูง){
myservo3.write(90); }อื่น{ myservo3.write (0); ล่าช้า (1500); }
ถ้า (buttonState4 == สูง){
myservo4.write(90); }อื่น{ myservo4.write (0); ล่าช้า (1500); }
ถ้า (buttonState5 == สูง) { myservo5.write (90); }อื่น{ myservo5.write (0); ล่าช้า (1500); } }
ขั้นตอนที่ 5: สร้างขึ้น
สร้างขึ้นตามกราฟการตั้งค่า และดูวิดีโอสำหรับรายละเอียดเพิ่มเติม
ขั้นตอนที่ 6: การตรวจสอบ
ทำให้เเน่นอน
- ปุ่มทั้งหมดทำงาน
- ทุกอย่างลงตัวในกล่อง
- สายไฟยาวพอและ
- สายเคเบิลสามารถเข้าถึงปลั๊ก
ขั้นตอนที่ 7: การตั้งค่า
- ตั้งค่ามอเตอร์ตามการตั้งค่าชั้นวางหนังสือของคุณ
- ใช้เทปตั้งตำแหน่งก่อน
- ตรวจสอบให้แน่ใจว่าแขนและมอเตอร์แต่ละตัวทำงาน
- ใช้ซุปเปอร์กาวเพื่อทำให้มอเตอร์มีเสถียรภาพ!
ขั้นตอนที่ 8: สนุกกับมันในชีวิตของคุณ
ตกลง! งานเสร็จเรียบร้อย !!
มาสนุกกับการใช้ผลิตภัณฑ์และอุปกรณ์นี้เพื่อทำงานของคุณเองกันเถอะ !
- ขนาดชั้นวางหนังสือของคุณ
- กล่องใส่แฟ้มมุม
- รูปร่างแขน
- รูปร่างกล่องคอนเทนเนอร์
- รหัส
- กราฟการตั้งค่า