Arduino cube 8x8x8

.

.

Arduino cube 8x8x8

อภิรักษ์ นามแถ่ง

งบประมาณ 2,000 บาท

 

โครงงานนี้จะเป็นการหยิบเอา Arduino UNO R3 มาใช้ควบคุมการแสดงผลของ LED ทรงลูกบาศก์สามารถแสดง Animation ต่างๆ ได้อย่างสวยงาม เหมาะสำหรับท่านที่ชื่นชอบการแสดงผลในรูปแบบที่แตกต่างจากเดิม

หลอดแอลอีดีถูกนำมาใช้กับงานหลายๆ อย่าง ไม่ว่าจะเป็นการติดกระพริบวูบๆ วาบๆ ตามจังหวะ หรือนำเอาหลอดแอลอีดีมาแสดงผลในรูปอื่นๆ อาทิเช่น ให้แสงสว่างในยามกลางคืนหรือการใช้ทำป้ายไฟแสดงข้อความในรูปแบบต่างๆ แต่การแสดงยังมีแบบที่น่าตื่นตาตื่นใจอีกแบบหนึ่ง คือ การแสดงผลในรูปแบบของ 3 มิติ เราจะมีวิธีการทำอย่างไรเชิญอ่านต่อได้เลยครับ

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

รูปที่ 1 วงจรสมบูรณ์ (คลิกที่รูปเพื่อขยายให้ชัดขึ้นครับ)

รูปที่ 2 วงจรการต่อแอลอีดีแต่ละชั้น

การทำงานของวงจร

การต่อวงจรหลอดแอลอีดีจะมีการจัดหลอดแอลอีดีออกเป็นกลุ่มๆ (ชั้นของแอลอีดี) แต่ละกลุ่มจะประกอบด้วยแอลอีดีทั้งหมด 64 หลอด ใช้ขาแคโทด (ขาลบ) เป็นจุดร่วม แอลอีดีแต่ละหลอดถูกขับให้สว่างด้วยไอซี 74HC595 (1 to 8 Shift Register) เป็นไอซีที่ทำหน้าที่รับข้อมูลแบบอนุกรมและสั่งออกที่ขาเอาต์พุต 8 บิต วงจรจะเป็นการไดร์ฟเรียงกันแบบอนุกรม โดยใช้ขา Qout (ขาที่ 9) ของตัวแรกไปต่อเป็นอินพุตของตัวที่สอง (ขาที่ 14) และขา Qout ของตัวที่สองจะต่อกับขาอินพุตของตัวถัดไปจนครบทั้งหมด 8 ชุด จะได้ทั้งหมด 8×8=64 หลอด

สำหรับขาสัญญาณนาฬิกา (Clock ขาที่ 11) จะใช้เพื่อควบคุมการรับข้อมูล ครั้งละ 1 บิตต่อสัญญาณนาฬิกา 1 ลูก เมื่อรับข้อมูลครบจำนวน 8 บิต จะจ่ายพัลส์ที่ขาแลตช์ (Latch ขาที่ 12) จำนวน 1 ครั้ง จากนั้นข้อมูลที่ถูกชิฟต์เข้ามาจะถูกส่งออกไปที่ขาเอาต์พุตของตัวไดร์ฟ

เนื่องจากขาสัญญาณนาฬิกาและขาแลตช์จะถูกต่อเชื่อมถึงกันทุกตัว หากขาสัญญาณทั้งหมดต่อกันโดยตรงอาจเกิดปัญหาได้เนื่องจากกระแสไม่เพียงพอ ดังนั้นจึงจำเป็นต้องมีการออกแบบวงจรบัฟเฟอร์ โดยใช้ 74HC245 ที่ทำหน้าที่เป็นบัฟเฟอร์เพื่อทำการยกระดับกระแสเอาต์พุตและมีการกระจายออกเป็น 2 ชุดที่ขาสัญญาณนาฬิกาและขาแลตช์ จะเห็นว่ามีการแบ่งขาเข้าออกเป็น 2 ตำแหน่ง (ยกตัวอย่างเช่น ขาสัญญาณนาฬิกาเข้าที่ขา 16, 13 และฝั่งขาออกที่ขา 4 และขา 7 ของไอซี 74HC245) และเอาต์พุตที่ได้จะถูกแบ่งออกไปให้กับ 74HC245 ขาละ 4 ตัว โดยทั้ง 4 ตัวจะมีการต่อขาสัญญาณนาฬิกาและขาแลตช์ถึงกัน

การส่งข้อมูลเพื่อควบคุมเพื่อการติด/ดับของหลอดแอลอีดีทั้ง 64 หลอด โดยปกติแล้วจะต้องส่งข้อมูลแบบอนุกรมไปจำนวน 64 ครั้งและใช้สัญญาณนาฬิกา 64 ลูก ซึ่งวงจรในส่วนนี้จะออกแบบเพื่อประหยัดเวลาในการส่งข้อมูล โดยจะแบ่งข้อมูลออกเป็น 2 ชุด เพื่อเป็นการลดจำนวนการส่งข้อมูลให้เหลือ 32 ครั้งต่อการแสดงผล 1 รอบ และนี่ก็เป็นอีกหนึ่งเหตุผลที่แบ่ง 74HC595 ออกเป็น 2 ชุดนั่นเอง

คุณสมบัติของแอลอีดีจะไม่สามารถต่อใช้งานกับแรงดันที่ 5 โวลต์โดยตรงได้ ซึ่งการต่อแอลอีดีกับไอซีไดร์ฟโดยตรงจะเกิดความเสียหายกับหลอดแอลอีดีได้ เนื่องจากสถานะลอจิกสูงที่ขาเอาต์พุตของไอซีชนิด TTL จะมีค่าแรงดันใกล้เคียงกับระดับแรงดันไฟเลี้ยง (โวลต์) ดังนั้นจึงจำเป็นต้องต่อตัวต้านทานค่าระหว่าง 390 ถึง 680 โอห์ม เพื่อลดแรงดันที่ตกคร่อมแอลอีดีให้อยู่ระหว่าง 2.5 ถึง 3.0 โวลต์โดยประมาณ

การควบคุมการติดและดับของแอลอีดีแต่ละชั้นจะใช้ทรานซิสเตอร์ชนิด NPN ควบคุมขาแคโทด (cathode) ของแต่ละชั้น ซึ่งสัญญาณที่ได้นี้จะถูกส่งออกจาก IC9 การกำหนดลอจิกสูงที่ขาเบสจะทำให้ทรานซิสเตอร์ทำงาน และถ้ากำหนดให้ลอจิกที่เอาต์พุตของ 74HC595 เป็นสถานะลอจิกสูงจะทำให้แอลอีดีนั้นติดสว่าง และในทางกลับกันหากสถานะลอจิก 74HC595 มีสถานะเป็นลอจิกต่ำหลอดแอลอีดีนั้นจะดับ สัญญาณส่วนนี้จะเชื่อมต่อกับชุดขับของแต่ละชั้นโดยมีการเรียงลำดับ O0-O7 โดยจะเรียงจากแอลอีดีชั้นที่ 1 จนถึงชั้นที่ 8

รูปที่ 3 เจาะแผ่นอะคริลิกเพื่อเตรียมใส่แอลอีดีขนาด 8×8

รูปที่ 4 พับขาลบของแอลอีดีตั้งฉาก 90 องศากับขั้วบวก

รูปที่ 5 กำหนดการวางหลอดแอลอีดีบนแผ่นอะคริลิก

การประกอบ

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

ส่วนที่ยากสำหรับส่วนนี้ คือ การประกอบแอลอีดี 8 ชั้น ก่อนอื่นต้องเตรียมอุปกรณ์เพื่อให้สามารถประกอบแอลอีดีได้ง่ายขึ้น โดยการนำแผ่นอะคริลิกขนาด 20×20 เซนติเมตร และตีตารางเป็นรูปสี่เหลี่ยมขนาด 16×16 เซนติเมตรและแบ่งย่อยเป็นรูป 4 เหลี่ยมขนาด 2×2 เซนติเมตร ซึ่งใช้เป็นระยะห่างของการวางหลอดแอลอีดี จะได้ตำแหน่งของแอลอีดีในแกนนอนจำนวน 8 หลอดและในแนวแกนตั้งจำนวน 8 หลอด จะได้จำนวนหลอดที่วางในรูปแบบสี่เหลี่ยมจัตุรัส ทั้งหมด 8×8 หรือเท่ากับ 64 หลอด นำดอกสว่านขนาด 5 มิลลิเมตร เจาะรูตรงตำแหน่งที่กำหนดไว้บนแผ่นพลาสติกที่ถูกกำหนดไว้จนครบทุกรู (ดังรูปที่ 3)

นำหลอดแอลอีดีมาพับขาแคโทด (Cathode) ตั้งฉาก 90 องศากับขาแอโนด (Anode) ของหลอดแอลอีดี (ดังรูปที่ 4) จากนั้นให้นำแอลอีดีที่ถูกพับขาแล้วใส่ลงในช่องที่ถูกเจาะไว้บนแผ่นอะคริลิกโดยหันขาแคโทดไปในแนวเดียวกัน (ขาวมือ) ให้ใส่ทีละ 8 หลอด (1 แถว) สังเกตว่าขาแคโทดของหลอดแอลอีดีทางซ้ายมือ จะไปชนกับขาแคโทดของหลอดแอลอีดีของดวงถัดไป (จากซ้ายไปขวามือ) บัดกรีขาแคโทด เชื่อมติดกันทั้ง 8 หลอด และให้ใส่หลอดแอลอีดีในแถวถัดไปจนครบทั้งหมด 8 แถว เพราะฉะนั้นจะได้จำนวนหลอดแอลอีดีทั้งหมด 64 หลอด และขาแคโทดของหลอดแอลอีดีทั้งหมด 64 หลอด บัดกรีเชื่อมถึงกันทุกหลอด (ดังรูปที่ 6) จากนั้นบัดกรีให้ครบทั้ง 8 ชั้นเพื่อเตรียมสำหรับขั้นตอนต่อไป

รูปที่ 6 กำหนดการวางแอลอีดีหนึ่งชั้นจำนวน 64 หลอดบนแผ่นอะคริลิก

รูปที่ 7 การต่อหลอดแอลอีดีเรียงเป็นชั้นๆ

หลังจากทำการบัดกรีหลอดแอลอีดีครบทั้งหมด 8 ชุดเรียบร้อยแล้ว ก่อนที่จะนำแอลอีดีมาต่อเชื่อมเข้าหากันเป็นชั้นๆ เพื่อความมั่นใจว่าจะไม่เกิดความผิดพลาดขึ้น อาทิเช่น แอลอีดีขาดเนื่องจากใช้ความร้อนสูงเกินไป, การสลับตำแหน่งขั้วแอโนดและขั้วแคโทด เป็นต้น ซึ่งหากไม่มีการตรวจสอบก่อนทำการประกอบเป็นชั้นๆ จะเป็นการยากต่อการแก้ไขในภายหลัง ให้ทำการทดสอบแอลอีดีทุกหลอด โดยนำแบตเตอรี่ขนาด 3 โวลต์ ใช้เชื่อมต่อขั้วลบของแบตเตอรี่เข้ากับจุดคอมมอน (Common) ซึ่งก็คือขาแคโทดของแอลอีดีของทุกหลอดนั่นเอง และนำขั้วบวกของแบตเตอรี่สัมผัสที่ขาแอโนดของหลอดแอลอีดีทีละหลอด หากไม่ข้อผิดพลาดอะไรแอลอีดีแต่ละหลอดจะต้องติดสว่าง

รูปที่ 8 ลายวงจรพิมพ์ด้านบน (Top Layer)

รูปที่ 9 ลายวงจรพิมพ์ด้านล่าง (Bottom Layer)

รูปที่ 10 ตำแหน่งการลงอุปกรณ์ (Top Overlay)

เมื่อทดสอบการทำงานของหลอดแอลอีดีทุกหลอดในแต่ละชุดแล้ว การประกอบแอลอีดีเข้าหากันในแต่ละชั้นให้เว้นระยะความสูงของแต่ละชั้นประมาณ 1.5 เซนติเมตร โดยให้นำขาแอโนดของแอลอีดีทำการหักมุมที่ปลายขา แล้วนำมาต่อกันโดยนำขาแอโนดของขั้นที่สองมาต่อชั้นที่หนึ่ง (ดังรูปที่ 7) และทำการทดสอบโดยใช้ขั้วลบของแบตเตอรี่มาจับจุดคอมมอนของชั้นที่หนึ่ง และนำขั้วบวกของแบตเตอรี่ไปสัมผัสที่ขาแอโนดของหลอดแอลอีดีชั้นที่สอง สังเกตว่าหลอดแอลอีดีของชั้นที่หนึ่งจะติด เนื่องจากขาแอโนดของแอลอีดีแต่ละชั้นจะเชื่อมต่อถึงกัน ทำเช่นนี้ไปจนประกอบครบจำนวน 8 ชั้น

หลังจากที่บัดกรีแอลอีดีครบทั้ง 8 ชั้นแล้ว ขั้นตอนต่อมาให้ทำการลงอุปกรณ์บนบอร์ดแสดงผล (ดังรูปที่ 10) ทำการบัดกรีตัวต้านทาน, 74HC245, 74HC595 และทรานซิสเตอร์ สำหรับการบัดกรีไอซีอาจจะทำโดยการบัดกรีลงบอร์ดหรือใส่ซ็อกเก็ตก็ได้ตามความสะดวก หากเป็นแผ่นวงจรพิมพ์สองหน้าที่ไม่ใช่แบบ PTH หรือ Plated Through Hole จะต้องมีตำแหน่งบัดกรีขาอุปกรณ์ด้านบนด้วย เมื่อลงอุปกรณ์จนครบทุกตัวแล้ว ให้ตรวจสอบความถูกต้องตำแหน่งค่าและขั้วของอุปกรณ์อีกครั้ง และให้นำแอลอีดีที่ประกอบเป็นชั้นๆ วางลงแผ่นวงจรพิมพ์ โดยให้ขาแคโทดของชั้นล่างสุดไปบัดกรีบนแผ่นลายวงจรพิมพ์ การวางแผงแอลอีดีไม่ควรให้เอียงไปข้างใดข้างหนึ่ง ซึ่งจะต้องให้อยู่ในแนวระนาบจะต้องตั้งฉากกับพื้นแผ่นลายวงจรพิมพ์จึงจะได้ผลดีที่สุด

รูปที่ 11 การเชื่อมต่อขาแอโนดของแต่ละชั้น

การทดสอบการทำงาน

ทำหลังจากที่ทำการบัดกรีอุปกรณ์ลงแผ่นลายวงจรพิมพ์เรียบร้อย ก่อนทำการทดสอบให้อัพโหลดโปรแกรมลงบน Arduino UNO ของเราเสียก่อน สามารถดาวน์โหลดโปรแกรมได้ที่เว็บไซต์ http://electronics.se-ed.com/download จากนั้นเชื่อมต่อสายสัญญาณและสายไฟจากบอร์ด Arduino UNO มายังบอร์ด LED Cube ของเรา ซึ่งจะมีทั้งมหด 5 ขา คือสัญญาณ SPI จำนวน 3 ขาและแหล่งจ่ายอีก 2 ขา (VCC และ GND) เสร็จแล้วให้ต่อไฟฟ้ากระแสตรง 5 โวลต์ที่ตำแหน่ง CON2 (หรือใช้แรงดันจากพอร์ท USB จากคอมพิวเตอร์ก็ได้) สังเกตว่าที่หลอดแอลอีดีจะแสดงผลตามข้อมูลที่ถูกโปรแกรมไว้ หากผลการทดสอบการทำงานเป็นไปตามที่กล่าว ผู้อ่านก็สามารถนำประยุกต์การใช้งานแบบอื่นๆ ได้

สำหรับความสว่างของหลอดแอลอีดีหากจะทำให้ดูให้ชัดเจนยิ่งขึ้นให้นำแผ่นอะคริลิกแบบขาวขุ่นนาด 18×18 เซนติเมตรมาปิดหมดทั้ง 5 ด้านรวมด้านบนด้วย

 

รายการอุปกรณ์

ตัวต้านทานขนาด 1/4 วัตต์ 1%

R1-R64-     470            64            ตัว

R65-R72-       1K         8             ตัว

ตัวเก็บประจุ

C1–C3-     0.1uF 50V โพลีเอสเตอร์         3           ตัว

อุปกรณ์สารกึ่งตัวนำ

IC1-IC9-    74HC595                  9                 ตัว

Q1–Q8-      2N2222                   8                 ตัว

LED1–LED512-     แอลอีดีซูเปอร์ไบรต์สีน้ำเงิน 5 มม.               512              ตัว

อื่นๆ

Arduino-        Arduino UNO R3            1               ตัว

CON1-         คอนเน็กเตอร์ 5 ขา        1               ตัว

CON2-     คอนเน็กเตอร์ 2 ขา           6               ตัว

หมายเหตุ ซอร์สโค้ดสามารถดาวน์โหลดได้ที่เว็บไซต์ http://electronics.se-ed.com/download

 

 

Leave a Comment