2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คำแนะนำนี้จะสาธิตวิธีสร้างโรงละครเงาขั้นพื้นฐานโดยใช้อุปกรณ์ต่อไปนี้ สำหรับแอปพลิเคชันของฉัน ฉันสร้างเรือที่โยกเป็นเกลียวคลื่น แต่ด้วยการปรับเปลี่ยนเล็กน้อย คุณสามารถใช้รูปทรง/วัตถุใดก็ได้ที่คุณต้องการสร้างฉากใดก็ได้ที่คุณต้องการ
- Arduino Uno Kit
- ซอฟต์แวร์เครื่องพิมพ์ 3 มิติและการออกแบบ
-9 โวลต์แบตเตอรี่
-ตัวรับสัญญาณ IR
- LEDs
-(https://www.amazon.com/6000K-6500K-600mA-700mA-Int…)
- เซอร์โวมอเตอร์
- เขียงหั่นขนม
- กระดาษถ่ายเอกสาร
ขั้นตอนที่ 1: ออกแบบ
ใช้โปรแกรมเช่น Solidworks หรือนักประดิษฐ์เพื่อออกแบบชิ้นส่วนที่คุณต้องการ ในกรณีของฉันคือเรือและคลื่น ร่วมกับรอยบากแบบอัดขึ้นรูปเพื่อติดเข้ากับขายึดเพื่อต่อเข้ากับเซอร์โวมอเตอร์ของคุณ
เพื่อให้ได้การเคลื่อนไหวเชิงเส้นในแนวนอนและแนวตั้งที่ฉันต้องการ ฉันใช้ระบบสองแท่งที่ติดกับเซอร์โวพร้อมกับรางนำทางที่มีรูปร่างเหมือน T ที่พอดีกับเม็ดมีดรูปตัว T อีกอันในเรือและชิ้นส่วนคลื่น
ตัวยึดที่พิมพ์ 3 มิติยังสามารถปรับเปลี่ยนให้มีขนาดและพอดีได้ แต่สิ่งหนึ่งที่ควรทราบคือเส้นผ่านศูนย์กลางของรูจะต้องพอดีกันและบนเซอร์โวมอเตอร์ สำหรับเซอร์โวและการใช้งานของฉัน รูทั้งหมดมีเส้นผ่านศูนย์กลาง 5 มม. และราง T จะมีความกว้างน้อยกว่าเม็ดมีดที่ตั้งใจไว้ 1 มม.
หลังจากพิมพ์แล้ว อาจต้องขัดและตะไบเบาๆ เพื่อให้ชิ้นส่วนที่กระชับและเคลื่อนไหวได้
ขั้นตอนที่ 2: การประกอบ
การจัดวางชิ้นส่วนทั้งหมดของคุณเป็นสิ่งสำคัญสำหรับโปรเจ็กต์นี้ เพราะหากชิ้นส่วนเหล่านั้นไม่อยู่ในตำแหน่งที่ถูกต้อง การฉายภาพเงาของคุณจะไม่ถูกต้อง
เริ่มต้นด้วยการติดตั้งหน้าจอของคุณ ฉันใช้กระดาษสำเนาแผ่นเล็กๆ ระหว่างกรอบที่พิมพ์ 3 มิติที่ออกแบบมาให้ดูเหมือน 2 คอลัมน์และหน้าจั่ว
ถัดไปติดไฟ LED ของคุณอย่างหลวม ๆ (สำหรับการปรับเปลี่ยนในอนาคต) สำหรับ LED ฉันได้ติดตั้งภายนอกโดยเชื่อมต่อกับสายจัมเปอร์แล้วต่อกับแบตเตอรี่ 9 โวลต์ แต่คุณสามารถก้าวไปอีกขั้นและรวมเข้ากับ Arduino ดังนั้นคุณจึงไม่ต้องถอดสายออกด้วยตนเอง ไฟเปิดและปิด
เมื่อวางทั้ง LED และหน้าจอแล้ว ให้จัดตำแหน่งชิ้นส่วนที่เคลื่อนไหวของคุณระหว่างทั้งสองเพื่อให้คุณได้ภาพที่สมบูรณ์แบบที่คุณต้องการ จากนั้นเมื่อคุณมีมันแล้วจึงยึดเซอร์โวของคุณให้เข้าที่เพื่อป้องกันไม่ให้พวกมันเคลื่อนที่ไปรอบๆ (ฉันเพิ่งใช้ superglue).
จากจุดนี้เพียงแค่วางสายไฟ, Arduino, เขียงหั่นขนมและตัวรับสัญญาณ IR ไว้ที่ใดก็ได้ที่จะไม่รบกวนแสงและคุณทำเสร็จแล้ว
ขั้นตอนที่ 3: การเข้ารหัส
#รวม
#รวม
#define เล่น 0xFFC23D
int oscillate = 0; int RECV_PIN = 11; // ขารับสัญญาณ IR
เซอร์โวเซอร์โว;
เซอร์โวเซอร์โว2;
ค่า int; // การหมุนมุมมุม pos;
บูล cwRotation, ccwRotation; //สถานะของการหมุน
IRrecv irrecv(RECV_PIN);
ผลลัพธ์ decode_results;
การตั้งค่าเป็นโมฆะ ()
{ Serial.begin(9600);
irrecv.enableIRIn(); // เริ่มเครื่องรับ
servo2.attach(7); // เซอร์โวพินที่สอง
servo.attach(9); // เซอร์โวพิน
}
วงเป็นโมฆะ (){ ถ้า (irrecv.decode (&ผลลัพธ์)) {
Serial.println(ผลลัพธ์.ค่า HEX);
irrecv.resume(); // รับค่าต่อไป
if (results.value == เล่น || แกว่ง)
{
แกว่ง = 1;
servo.write(5); // บอกให้เซอร์โวไปที่ตำแหน่งในตัวแปร 'pos'
servo2.write(5);
ล่าช้า (400); // รอให้เซอร์โวไปถึงตำแหน่ง
servo.write(50); // บอกให้เซอร์โวไปที่ตำแหน่งในตัวแปร 'pos'
servo2.write (50);
ล่าช้า (400); // รอให้เซอร์โวไปถึงตำแหน่ง
}
}
}