สารบัญ:
- ขั้นตอนที่ 1: แนวคิด
- ขั้นตอนที่ 2: อะไหล่
- ขั้นตอนที่ 3: การประกอบชิ้นส่วน
- ขั้นตอนที่ 4: ไลบรารีสำหรับ Arduino IDE
- ขั้นตอนที่ 5: การตั้งค่าเขียงหั่นขนม
- ขั้นตอนที่ 6: รหัส
- ขั้นตอนที่ 7: การสาธิตและบทสรุป
วีดีโอ: เครื่องจักร: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คำแนะนำนี้สร้างขึ้นเพื่อตอบสนองความต้องการของโครงการ Makecourse ที่มหาวิทยาลัยเซาท์ฟลอริดา (www.makecourse.com)
ขั้นตอนที่ 1: แนวคิด
ขณะที่ฉันพยายามระดมความคิดสำหรับโครงการนี้ ฉันตัดสินใจทำสิ่งที่มีประโยชน์และเป็นประโยชน์สำหรับชีวิตประจำวันของฉัน มีเพียงไม่กี่อย่างเท่านั้นที่สามารถมีความต้องการเสรีภาพสองระดับได้ ดังนั้นฉันจึงตัดสินใจทำนาฬิกาง่ายๆ เพื่อให้ตรงตามข้อกำหนด รวมทั้งแสดงนาฬิกาไว้บนโต๊ะทำงานเพื่อแสดงเวลา เดิมทีแนวคิดคือการสร้างนาฬิกาข้อมือ แต่ชิ้นส่วนที่พิมพ์ 3 มิติจะเล็กเกินไป และมอเตอร์ที่ขับเคลื่อนนาฬิกาก็ยังคงใหญ่เกินไปสำหรับนาฬิกาข้อมือ
ดังนั้น โครงการนี้ ฉันจึงพบชิ้นส่วนอะไหล่รอบๆ อพาร์ตเมนต์ของฉัน และตัดสินใจทำสิ่งนี้
ขั้นตอนที่ 2: อะไหล่
- ชิ้นส่วนที่พิมพ์ 3 มิติ
- 2 28BYJ-48 5V DC Stepper Motor
- 2 ULN2003 Stepper เครื่องยนต์ คณะกรรมการควบคุม
- Arduino Uno
- โมดูลบลูทูธ HC-05
ฉันทำชิ้นส่วนเหล่านี้ทั้งหมด ยกเว้นเข็มนาฬิกา ฉันไม่ค่อยสร้างสรรค์ ด้านล่างนี้คือลิงก์ไปยังผู้สร้าง
www.thingiverse.com/thing:1441809
ขั้นตอนที่ 3: การประกอบชิ้นส่วน
(1)- คุณต้องใส่ Gear_1 และ 2 เข้ากับสเต็ปเปอร์มอเตอร์ พวกเขาจะพอดีตัวดังนั้นจึงต้องใช้กำลังเล็กน้อยเพื่อให้อยู่กับที่
(2)- Base_0 จะอยู่ที่ด้านล่างของแอสเซมบลี
(3)- Base_1 จะถูกวางไว้บน SpurGear_1 ซึ่งเป็นองค์ประกอบหลักสำหรับเข็มนาที คุณสามารถติดส่วนประกอบทั้งสองนี้เข้าด้วยกัน ตรวจสอบให้แน่ใจว่าฐานอยู่ด้านบนของเฟือง
(4)- Base_2 จะถูกวางไว้บน SpurGears_2 ซึ่งเป็นองค์ประกอบหลักสำหรับเข็มชั่วโมง เช่นเดียวกับส่วนนี้เป็นขั้นตอน (3)
(5)- เข็มนาฬิกาสามารถทากาวที่ด้านบนของ Base_1 และ Base_2 หรือคุณสามารถเจาะรูเล็กๆ เพื่อให้เข้าที่
(6)- เพื่อให้เฟืองของเข็มนาทีตรงกับเฟืองเดือย คุณต้องมีแพลตฟอร์มขนาด 1 ซม. เพื่อวางชุดประกอบทั้งหมดไว้ด้านบนด้วยสเต็ปเปอร์มอเตอร์ตัวใดตัวหนึ่ง
สาเหตุเป็นเพราะฐานหลักไม่สามารถสูงได้เลย เนื่องจากสเต็ปเปอร์มอเตอร์ตัวอื่นไม่สามารถเข้าเกียร์สูงได้ ไม่ว่าจะด้วยวิธีใด จำเป็นต้องมีแพลตฟอร์มสำหรับสเต็ปเปอร์มอเตอร์ตัวใดตัวหนึ่ง
ขั้นตอนที่ 4: ไลบรารีสำหรับ Arduino IDE
รหัสสำหรับโครงการนี้อิงตามห้องสมุดโดย tyhenry ชื่อ CheapStepper.h
github.com/tyhenry/CheapStepper
ในการติดตั้งไลบรารีนี้สำหรับ Arduino ของคุณ คลิกโคลนหรือดาวน์โหลดจากลิงก์ด้านบนและดาวน์โหลดเป็นไฟล์ zip
ใน Arduino IDE ร่าง -> รวมไลบรารี -> เพิ่ม. ZIP Library
จากไลบรารีทั้งหมดที่ใช้งานได้ ไลบรารีนี้ใช้สเต็ปเปอร์มอเตอร์ที่ดีที่สุดและใช้งานง่ายมาก
ขั้นตอนที่ 5: การตั้งค่าเขียงหั่นขนม
ฉันใช้ Arduino shield เพื่อใช้กับ Arduino UNO ของฉัน ดูสะอาดกว่า แต่คุณสามารถหาเขียงหั่นขนมขนาดเล็กและวางไว้บน Arduino UNO แทน ทำตามสีบนแผนผังเนื่องจากสายไฟบางเส้นอยู่ด้านบนของกันและกัน พิน 4-7 ใช้สำหรับสเต็ปเปอร์หนึ่งตัว และพิน 8-11 ใช้สำหรับสเต็ปที่สอง
โมดูล Bluetooth ต้องต่อสาย RX -> TX และ TX -> RX เข้ากับบอร์ด Arduino
สายสีน้ำเงินคือการเชื่อมต่อจากไดรเวอร์ไปยัง Arduino UNO
สายสีเขียวคือการเชื่อมต่อ RX และ TX
สายไฟสีดำเป็นกราวด์
สายสีแดงคือ 5V.
ขั้นตอนที่ 6: รหัส
ด้านล่างเป็นรหัสสำหรับโครงการนี้
คำอธิบายของรหัสจะอยู่ที่นี่
CheapStepper stepper(8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);
บูลีนย้ายตามเข็มนาฬิกา = จริง;
///37.5 นาที = 4096;
///1 นาที = 106.7;
///5 นาที = 533.3;
///15 นาที = 1603;
//30 นาที = 3206;
//60 นาที = 6412;
int เต็ม = 4096;
ครึ่ง int = เต็ม/2; ///48
ลอยตัวเต็มเวลา = 6412; // 1 ชั่วโมง
ลอย half_time = full_time/2; // 30 นาที 3026
float fif_time = half_time/2; // 15 นาที 1603
float one_time = full_time/60; // 1 นาที 106
float five_time = one_time*5; // 5 นาที 534.3
ลอย one_sec = one_time/60; // 1 วินาที 1.78
//เราทำได้ครั้งละ 30 นาทีโดยหมุนมอเตอร์ 3206 แล้วรีเซ็ต
นี่คือการคำนวณหลักสำหรับโครงการนี้ สเต็ปเปอร์จะใช้เวลา 4096 ก้าวเพื่อหมุนได้ครบ 360 องศา แต่เนื่องจากเฟืองเดือยนั้นใหญ่กว่าเฟืองที่ติดอยู่กับสเต็ปเปอร์ ดังนั้นจึงต้องใช้ขั้นตอนมากขึ้นสำหรับการหมุนเต็มที่ เนื่องจากเฟืองเดือยเป็นส่วนประกอบหลักในการหมุนมือ ฉันต้องทำการทดสอบต่างๆ เพื่อให้แน่ใจว่าค่าต่างๆ ถูกต้อง
full_time เป็นตัวแปรที่ฉันกำหนดให้หมุนมือได้เต็มที่ สิ่งนี้ค่อนข้างสอดคล้องกัน แต่เมื่อแบ่งขั้นตอนด้วย 2 เพื่อให้ได้การเคลื่อนไหวที่เฉพาะเจาะจง ค่าลอยตัวจะน้อยลง ซึ่งทำให้คนขับทำงานได้ยากขึ้น
การเคลื่อนไหวตามเข็มนาฬิกา = จริง; คือการทำให้สเต็ปเปอร์มอเตอร์เคลื่อนที่ตามเข็มนาฬิกา แต่เนื่องจากเฟืองเดือยหมุนทวนเข็มนาฬิกา เราจึงต้องทำให้บูลีนเป็นเท็จในการตั้งค่า คุณสามารถประกาศเป็นเท็จในตอนเริ่มต้นได้ แต่นี่เป็นการอธิบายว่ามันทำงานอย่างไร
การตั้งค่าเป็นโมฆะ () {Serial.begin(9600);
Serial.println("พร้อมที่จะย้าย!");
pos = one_time; เดล = 900; อัตราส่วน = 60;
ย้ายตามเข็มนาฬิกา = เท็จ; }
นี่คือที่ที่ฉันประกาศ moveClockwise boolean false pos จะเป็นจำนวนขั้นตอน del จะเป็นการหน่วงเวลา และอัตราส่วนจะเป็นนาที/วินาที = 60 หรือ ชั่วโมง/นาที = 12
เราควบคุมมือด้วยโมดูล Bluetooth ขั้นแรก คุณต้องมีเทอร์มินัล Bluetooth แบบอนุกรมจากอุปกรณ์ Android ของคุณ เชื่อมต่อกับ Hc-05 ด้วย PIN 0000 หรือ 1234 คุณสามารถใช้โค้ดตัวอย่างจาก Arduino IDE เพื่อดูว่าทำงานถูกต้องหรือไม่ เมื่อเชื่อมต่อแล้ว ควรกะพริบช้าๆ แทนที่จะกะพริบถี่ๆ เมื่อไม่ได้เชื่อมต่อ
วงเป็นโมฆะ () {สถานะ = 0;
if(Serial.available() > 0) {
รัฐ = Serial.read(); }
สำหรับ (ลอย s=0; s<(pos); s++){
stepper.step (เลื่อนตามเข็มนาฬิกา); }
สำหรับ (ลอย s=0; s<(pos/อัตราส่วน); s++){
stepper_2.step(เลื่อนตามเข็มนาฬิกา); }
ล่าช้า (เดล);
Serial.available() > 0 มีความสำคัญเนื่องจากเป็นวิธีการทำงานของโมดูล Bluetooth คำสั่ง if นี้จะเป็นจริงเมื่อมีการสื่อสารระหว่าง Arduino และอุปกรณ์ของคุณ ตัวแปรสถานะจะกำหนดตัวแปรอื่นอีก 3 ตัวที่ฉันประกาศไว้บนสุดของการตั้งค่า () และจะพิมพ์ว่าโค้ดกำลังทำงานอะไรอยู่ two for loop เป็นฟังก์ชันหลักที่ขับเคลื่อนว่าสเต็ปมอเตอร์จะเคลื่อนที่อย่างไร
ถ้า (สถานะ == '1') {
pos = one_time; เดล = 0; อัตราส่วน = 12;
Serial.println("การดำเนินการ 1: ไม่ล่าช้า"); }
นี่เป็นตัวอย่างหนึ่งของการใช้อินพุตจากอุปกรณ์บลูทูธของคุณเพื่อเปลี่ยนวิธีการทำงานของระบบ คุณสามารถแก้ไขตัวแปรเหล่านี้ได้ตามต้องการ
ขั้นตอนที่ 7: การสาธิตและบทสรุป
นี่คือการสาธิตของระบบ ซึ่งแสดงให้เห็นว่ามันทำงานอย่างไร สำหรับกล่องหุ้ม คุณสามารถใช้อะไรก็ได้ที่พอดีกับส่วนประกอบทั้งหมดภายใน โปรเจ็กต์นี้เรียบง่ายและสนุกกับการทำ เนื่องจากเป็นครั้งแรกที่ฉันพิมพ์ 3 มิติ โมดูล Bluetooth นั้นสนุกที่จะคิดออกและใช้งาน มีข้อผิดพลาดเล็กน้อยที่ฉันทำซึ่งสายเกินไปที่จะเปลี่ยนแปลง แต่ผลิตภัณฑ์ขั้นสุดท้ายก็ใช้ได้
แนะนำ:
การออกแบบเกมในการสะบัดใน 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++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง