สารบัญ:

(POV) ความคงอยู่ของ Vision Globe: 8 ขั้นตอน (พร้อมรูปภาพ)
(POV) ความคงอยู่ของ Vision Globe: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: (POV) ความคงอยู่ของ Vision Globe: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: (POV) ความคงอยู่ของ Vision Globe: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เปิดชีวิตรัก พระเจ้าเฮนรีที่ 8 | Point of View 2024, กรกฎาคม
Anonim
Image
Image
(POV) ความคงอยู่ของ Vision Globe
(POV) ความคงอยู่ของ Vision Globe
(POV) ความคงอยู่ของ Vision Globe
(POV) ความคงอยู่ของ Vision Globe

!อัปเดต! ฉันได้เพิ่มโปรแกรม excel ที่ทำให้การวาดและโค้ดรูปภาพใหม่ง่ายขึ้นมาก

ความคงอยู่ที่เรียบง่ายของโลกแห่งการมองเห็น เล่นวีดีโอ

นี่เป็นโครงการที่ฉันคิดมาระยะหนึ่งแล้ว และการประกวด "Make It Glow" เป็นเพียงแรงจูงใจที่ฉันต้องการในการสร้างแรงบันดาลใจให้ฉันดึงจอแสดงผล LED POV แบบเก่า 5 จอออกมาและยกระดับไปอีกระดับโดยใช้กะ ทะเบียน หากคุณชอบคำแนะนำนี้โปรดพิจารณาลงคะแนนให้

บทนำอย่างรวดเร็วเกี่ยวกับ POV หรือการมองเห็นอย่างต่อเนื่อง: ไฟแรงดันไฟ AC ใด ๆ ที่จริงแล้วกะพริบเปิดและปิดที่ความถี่ 60hz หรือ 60 ครั้งต่อวินาที สมองของเรารับรู้ว่านี่เป็นแสงคงที่ นี่คือแนวคิดที่เราจะใช้ประโยชน์จากเพื่อสร้างภาพทรงกลมโดยใช้ LED แถวเดียว สำหรับโครงการนี้ ฉันตัดสินใจว่า LED 24 ดวงที่จัดลำดับโดยใช้รีจิสเตอร์กะ 8 บิตสามตัวจะให้ความละเอียดขั้นต่ำที่จำเป็นสำหรับโลก

ขั้นตอนที่ 1: วัสดุ

นี่คือสิ่งที่ผมใช้

  • (1) Arduino Uno (สำหรับการสร้างต้นแบบ)
  • (1) Bareduino (สำหรับบอร์ดถาวรก็ได้) VIRTUABOTIX LINK
  • (3) HC595N Shift Registers
  • (24) ไฟ LED สีฟ้า
  • (24) ตัวต้านทาน 220 โอห์ม
  • (1) เขียงหั่นขนม
  • (1) ที่ใส่แบตเตอรี่และแบตเตอรี่
  • (1) เส้นผ่านศูนย์กลาง 10 นิ้ว (กว้างพอที่จะใส่หลอด LED และยิ่งเบายิ่งดี)
  • (1) แกนเกลียว (ฉันใช้ 5/16")
  • (1) มอเตอร์ (ฉันใช้อันหนึ่งจาก Dirt Devil ตัวเก่า)
  • (1) ตัวต่อมอเตอร์
  • (1) 120V ตัดการเชื่อมต่อ (สวิตช์ไฟ)
  • (1) ตัวควบคุมความเร็วพัดลม

ขั้นตอนที่ 2: สร้างแหวน

สร้างแหวน
สร้างแหวน
สร้างแหวน
สร้างแหวน

ฉันใช้แท่งอลูมิเนียมแบนขนาดกว้าง 1/8" หนา x 1/2" สำหรับแหวนของฉัน และด้ายทั้งหมด 5/16" สำหรับเสากลาง เพราะฉันวางไว้รอบๆ แต่ฉันคิดว่าสิ่งนี้สามารถทำได้บน เครื่องพิมพ์ 3 มิติพร้อมตัวยึด PCB และเบากว่ามาก ฉันสร้างวงแหวนนี้สำหรับบิลด์ก่อนหน้าโดยใช้ไฟ LED 5 ดวงซึ่งแต่ละอันปิด DO แยกของ Arduino

ไม่มีอะไรพิเศษเกี่ยวกับเส้นผ่านศูนย์กลางของแหวน ของฉันก็ประมาณ รอบ 10 นิ้ว เพียงเพราะว่าแท่งแบนที่ฉันใช้นั้นยาว 3 ฟุตก่อน ฉันรีดมันด้วยแรงเฉือน/เบรก/ม้วนแบบ 3 ใน 1 จาก Harbor Freight แต่คุณสามารถสร้างวงแหวนรอบดิสก์ที่ตัดจากไม้อัดและ ได้ผลลัพธ์ที่ดี สำหรับเรื่องนั้น ฉันไม่เห็นเหตุผลที่ทำให้แหวนทำจากไม้ไม่ได้

ฉันเจาะรูสำหรับ LED ที่กึ่งกลางประมาณ 5/16 นิ้ว ระยะห่างนี้เต็มทั้งหมดยกเว้น 1 นิ้วที่ด้านบนและด้านล่างที่ด้านหนึ่งของวงแหวน คุณจะต้องขันโครงยึดตรงกลางวงแหวนเพื่อให้มีพื้นผิวสำหรับยึดเขียงหั่นขนม

ขั้นตอนที่ 3: การสร้างวงจร

การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร
การทำวงจร

นี่เป็นความพยายามครั้งแรกของฉันในการใช้ shift register ดังนั้นฉันจึงเริ่มค้นคว้าเกี่ยวกับไซต์ของ Arduino และพบตัวอย่างที่มีประโยชน์อย่างยิ่ง ซึ่งฉันได้แก้ไขเพื่อให้เหมาะกับความต้องการของฉัน คุณสามารถหาบทช่วยสอนที่ Arduino ShiftOut ที่ฉันใช้ "Code Sample 2.3 - Dual Defined Arrays" เป็นโค้ดพื้นฐานของฉัน เพิ่มเติมในภายหลัง

หากคุณปฏิบัติตามบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีส่งข้อมูลทีละน้อยแบบอนุกรมจาก Arduino ของคุณไปยัง shift register การจัดเรียงนี้ช่วยให้คุณควบคุม LED ทั้ง 24 ดวงในโครงการนี้โดยมีเพียง 3 พินบน Arduino เราจะใช้ความสามารถแบบอนุกรมเข้าขนานออกของ 74HC595 เพื่อโหลดข้อมูล 24 บิตหรือ 3 ไบต์ลงในรีจิสเตอร์กะแล้วย้ายข้อมูลออกแบบขนานกับไฟ LED

เนื่องจากข้อมูลบิตแรกที่เราโหลดจะสิ้นสุดที่จุดลงทะเบียนสุดท้าย เราจะแนบ LED1 หรือ LED ใต้สุดกับ QO ของ Shift Register ตัวแรก ทำตามแผนผังจากตัวอย่าง ShiftOut และแนบรีจิสเตอร์กะที่สามกับอันที่สอง ในลักษณะเดียวกับที่แนบกับอันที่สองกับอันแรก

ฉันแนะนำให้รันโค้ดตัวอย่างไปพร้อมกัน ขั้นแรกด้วยการลงทะเบียนเพียงครั้งเดียว จากนั้นจึงใช้สองโค้ด โค้ดตัวอย่างจะจัดลำดับไฟเพื่อให้มองเห็นได้ง่ายว่ามีสิ่งใดขาดสายหรือไม่ ฉันสามารถเพิ่ม Byte3 ลงใน "Code Sample 2.3 - Dual Defined Arrays" และอาร์เรย์ที่สามที่ฉันเรียกว่า Blue คุณสามารถดูสิ่งนี้ได้ในโค้ด ShiftOutArrayByte3R1 ที่อัปโหลดไปยังขั้นตอนนี้

ขั้นตอนที่ 4: นำทุกอย่างมารวมกัน

วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน

ตอนนี้มั่นใจแล้วว่าวงจรใช้งานได้แล้ว เราจำเป็นต้องติดตั้งทุกอย่างเข้ากับวงแหวน ฉันแนะนำให้ติดตั้ง Arduino/Bareduino ของคุณที่ด้านหนึ่งและ Shift Register Board ของคุณตรงข้ามกับ Arduino วิธีนี้จะช่วยลดน้ำหนักได้ แต่ส่วนใหญ่แล้วคุณจะต้องเคลื่อนตัวไปรอบๆ จนกว่าจะได้การหมุนที่คงที่ ฉันใช้แบตเตอรี่ขนาด 9 โวลต์ที่ด้านข้างที่ต้องการเพื่อเพิ่มน้ำหนัก ฉันใช้ซิปเพื่อติดบอร์ดและแบตเตอรี่เข้ากับเสากลาง ด้วยวิธีนี้ ฉันจึงสามารถปรับเปลี่ยนเพื่อให้แหวนมีความสมดุล

ตอนนี้เพื่อประสานไฟ LED ทั้งหมด เนื่องจากเรากำลังควบคุมแรงดันไฟฟ้าบวกของ LED เราจึงสามารถเชื่อมต่อสายนำแคโทดทั้งหมดเข้าด้วยกันด้วยลวดที่ไม่หุ้มฉนวนเส้นเดียวแล้วเสียบเข้ากับกราวด์ของเรา จากนั้นเราจำเป็นต้องประสานตัวต้านทานกับตะกั่วแอโนดของ LED แต่ละตัวแล้วต่อสายจากตัวต้านทานไปยังขาเอาต์พุตรีจิสเตอร์รีจิสเตอร์ที่สอดคล้องกัน ฉันทิ้งไว้ในฟังก์ชัน Blink All ในลูปการตั้งค่าเพื่อให้ทราบว่าไฟ LED ดับหรือไม่

ขั้นตอนที่ 5: การวาดลูกโลก

วาดลูกโลก
วาดลูกโลก
วาดลูกโลก
วาดลูกโลก
วาดลูกโลก
วาดลูกโลก

!!อัปเดต!! ตอนนี้คุณสามารถวาดโดยใช้โปรแกรม excel ซึ่งแปลงรูปภาพเป็นเลขฐานสิบหกสำหรับคุณ รหัสสำหรับอาร์เรย์สีแดง สีน้ำเงิน และสีเขียวของคุณสามารถคัดลอกและวางลงในแบบร่าง Arduino เพียงเติม 1 ที่คุณต้องการให้ LED ติด และเซลล์จะเปลี่ยนเป็นสีน้ำเงินโดยอัตโนมัติ! โปรแกรม Excel ถูกอัปโหลดไปยังขั้นตอนนี้ ขอบคุณ Rave Shades ที่สอนได้สำหรับการโพสต์ Rave Shades Animator ซึ่งได้รับการแก้ไขสำหรับโครงการนี้

ตกลง. ตอนนี้เพื่อรับงานศิลปะ ฉันเลือกลูกโลกเพราะคิดว่าจะเป็นวิธีที่ยอดเยี่ยมในการสร้างการแสดงภาพทรงกลม 360 องศาโดยใช้ POV แต่ฉันจะพยายามแสดงในขั้นตอนนี้และขั้นตอนถัดไปว่าจะสร้างภาพใดๆ ที่คุณวาดด้วยความละเอียด 24x70 ได้อย่างไร.

อันดับแรก ฉันพบภาพแผนที่โลกที่เหมาะสมเพื่อใช้เป็นแนวทาง จากนั้นฉันก็พบแอปบน Google Play ชื่อ "Mosaic Builder" ที่เหมาะกับความต้องการของฉัน ดังที่คุณเห็นในภาพสุดท้ายในขั้นตอนนี้ ฉันสามารถสร้างรูปภาพแผนที่โลกในเวอร์ชันความละเอียดต่ำบนเทมเพลต 24x70 ของฉันได้ FYI 24 มาจากข้อมูล 3 ไบต์และดังนั้น 24 LEDs สูงและ 70 มาจากการหารเส้นรอบวงของวงแหวนของฉันด้วย 5/16" เพื่อให้ระยะห่างในแนวนอนใกล้เคียงกับระยะห่างแนวตั้งของ LEDs กว้าง 70 จุด จะแตกต่างกันไปตามขนาดของแหวน แต่ไม่สำคัญ โดยเฉพาะอย่างยิ่งไม่สำคัญเนื่องจากเราไม่ได้ใช้เซ็นเซอร์ประเภทใด ๆ เช่น LED อินฟราเรดเพื่อตรวจจับการหมุนที่สมบูรณ์และรีเซ็ตลูป นี่คือสิ่งที่ฉันอาจ พิจารณาในอนาคต แต่สำหรับตอนนี้ตราบใดที่เรามีการควบคุมความเร็วบนมอเตอร์เซ็นเซอร์ก็ไม่จำเป็น

เมื่อคุณได้ภาพวาดแล้ว คุณพอใจกับมันแล้ว คุณสามารถแปลงรูปภาพเป็นรหัสฐานสิบหกโดย Byte ได้ในขั้นตอนถัดไป

ขั้นตอนที่ 6: รหัส

รหัส
รหัส
รหัส
รหัส
รหัส
รหัส

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

ดังที่ได้กล่าวไว้ก่อนหน้านี้ ฉันใช้ "Code Sample 2.3 - Dual Defined Arrays" จากตัวอย่าง Arduino ShiftOut เป็นฐานของฉัน ดังที่คุณเห็นในโค้ดนี้ ผู้เขียนเห็นว่าเขาไม่แน่ใจว่า Arduino สามารถจัดการค่าไบนารีโดยตรงได้หรือไม่ ดังนั้นจึงใช้ค่าเลขฐานสิบหกแทน หมายเหตุ: ฉันไม่เคยเปลี่ยนความคิดเห็นไบนารีถัดจากค่า Hex ฉันเพียงเปลี่ยนค่า Hex เพื่อให้พอดีกับภาพแผนที่โลกของฉัน

นี่เป็นเพียงครั้งที่สองที่ฉันได้เห็น Hex และฉันก็ไม่ค่อยรู้เรื่อง ฉันพบแผนภูมิการแปลงเลขฐานสิบหก - ไบนารีที่แนบมาซึ่งช่วยได้อย่างมาก แผนภูมินี้สามารถใช้เพื่อแปลงค่าไบนารีของแต่ละคอลัมน์หรือ (ไบต์) เป็นค่าฐานสิบหก ตัวอย่างเช่น หากคุณดูภาพสุดท้ายในขั้นตอนนี้ คุณจะเห็นได้ว่าภาพแผนที่โลกแบ่งออกเป็นสามส่วนจากบนลงล่างได้อย่างไร และแต่ละคอลัมน์ประกอบด้วย 3 ไบต์ โดยที่สีขาวหรือปิด = 0 และสีน้ำเงินหรือเปิด = 1 ที่ ด้านล่างของแต่ละคอลัมน์ที่ไบต์ถูกแปลงเป็นค่าเลขฐานสิบหกตั้งแต่ 00 & FF ซึ่งเทียบเท่ากับช่วงค่าทศนิยม 0-255 หรือช่วงไบนารี 00000000 ถึง 11111111

โค้ดที่แนบมามีการโหลดอิมเมจ Globe แต่สามารถปรับเปลี่ยนเป็นรูปภาพของคุณเองได้

ขั้นตอนที่ 7: การทดสอบ

Image
Image
การทดสอบ
การทดสอบ

ก่อนที่ฉันจะเริ่มสร้างฐานและฐานยึดมอเตอร์ ฉันคิดว่าฉันจะทดสอบและปรับแต่งวงจร ฉันเพียงแค่โยนแท่นขุดเจาะลงในสว่านไร้สาย เปิดทุกอย่างแล้วเหนี่ยวไก ฉันต้องปรับการหน่วงเวลาเป็น 1 มิลลิวินาที และความพยายามครั้งแรกของฉันทำให้รัสเซียอยู่ทางใต้ของออสเตรเลีย ฉันยังได้เรียนรู้ว่ารูปภาพแสดงโดยคว่ำจากที่ฉันคาดไว้ ซึ่งเป็นวิธีแก้ไขง่ายๆ ในการพลิกวงแหวนทั้งหมด วิดีโอที่แนบมานี้เป็นการทดสอบที่ประสบความสำเร็จครั้งสุดท้ายของฉัน ตอนนี้ถึงเวลาสำหรับฐานที่มีมอเตอร์ถาวรและตัวควบคุมความเร็ว

เล่น LEAD GLOBE TEST

ขั้นตอนที่ 8: เสร็จสิ้น

จบ!
จบ!
จบ!
จบ!
จบ!
จบ!

ฉันต่อสวิตช์ไฟเพื่อตัดการเชื่อมต่อสำหรับมอเตอร์ของฉัน จากนั้นจึงต่อสายตัวควบคุมความเร็วพัดลมระหว่างตัวตัดการเชื่อมต่อและมอเตอร์ วิธีนี้ทำให้ฉันสามารถปิดเครื่องได้อย่างรวดเร็วและสามารถควบคุมความเร็วของมอเตอร์ได้ดีพอสมควร ตอนนี้ฉันต้องการวิธีเชื่อมต่อมอเตอร์กับโลก เพลาของมอเตอร์คือ 17/64" และเกลียวทั้งหมดที่ฉันใช้สำหรับโลกคือ 5/16" ข้อต่อขนาด 5/16" อาจเป็นแค่กลอุบาย แต่น่าเสียดายที่ฉันมีข้อต่อเพียง 3/8" ซึ่งไม่มีประโยชน์ แต่ฉันพบสต็อคอลูมิเนียมทรงกลม 1/2" และตัดเป็นชิ้นยาว 2" แล้วเจาะรู 17/64" ผ่านตรงกลาง ขนาดรูนี้เหมาะสำหรับการกรีดเกลียว 5/16-18 ครึ่งทางผ่าน สต็อกกลม ฉันยังเจาะและเคาะรูเล็ก ๆ ผ่านด้านข้างเพื่อเกลียวในสกรูชุดสำหรับเพลามอเตอร์จากนั้นฉันเกลียวในโลกและใช้น็อตยึดเพื่อยึด มอเตอร์ Dirt Devil หมุนเร็วพอที่จะทำให้รูแตก เลยต้องปรับความเร็วให้ต่ำที่สุดเท่าที่จะทำได้ ที่ความเร็วนี้ มอเตอร์จะไม่หมุนจริง ๆ ทำให้การเดินเครื่องค่อนข้างยุ่งยาก สิ่งที่ต้องทำคือ ไม่ให้โลกหมุนและค่อยๆ ยกเครื่องขึ้น ความเร็วจนกระทั่งมอเตอร์เริ่มทำงาน จากนั้น ฉันก็สามารถลดความเร็วลงและปล่อยโลกได้ ในที่สุด ด้วยการปรับจูนที่ละเอียดอ่อนบางอย่าง ฉันจะได้รับเอฟเฟกต์การหมุนช้าที่ยอดเยี่ยม

เล่นวีดีโอ

แนะนำ: