DIY 3X3X3 LED Cube กับ Arduino
ARDUINO
ในโครงการนี้เราจะออกแบบ3x3x3 LED CUBEและเชื่อมต่อกับ Arduino UNO เพื่อให้ได้รูปแบบที่แตกต่างกัน สำหรับผู้เริ่มต้นเราจะเริ่มต้นด้วยรูปแบบง่ายๆ
ชุดลูกบาศก์ LED 3 * 3 * 3 ที่เชื่อมต่อกับ UNO จะแสดงในภาพด้านบนประกอบด้วยลูกบาศก์ประกอบด้วย 27 ไดโอดเปล่งแสงซึ่ง 27 LED เหล่านี้จัดเรียงเป็นแถวและคอลัมน์เป็นก้อน
มีหลายประเภทที่สามารถออกแบบได้ ที่ง่ายที่สุดที่หนึ่งคือ3x3x3 ก้อนไฟ สำหรับลูกบาศก์ LED ขนาด 4 * 4 * 4 ทำงานเกือบเท่าตัวเนื่องจากคุณต้องทำงานสำหรับไฟ LED 64 ดวง ด้วยจำนวนที่สูงกว่าแต่ละงานเกือบสองเท่าหรือเท่าตัว แต่ทุกก้อนทำงานมากขึ้นหรือน้อยลงด้วยวิธีเดียวกัน
3x3x3 LED cube เป็นแบบที่ง่ายที่สุดเนื่องจากมีข้อดีบางอย่างในการออกแบบเช่นนี้
- สำหรับก้อนนี้คุณไม่จำเป็นต้องกังวลเกี่ยวกับการใช้พลังงานหรือการกระจาย
- ความต้องการใช้พลังงานต่ำ
- เราไม่จำเป็นต้องเปลี่ยนอุปกรณ์อิเล็กทรอนิกส์ใด ๆ สำหรับก้อนนี้
- เราจำเป็นต้องมีเทอร์มินอลลอจิกน้อยกว่าดังนั้นเราจึงไม่จำเป็นต้องมีรีจิสเตอร์เปลี่ยนหรืออะไรแบบนั้น
เราไม่จำเป็นต้องกังวลเกี่ยวกับพลังงานที่วาดโดย LED เพราะ LED มักจะกล่าวถึงการทำงานที่ 20mA ปัจจุบัน แต่ที่ไม่ถูกต้องตัวเลขที่ให้กระแสไฟฟ้าสูงสุดที่อนุญาตผ่าน LED โดยปกติ LED ทำงานได้ดีตั้งแต่ 2mA ถึง 5mA อะไรที่สูงกว่านั้น LED จะร้อนอย่างแรงและมันจะไหม้ออก
ดังนั้นเราจึงสามารถขับ 9 LEDs แบก 2mA ปัจจุบันจากขาเดียวของ UNO กับไม่มีปัญหา หมุด UNO มีความสามารถในการส่งมอบ 20-30mA
สำหรับลูกบาศก์ฉันเลือก LED สีขาวใสเพราะฉันมีอะไหล่ไว้ คุณสามารถเลือกชนิด LED หรือสีที่คุณเลือกได้ แต่ LED ที่มีสีจะทำงานได้ดีสำหรับโครงการนี้
สำหรับลูกบาศก์เราจำเป็นต้องสำรอง 12 หมุดของ UNO
ส่วนประกอบที่ต้องการ:
ARDUINO UNO, รีเลย์220Ω (3 ชิ้น), แหล่งจ่ายไฟ (5v),
27 LEDs ขาว, ลวด Breadboard,
Soldering Iron, สายบัดกรีและฟลักซ์,
ปุ่มเซลล์ SR2032, เครื่องมือบางอย่าง,
และกล่องกระดาษแข็งเปล่าดินสอไม้บรรทัดและจัมเปอร์บางส่วน
อาคาร Arduino 3x3x3 LED Cube:
ขั้นตอนที่ 1:
ในตอนแรกเราต้องตรวจสอบ LED แต่ละครั้งเมื่อลูกบาศก์เสร็จสิ้นถ้ามี LED ผิดพลาดอยู่ในก้อนนั้นจะยากมากที่จะเปลี่ยนดังนั้นก่อนอื่นเราต้องตรวจสอบ LED แต่ละดวง
นี้ทำโดยเซลล์ปุ่ม SR2032 เป็นแบตเตอรี่ลิเธียมไอออนที่มีแรงดันขั้วของ 3V มันเหมาะสำหรับการตรวจสอบ LED และหนึ่งยังสามารถใช้ MULTIMETER เพื่อตรวจสอบ LED
หลังจากยืนยันไฟ LED ทั้งหมด 27 ดวงแล้วให้วางไว้และอนุญาตให้ย้ายไปยังขั้นตอนถัดไป
ขั้นตอนที่ 2:
ตอนนี้ใช้ลวด breadboard และเปลือกชั้นออกตัวนำเราสามารถใช้ลวดใด ๆ แต่ breadboard เชื่อมต่อสายงานดี หลังจากลอกออกเราจะมีบางอย่างที่แสดงในภาพด้านบนตัดลวดตัวนำยาว 7 ซม. และดำเนินการต่อจนกว่าเราจะมีสายนำไฟฟ้าขนาด 7 ซม. (รูปด้านล่าง) สายเหล่านี้ใช้สำหรับเชื่อมต่อเลเยอร์ LED เราจะไปถึงจุดนี้ได้ในไม่ช้า
ขั้นที่ 3:
ตอนนี้เราจำเป็นต้องใช้กล่องกระดาษเปล่าและติดกระดาษสีขาวที่ด้านบนดังแสดงในรูป กระดาษนี้ใช้สำหรับการทำเครื่องหมายเฉพาะจุดเท่านั้นโดยไม่มีการใช้เฉพาะเจาะจง เพียงแค่ใช้เทปเซลลูลาร์หรือกาวที่มุมสำหรับวางกระดาษไว้ในตำแหน่งขณะทำเครื่องหมายและเจาะหลุม
หลังจากนั้นใช้ดินสอและเครื่องชั่งให้คะแนนเก้าแต้มบนกระดาษแต่ละชิ้นห่างกัน 2 ซม.ขึ้นรูปโครงสร้างของก้อนดังแสดงในรูปด้านล่าง
ที่นี่เราใช้ 2cm เพราะ; ขั้วลบของ LED มีความยาว 2.5 ซม. เพื่อให้ห่างกัน 2 ซม. เราจะมีขนาด 5 มม. สำหรับใช้บัดกรี LED หนึ่งไปยังอีก ความยาวที่สูงขึ้นจากนั้นขั้วต่อ LED จะกลายเป็นปัญหาหนักหน่วงและมีความยาวน้อยกว่าก้อนจะดูซุ่มซ่ามหลังจากเสร็จสิ้น ดังนั้น 2 ซม. จึงเหมาะสมมาก
หลังจากที่ใช้วัตถุ pointy เช่นดินสอหรือปากกาและpoke หลุมที่จุดแต่ละให้แน่ใจว่าคุณ poke หลุมเพียงเกี่ยวกับขนาดของ LED แรก poke หนึ่งหลุมใช้ LED พอดีในนั้น LED ไม่ควรตกผ่าน หลุมหรือ LED ควรแน่นเกินไป ในขณะที่การบัดกรีหมุดเราไม่ได้ LED เพื่อย้ายดังนั้นจึงไม่ควรเสีย หาก LED ติดตั้งอยู่ในรูที่แน่นเกินไปเราไม่สามารถกระดิกออกได้ง่ายดังนั้นทุกครั้งที่คุณเจาะช่องให้ตรวจสอบด้วย LED
ขั้นตอนที่ 4:
หลังจากนั้นให้วาง LED ไว้ที่รูใดช่องหนึ่งและงอขั้วบวกตามที่แสดงไว้ด้านล่าง
หลังจากนั้นขาบวกอีกครั้งควรจะงอในรูปแบบ 'L' รูปร่าง เมื่อมองใกล้คุณสามารถมองเห็นรอยขนาดเล็กบนเทอร์มินอลของ LED ใกล้ปลายซึ่งเป็นตำแหน่งที่คุณควรโค้งงอสำหรับรูปตัว L หลังจากนั้นโค้งขั้วลบไปทางขวา นี่แสดงในรูป:
ขั้นตอนที่ 5:
วิธีเดียวกันนี้จะงอ LED สามดวงและจัดเรียงไว้ในแถวดังที่แสดงด้านล่างรูปแบบนี้ใช้ตลอดการออกแบบและจะไม่มีการเปลี่ยนแปลงใด ๆ เพื่อความสะดวกยิ่งขึ้นสามารถโค้งทั้งหมด 27 LEDs เป็นทำครั้งแรกแล้วสามารถดำเนินการจัดและบัดกรี
ตอนนี้บีบไฟ LED ที่เหลือทั้งหมด 24 ดวงในลักษณะเดียวกับที่อธิบายข้างต้นเก้าตัวจะงอในรูปแบบเมทริกซ์ตามที่แสดงด้านล่าง
ขั้นตอนที่ 6:
หลังจากที่ประสานทั้งหมดข้อต่อเชิงลบนี้ส่งผลในสามขั้วลบลบแต่ละแทนหนึ่งแถว นี่คือด้านล่าง
หลังจากนั้นใช้สายตัวนำไฟฟ้าสองเส้นที่เราถอดและวางไว้ตามภาพและต่อประสานข้อต่อหกสายของตัวนำไว้เป็นเมทริกซ์ที่สมบูรณ์
ตอนนี้สิ่งที่ขั้วเชิงลบของเก้าไฟ LED จะถูกเชื่อมต่อกันด้วยนี้เราจะมี9 ขั้วบวก (CP1-CP9) และขั้วลบ (CN1) หลังจากเลี้ยวออกจากชั้นหนึ่งอย่างรอบคอบเราจะมีการตั้งค่าตามที่แสดงด้านล่าง ตัดปลายพิเศษและเราจะมีหนึ่งชั้น LED cube
ขั้นตอนที่ 7:
ตอนนี้เรามีหนึ่งในสามชั้นของก้อนเราต้องพัฒนาอีกสองชั้นโดยทำตามขั้นตอนเดียวกับที่ทำสำหรับนี้ ชั้นที่สองและสามแสดงไว้ด้านล่าง:
ขั้นตอนที่ 8:
ตอนนี้เรามีทั้งสามชั้นที่จำเป็นในการทำลูกบาศก์ LED เราจะไปกองหนึ่งมากกว่าอื่น ๆ เพื่อสร้างก้อน
ขั้นแรกเราใช้เลเยอร์ 1 และเลเยอร์ 2 ติดตั้งที่อื่น เชื่อมต่อขั้วต่อที่เป็นบวกทั้งหมด นี่แสดงในรูป ตัวอย่างเช่น CP1 ของชั้นแรกจะบัดกรีไปที่ CP1 ของชั้นที่สอง CP2 ของชั้นแรกจะบัดกรีไปที่ CP2 ของชั้นสองและอื่น ๆ ที่นี่เราจะสไลด์เลเยอร์ประมาณ 5 มม. หนึ่งด้านบนอีกด้านหนึ่งก่อนอื่นเราต้องประสานปลายของชั้นเพื่อให้อยู่ในตำแหน่งและสำหรับเลเยอร์ที่จะจัดแนว หลังจากนั้นให้ขั้วต่ออื่น ๆ หลังจากบัดกรีเราจะมี,
ตอนนี้เราจะสแต็คเลเยอร์สามและชั้นสุดท้ายของลูกบาศก์ด้วยวิธีนี้เราได้สร้างคิวบ์แล้ว การบัดกรีของชั้นที่สามจะยุ่งยากเล็กน้อยเนื่องจากขั้วบวกจะมีความละเอียดอ่อนหากขั้วต่อขยับตัวมากเกินไปข้อต่ออาจเกิดการแตกตัวภายในและการบัดกรีข้อต่อภายในจะเป็นไปไม่ได้จนกว่าลูกบาศก์จะพังลง ดังนั้นหนึ่งควรตรวจสอบร่วมกันทุกครั้งดำเนินการต่อไปอย่างใดอย่างหนึ่งต่อไป
ในขณะที่ขั้วต่อบัดกรีในการบัดกรีอุณหภูมิของ LED ควรเก็บไว้ในใจถ้าเหล็กบัดกรีถูกเก็บไว้ใกล้กับ LED มากกว่า 5 วินาทีไฟ LED จะเผาไหม้และเปลี่ยนเป็นความเจ็บปวดดังนั้นคุณควรใส่ใจในขณะที่บัดกรี ไฟ LED
อธิบายวงจรและการทำงาน
ด้วยก้อนที่สมบูรณ์เรามีทั้งหมด 12 หมุด ที่เก้าเป็นบวกทั่วไปและสามเป็นค่าลบทั่วไป ขั้วบวกขั้วบวกที่เชื่อมต่อขั้วบวกขั้วบวกของไฟ LED สามดวงและขั้วบวกขั้วลบทั่วไปแต่ละขั้วต่อขั้วบวกขั้วลบของไฟ LED ทั้งเก้าดวง ดังนั้นเราจึงมีเก้าคอลัมน์แทนเก้าขั้วบวก (CP1-CP9) และสามชั้นเป็นตัวแทนของขั้วที่สามลบ (CN1-CN3)
PIN2 ------------------ CP1 (บวกทั่วไป)
PIN3 ------------------ CP2 (บวกกันทั่วไป)
PIN4 - ----------------- CP3 (บวกทั่วไป)
PIN5 ------------------ CP4 (บวกกัน)
PIN6 --- --------------- CP5 (บวกทั่วไป)
PIN7 ------------------ CP6 (บวกทั่วไป)
PIN8 ----- ------------- CP7 (บวกทั่วไป)
PIN9 ------------------ CP8 (บวกกัน)
PIN10 ------- --------- CP9 (บวกทั่วไป)
PIN3 ------------------ CP2 (บวกกันทั่วไป)
PIN4 - ----------------- CP3 (บวกทั่วไป)
PIN5 ------------------ CP4 (บวกกัน)
PIN6 --- --------------- CP5 (บวกทั่วไป)
PIN7 ------------------ CP6 (บวกทั่วไป)
PIN8 ----- ------------- CP7 (บวกทั่วไป)
PIN9 ------------------ CP8 (บวกกัน)
PIN10 ------- --------- CP9 (บวกทั่วไป)
PIN A0 ------------------ CN1 (ทั่วไปเชิงลบ)
PIN A1 ------------------ CN2 (ทั่วไปเป็นลบ)
PIN A2 ------------------ CN3 (ทั่วไปเชิงลบ)
PIN A1 ------------------ CN2 (ทั่วไปเป็นลบ)
PIN A2 ------------------ CN3 (ทั่วไปเชิงลบ)
ตอนนี้เราจะเชื่อมต่อ 12 หมุดเหล่านี้ไปยัง UNO อย่างเหมาะสมตามที่แสดงในแผนภาพวงจรสำหรับLED ledด้านarduinoด้านล่าง
ถ้าเราต้องการเปิดไฟ LED เดียวนั่นคือ LED ในคอลัมน์ชั้นที่สองแรกเราจำเป็นต้องเสียบขา CP2 และวางสาย CN1
ด้วยการเชื่อมต่อที่กำหนดไว้สำหรับ LED ในคอลัมน์ที่สองเป็นชั้นแรกจะเรืองแสงเราจำเป็นต้องตั้งโปรแกรม UNO เพื่อดึง PIN3 (ซึ่งเชื่อมต่อกับ CP2) และดึง PIN A0 (เชื่อมต่อกับ CN1)
ไฟ LED ทั้งหมดเชื่อมต่อกันด้วยวิธีนี้คุณจึงสามารถเลือก LED ที่จะติดสว่างและโปรแกรมสำหรับ UNO จะทำอย่างเหมาะสม ที่นี่เราจะให้ห่วงตลอดไป UNO เพื่อเรืองแสงทุก LED หนึ่งหลังจากที่อื่น ๆ อย่างต่อเนื่อง รอบนี้เกิดขึ้นและตลอดไป
รหัส
การตั้งค่าเป็นโมฆะ ()
{
for (int i = 0; i <11; i ++)
{
pinMode (i, OUTPUT); // PINS0-10 ถูกตั้งเป็น output
}
pinMode (A0, OUTPUT); // PIN A0 ตั้งเป็น
PINMode เอาต์พุต(A1, OUTPUT); // PIN A1 กำหนดเป็น
PINMode เอาต์พุต(A2, OUTPUT); / รหัส PIN A2 ตั้งเป็น
ดิจิตอลเอาต์พุต(A0, HIGH); / / ดึง A0 pin
digitalWrite (A1, HIGH); / / ดึงอัลต
ร้าซาวด์ดิจิตอล (A2, HIGH); // ดึงขา A2 ขึ้น
{
for (int i = 0; i <11; i ++)
{
pinMode (i, OUTPUT); // PINS0-10 ถูกตั้งเป็น output
}
pinMode (A0, OUTPUT); // PIN A0 ตั้งเป็น
PINMode เอาต์พุต(A1, OUTPUT); // PIN A1 กำหนดเป็น
PINMode เอาต์พุต(A2, OUTPUT); / รหัส PIN A2 ตั้งเป็น
ดิจิตอลเอาต์พุต(A0, HIGH); / / ดึง A0 pin
digitalWrite (A1, HIGH); / / ดึงอัลต
ร้าซาวด์ดิจิตอล (A2, HIGH); // ดึงขา A2 ขึ้น
/ * เพิ่มรหัสติดตั้งที่นี่รหัสการติดตั้งจะทำงานหนึ่งครั้งเมื่อโปรเซสเซอร์เริ่มทำงาน * /
}
void loop ()
{
digitalWrite (A0, LOW); // ชั้นที่ 1 ของลูกบาศก์มีไว้
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer1 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A0, HIGH); // layer1 ถูกดึงขึ้น
digitalWrite (A1, LOW); // เลเยอร์ 2 ของ cube ถูกตรึง
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer2 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A1, HIGH); //
layer2 ถูกดึงขึ้นdigitalWrite (A2, LOW); // เลเยอร์ 3 ของคิวบ์มีไว้
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer3 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A2, HIGH); // ชั้น 3 ถูกดึงขึ้น
{
digitalWrite (A0, LOW); // ชั้นที่ 1 ของลูกบาศก์มีไว้
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer1 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A0, HIGH); // layer1 ถูกดึงขึ้น
digitalWrite (A1, LOW); // เลเยอร์ 2 ของ cube ถูกตรึง
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer2 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A1, HIGH); //
layer2 ถูกดึงขึ้นdigitalWrite (A2, LOW); // เลเยอร์ 3 ของคิวบ์มีไว้
สำหรับ (int i = 2; i <11; i ++)
{
digitalWrite (i, HIGH); / / เปิดแต่ละ LED หนึ่งหลังจากที่อื่นใน
ความล่าช้าlayer3 (200);
ล่าช้า (200);
ล่าช้า (200);
digitalWrite (i ต่ำ);
}
digitalWrite (A2, HIGH); // ชั้น 3 ถูกดึงขึ้น
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น