สารบัญ:

3x3x3 LED Cube พร้อม Arduino Lib: 4 ขั้นตอน (พร้อมรูปภาพ)
3x3x3 LED Cube พร้อม Arduino Lib: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: 3x3x3 LED Cube พร้อม Arduino Lib: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: 3x3x3 LED Cube พร้อม Arduino Lib: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 3x3x3 LED Cube using Arduino UNO (UI Designed on LabVIEW) 2024, กรกฎาคม
Anonim
3x3x3 LED Cube พร้อม Arduino Lib
3x3x3 LED Cube พร้อม Arduino Lib

มีคำแนะนำอื่นๆ เกี่ยวกับการสร้างคิวบ์ LED ซึ่งมีความแตกต่างกันด้วยเหตุผลหลายประการ: 1. สร้างขึ้นด้วยส่วนประกอบนอกชั้นวางจำนวนน้อยและเชื่อมต่อกับ Arduino โดยตรง 2. แผนภาพวงจรที่ชัดเจนและง่ายต่อการทำซ้ำมีภาพถ่ายจำนวนมาก 3. ซอฟต์แวร์ใช้วิธีที่ไม่ซ้ำกันซึ่งทำให้การเขียนโปรแกรมคิวบ์ง่ายขึ้นและแสดงออกมากขึ้น ชิ้นส่วนที่ต้องการ: - 1 Perfboard - ทรานซิสเตอร์ NPN 3 ตัว (2N2222, 2N3904, BC547 ฯลฯ) - ตัวต้านทาน 12 ตัว (~220 โอห์มและ ~10k โอห์ม) - หัวต่อ 13 ตัว (ตัวผู้หรือตัวเมีย) - ไฟ LED 27 ตัว - สายไฟ

ขั้นตอนที่ 1: เตรียมไฟ LED

เตรียมไฟ LED
เตรียมไฟ LED
เตรียมไฟ LED
เตรียมไฟ LED

ขั้นตอนนี้ส่วนใหญ่จะเป็นไปตาม LED Cube 4x4x4 แต่เราจะสร้างลูกบาศก์ 3x3x3 แทน ลูกบาศก์ขนาดนี้มีขนาดใหญ่พอโดยไม่ต้องเพิ่มวงจรและความซับซ้อนเพิ่มเติม เราต้องการไฟ LED ทั้งหมด 27 ดวงที่จะจัดกลุ่มเป็นสามชุด ชุดละ 9 ดวง แต่ละชุดของไฟ LED เก้าดวงจะใช้การเชื่อมต่อร่วมกันระหว่างขั้วลบ (ขั้วลบ) ฉันจะอ้างถึงแต่ละชุดเหล่านี้เป็น "ระดับ" ไฟ LED เก้าดวงในแต่ละระดับเชื่อมต่อกับ LED ที่สอดคล้องกันในอีกสองระดับผ่านแอโนด (สายบวก) สิ่งเหล่านี้จะเรียกว่า "คอลัมน์" หากนั่นไม่สมเหตุสมผล มันก็จะอธิบายตัวเองได้เมื่อเราสร้างลูกบาศก์ ในการเริ่มต้น เราจะใช้สว่านเพื่อสร้างจิ๊กจากเศษไม้ชิ้นเล็กๆ จิ๊กจะยึดไฟ LED ไว้ในขณะที่เราประสานพวกมัน ฉันตัดสินใจเว้นช่องว่างระหว่างรูประมาณ 5/8 นิ้ว (~15 มม.) แต่ระยะห่างที่แน่นอนนั้นไม่สำคัญ รูควรจะแน่นพอดีรอบ LED เนื่องจากเราไม่ต้องการให้พวกมันเคลื่อนที่ไปรอบๆ ขณะบัดกรี เมื่อจับจิ๊กเสร็จแล้ว เราจะทำการงอแคโทดของ LED แต่ละดวงในมุม 90 องศา แคโทดสามารถระบุได้สามวิธี: 1) เป็นขาที่สั้นกว่า 2) อยู่ด้านแบนของ LED ทรงกลม 3) เชื่อมต่อกับชิ้นส่วนที่ใหญ่กว่าภายใน LED ตรวจสอบให้แน่ใจว่าคุณงอแคโทดไปในทิศทางเดียวกันสำหรับ LED ทั้งหมด ตอนนี้เราพร้อมที่จะเริ่มการบัดกรีแล้ว

ขั้นตอนที่ 2: ประสาน LEDs

ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED
ประสานไฟ LED

อันดับแรก วาง LED เก้าดวงในจิ๊กที่สร้างขึ้นใหม่ของคุณ จัดตำแหน่งให้ขาชี้ไปในทิศทางทวนเข็มนาฬิกาเดียวกัน ภาพถ่ายแสดงแคโทดที่ชี้ตามเข็มนาฬิกาโดยหันขั้วบวกออก แต่ฉันจะหมุน LED ไปรอบๆ ถ้าฉันทำอีกครั้งเพื่อป้องกันไม่ให้ขามาบังมุมมองของ LED ประสานด้านเข้าด้วยกันหนึ่งคู่ในแต่ละด้าน ใช้คลิปหนีบเล็กๆ ยึดขาไว้ด้วยกันขณะใช้บัดกรี เมื่อบัดกรีทั้งสี่ด้านแล้ว ให้ขยับคลิปเพื่อยึดมุมเข้าด้วยกันและใช้บัดกรีกับแต่ละด้าน สุดท้าย ประสานขั้วแคโทดของ LED ตรงกลางไปที่ด้านใดด้านหนึ่งแล้วตัดส่วนที่เกินออก ทำซ้ำสามครั้ง ตอนนี้คุณควรมีไฟ LED เก้าดวงสามชุด วางตำแหน่งสองชุดไว้ด้านบนของชุดอื่น รักษาระยะห่างให้เท่ากับระยะห่างที่กำหนดไว้แล้วระหว่าง LEDs เมื่อคุณพอใจกับระยะห่างแล้ว คุณสามารถหนีบขาแต่ละชุดโดยใช้คลิปสองตัว โดยแต่ละอันจะอยู่ในทิศทางใดทิศทางหนึ่ง เพื่อให้ขายึดอยู่กับที่ขณะบัดกรี คุณอาจต้องโค้งงอ LED เพื่อให้ได้การเชื่อมต่อที่ดี ประสานเก้าคู่ทีละคู่ ทำเช่นนี้อีกครั้งและคุณทำกับลูกบาศก์เสร็จแล้ว วางลูกบาศก์ที่ด้านหนึ่งของ perfboard ตรวจสอบให้แน่ใจว่าขาทั้งเก้าอยู่ในตำแหน่งที่เท่ากันในขณะที่คุณนำขาแต่ละข้างผ่านรู กระดานของฉันมีห้ารูระหว่างขาแต่ละชุด คุณต้องการเว้นที่ว่างไว้ที่ปลายอีกด้านหนึ่งของแผ่นไม้อัดให้มากที่สุดเพื่อให้พอดีกับส่วนประกอบต่างๆ เพิ่มคลิปสองสามคลิปเพื่อยึดขาให้เข้าที่เมื่อคุณพอใจกับตำแหน่งแล้ว ปล่อยให้ขาแหย่ด้านล่างมากเพราะจะทำให้บัดกรีตัวต้านทานได้ง่ายขึ้นในภายหลัง พลิกกระดานและประสานขาแต่ละข้างเพื่อให้เข้าที่ พลิกลูกบาศก์กลับด้านเมื่อบัดกรีขาทั้งหมดแล้ว สุดท้ายเราต้องประสานตะกั่วจากแต่ละระดับลงไปที่ด้านล่างของกระดาน ดึงลวดที่เป็นของแข็งออกแล้วงอตะขอเล็กๆ ที่ปลายข้างหนึ่ง แขวนตะขอบนขา LED ตรงกลางอันใดอันหนึ่งแล้วนำมันไปผ่านรูบนแผ่นไม้อัด ประสานปลายตะขอเพื่อให้ลวดเข้าที่ ทำซ้ำอีกครั้งสำหรับอีกสองระดับ ขั้นตอนต่อไปคือการสร้างวงจรที่เหลือ

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

สร้างวงจร
สร้างวงจร
สร้างวงจร
สร้างวงจร
สร้างวงจร
สร้างวงจร
สร้างวงจร
สร้างวงจร

วงจรค่อนข้างง่าย แต่ละคอลัมน์ทั้งเก้าจะเชื่อมต่อกับพินบน Arduino ผ่านตัวต้านทานจำกัดกระแส แต่ละระดับสามระดับเชื่อมต่อกับกราวด์ผ่านทรานซิสเตอร์ NPN เมื่อเปิดใช้งานโดยพิน Arduino เราจะใช้พินเอาต์พุตทั้งหมด 12 พินบน Arduino แต่มีไฟ LED 18 ดวงให้พลังงาน เคล็ดลับคือสามารถจุดไฟได้ทีละระดับเท่านั้น เมื่อระดับเชื่อมต่อกับกราวด์ ไฟ LED แต่ละดวงในระดับนั้นสามารถขับเคลื่อนแยกกันผ่านพิน Arduino ตัวใดตัวหนึ่งจากเก้าตัว หากเราปรับระดับแสงให้เร็วพอ ระดับนั้นจะปรากฏราวกับว่าทั้งสามระดับสว่างพร้อมกัน มาสร้างวงจรกันเถอะ ขั้นตอนแรกคือการเตรียมตัวต้านทานจำกัดกระแสเก้าตัว ฉันใช้ 220 โอห์มต่อพินซึ่งจะวาดประมาณ 22mA ค่าอาจแตกต่างกันไปขึ้นอยู่กับ LED ที่กำลังใช้งาน แต่จะอยู่ระหว่าง 135 ถึง 470 โอห์ม แต่ละพินสามารถจัดหาได้ถึง 40mA เพื่อประหยัดพื้นที่ เราต้องการประสานตัวต้านทานในแนวตั้ง งอตะกั่วหนึ่งอันลงเพื่อให้ลีดทั้งสองขนานกัน ทำเช่นนี้กับตัวต้านทานทั้งเก้าตัว เมื่อตัวต้านทานพร้อมแล้ว เราจะทำการประสานพวกมันทีละตัว เพื่อให้ง่าย เราจะประสานตัวต้านทานที่นำไปสู่ส่วนประกอบอื่นๆ โดยตรง แทนที่จะใช้สายแยกสำหรับแต่ละรายการ ปลายด้านหนึ่งของตัวต้านทานจะเชื่อมต่อกับคอลัมน์และอีกด้านหนึ่งจะเชื่อมต่อกับส่วนหัว เริ่มต้นด้วย LED แถวแรกที่ใกล้กับตัวต้านทานมากที่สุดและย้อนกลับ เมื่อแต่ละแถวเสร็จแล้ว คุณสามารถใช้เทปชิ้นเล็กๆ เพื่อแยกสายที่ทับซ้อนกันเพื่อป้องกันไม่ให้สายขาด ดูภาพและแผนภาพเพื่อดูว่าจะมีลักษณะอย่างไรเมื่อเสร็จสิ้น ตอนนี้คอลัมน์อยู่นอกทางแล้ว ขั้นตอนต่อไปคือการประสานส่วนประกอบที่ควบคุมระดับ ฐานของทรานซิสเตอร์ NPN จะถูกเปิดใช้งานโดยพิน Arduino ผ่านตัวต้านทานจำกัดกระแสที่ 10k (หรือประมาณนั้น) สิ่งนี้จะเชื่อมต่อระดับที่สอดคล้องกับกราวด์ซึ่งจะทำให้กระแสไฟไหลผ่าน LED อ้างถึงรูปภาพและไดอะแกรม เมื่อเสร็จแล้วไฟ LED ควรเชื่อมต่อกับพิน 2-10 บน Arduino และระดับควรเชื่อมต่อกับพิน 11-13 จากล่างขึ้นบน พินยังสามารถกำหนดค่าได้ในซอฟต์แวร์หากคุณต้องการการตั้งค่าอื่น วงจรเสร็จสมบูรณ์แล้ว ได้เวลาไปยังซอฟต์แวร์!

ขั้นตอนที่ 4: การใช้ซอฟต์แวร์

การใช้ซอฟต์แวร์
การใช้ซอฟต์แวร์
การใช้ซอฟต์แวร์
การใช้ซอฟต์แวร์

ฉันพบตัวอย่างโค้ดสองสามตัวอย่างที่ลอยอยู่รอบ ๆ 'เน็ตเพื่อควบคุมลูกบาศก์ LED พวกเขาทั้งหมดต้องการอาร์เรย์ขนาดใหญ่ของข้อมูลไบนารีหรือฐานสิบหกเพื่อควบคุม LED ฉันคิดว่าต้องมีวิธีที่ง่ายกว่านี้ ดังนั้นฉันจึงเริ่มเขียนซอฟต์แวร์ของตัวเอง การตัดสินใจครั้งแรกของฉันคือการทำให้ซอฟต์แวร์สะท้อนฮาร์ดแวร์ นั่นหมายถึงการระบุแต่ละ LED ตามคอลัมน์และระดับแทนที่จะใช้ข้อมูลพอร์ตดิบหรือ x, y, z แบบดั้งเดิม การตัดสินใจครั้งที่สองคือการเริ่มต้นด้วยฟังก์ชันพื้นฐาน เช่น การเปิดหรือปิดไฟดวงเดียว และสร้างขึ้นจากที่นั่น สุดท้ายนี้ ฉันตัดสินใจแนะนำคุณสมบัติสองอย่างซึ่งมีประโยชน์สำหรับเอฟเฟกต์ที่น่าสนใจยิ่งขึ้น หนึ่งคือบัฟเฟอร์ที่ช่วยให้ฟังก์ชันพื้นฐานสร้างรูปแบบที่ซับซ้อนมากขึ้น อีกฟังก์ชันหนึ่งคือฟังก์ชันซีเควนซ์ที่ส่องสว่างอาร์เรย์ของ LED ทีละดวงหรือทั้งหมดในคราวเดียว ห้องสมุดเริ่มต้นเป็นรหัสขั้นตอนและหน้าที่หลวม จากนั้น ทำตามบทช่วยสอนเพื่อสร้างไลบรารี Arduino ที่นำกลับมาใช้ใหม่ได้ง่ายมาก อย่าลืมดาวน์โหลดไลบรารี่และคลายซิปไปที่ Sketchbook/libraries หากตั้งค่าอย่างถูกต้อง คุณควรหาตัวอย่างในซอฟต์แวร์ Arduino ภายใต้ File > Examples > LedCube > ledcube รหัสนี้ยังมีอยู่ใน Github ที่ gzip/arduino-ledcube ขอบคุณที่อ่าน!

แนะนำ: