สารบัญ:

จอแสดงผล LED ติดผนัง: 5 ขั้นตอน
จอแสดงผล LED ติดผนัง: 5 ขั้นตอน

วีดีโอ: จอแสดงผล LED ติดผนัง: 5 ขั้นตอน

วีดีโอ: จอแสดงผล LED ติดผนัง: 5 ขั้นตอน
วีดีโอ: รีวิว วิธีตั้งค่า LED DIGITAL CLOCK (นาฬิกาดิจิตอล แขวนติดผนังใหญ่) บอกวันที่ อุณหภูมิ มีBackupในตัว 2024, พฤศจิกายน
Anonim
จอแสดงผล LED ติดผนัง
จอแสดงผล LED ติดผนัง
จอแสดงผล LED ติดผนัง
จอแสดงผล LED ติดผนัง
จอแสดงผล LED ติดผนัง
จอแสดงผล LED ติดผนัง

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

เสบียง

ไม้ (ผมใช้ไม้ทำไฟแต่วัสดุอะไรก็ได้ครับ)

เซ็นเซอร์ IR (เซ็นเซอร์อินฟราเรด) ฉันกำลังใช้ตัวรับ IR ของ sunfounder (CA$9.38)

ชุดรีโมท IR (รีโมทอินฟราเรดพร้อมเซ็นเซอร์ IR ที่สอดคล้องกัน ($4.48)

แถบ LED RGB (CA$29.99)

Arduino UNO R3 (14.29 เหรียญแคนาดา)

ชุดสายจัมเปอร์ (อุปกรณ์เสริม) ($5.29 แคนาดา)

เปิดสวิตช์ Rocker (20 Pack) (CA$14.99)

แบตเตอรี่ดับเบิ้ลเอ (12.99 เหรียญแคนาดา)

กล่องใส่แบตเตอรี่แบบสี่เหลี่ยม (CA$9.98)

ขั้วต่อแบตเตอรี่ Arduino ปลั๊กไฟ

กาวไม้

2025 แบตเตอรี่

เครื่องมือ

เจาะ

กาวไม้

เครื่องตัด/ปอกสายไฟ

หัวแร้ง

ขั้นตอนที่ 1: สร้าง Light Box

การสร้างกล่องไฟ
การสร้างกล่องไฟ
การสร้างกล่องไฟ
การสร้างกล่องไฟ

โดยส่วนตัวแล้ว ฉันอยากได้ไม้ที่ดูเรียบๆ ดูสะอาดสะอ้าน เพียงแค่ทำกล่องธรรมดาๆ แล้วติดลงบนแผ่นไม้แบนขนาด 5 1/2"x9" นี่เป็นการก่อสร้างที่ง่ายและรวดเร็ว มีหลายวิธีในการทำเช่นนี้ ขั้นตอนแรกของฉันคือการตัดไม้สองชิ้นขนาด 1 1/2"x 2 1/4" นี้ทำหน้าที่เป็นความกว้างของกล่อง จากนั้นฉันก็ตัดไม้ขนาด 5"x1 1/4" สองชิ้นแล้วติดกาวเข้าด้วยกัน ทำสี่เหลี่ยมผืนผ้า กาวชิ้นเล็ก ๆ ที่ด้านในของไม้สองชิ้นที่ยาวกว่าซึ่งช่วยให้มีพื้นที่เลื้อยเพียงพอสำหรับ Arduino และก้อนแบตเตอรี่ที่จะบีบเข้า ฉันติดกล่องด้วยตัวเองแล้วฉันก็ยึดไว้ด้วย 2 สกรู 1" จากแต่ละด้าน ช่วยให้กาวแห้งเร็วที่สุดและอยู่ในตำแหน่งที่ถูกต้อง

เมื่อฉันขันกล่องเข้าด้วยกัน ฉันก็เริ่มตัดพื้นผิวของฉัน ไม้ชิ้นนี้มีขนาด 9"x 5 3/4" จากนั้นจึงรอให้กล่องไม้แห้ง (เวลารอ 24 ชั่วโมง) เมื่อทุกอย่างแห้งแล้ว ฉันก็วางกล่องไว้ตรงกลางบนพื้นผิวจอแสดงผล จากนั้นฉันก็ติดกาว (รอ 24 ชั่วโมง) และตรงที่โครงสร้างของกล่อง

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

ขั้นตอนที่ 2: การติดตั้ง LEDs

ติดตั้ง LEDs
ติดตั้ง LEDs
ติดตั้ง LEDs
ติดตั้ง LEDs
ติดตั้ง LEDs
ติดตั้ง LEDs

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

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

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

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

ขั้นตอนที่ 3: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

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

หากคุณเลือกทำสวิตช์โยก เช่นเดียวกับที่ฉันทำ คุณควรประสานสายไฟที่มาจากก้อนแบตเตอรี่รูปสี่เหลี่ยมไปยังง่ามทางด้านซ้าย ณ จุดนี้คุณควรใส่สวิตช์เข้าไปในรูที่ด้านบนของกล่องแล้วบัดกรีสายไฟ ง่ามขวาควรมีสายไฟขั้วต่อ dc กราวด์สามารถวิ่งได้โดยตรงจากก้อนแบตเตอรี่ไปยังขั้วต่อ สวิตช์จะหยุดกระแสไม่ให้ส่งผ่านไปยังคอนเน็กเตอร์และหยุดการจ่ายไฟที่ไหลผ่าน Arduino นี่จะเป็นตัวควบคุมหลักของคุณ (เปิด, ปิด) บนไฟ LED ที่ฉันใช้อยู่มีจุดที่คุณต้องประสานสายไฟ กราวด์ และสายดาต้าดังที่เห็นในรูปภาพ ให้ดำเนินการเดี๋ยวนี้ เมื่อคุณต้องแน่ใจว่าคุณสอดสายเคเบิลผ่านรูที่ด้านล่างเพื่อให้กล่องวางราบกับผนังได้

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

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

ไลบรารีที่ฉันใช้ทั้งหมดจะอยู่ที่ด้านบนของโค้ดและสามารถติดตั้งได้ทั้งหมดบน GitHub.com

หมายเหตุด่วน: ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนหมุดและนำ # ตามลำดับ

รหัสนี้กำลังทำงานบนรุ่น windows 10 pro การไปที่ mac หรือรุ่นอื่นอาจส่งผลต่อรหัส ดังนั้นโปรดระวัง

อย่างที่คุณเห็นมี Serial.ln เพื่อให้คุณสามารถใช้มอนิเตอร์ซีเรียลเพื่อติดตามโค้ดและดูว่ามีอะไรผิดพลาดบ้าง

#รวม #รวม #ifdef _AVR_ #รวม #endif

#define LED_PIN 6

#define LED_COUNT 60

int MY_RECV_PIN = 3;

IRrecv irrecv(MY_RECV_PIN); ผลลัพธ์ decode_results;

Adafruit_NeoPixel แถบ (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

// ฟังก์ชัน setup() -- ทำงานหนึ่งครั้งเมื่อเริ่มต้น --------------------------------

การตั้งค่าเป็นโมฆะ () {

#if กำหนด (_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #endif

Serial.begin(9600);

แถบ.begin(); แถบ.show(); แถบ.setBrightness(50);

irrecv.enableIRIn(); // เริ่มเครื่องรับ

}

// ฟังก์ชันลูป () - ทำงานซ้ำ ๆ ตราบใดที่บอร์ดเปิดอยู่ ---------------

int button_mode = 0;

วงเป็นโมฆะ () {

Serial.println("ในวง"); ถ้า (irrecv.decode (&ผล)) { button_mode= button_mode +1; ถ้า (button_mode >= 3) { button_mode=0; } Serial.println (button_mode); if (button_mode==0){ Serial.println("การล้างไฟ LED ทั้งหมด"); colorWipe(แถบสี(0, 0, 0), 0); } else if (button_mode==1){ Serial.println("การตั้งค่าไฟ LED เพื่อไล่เอฟเฟกต์"); colorWipe(แถบสี(255, 0, 0), 50); // สีแดง colorWipe(strip. Color(0, 255, 0), 50); // สีเขียว colorWipe(strip. Color(0, 0, 255), 50); // blue colorWipe(strip. Color(255, 255, 255), 50);// white } else if (button_mode==2){ Serial.println("การตั้งค่าไฟ LED เป็นเอฟเฟกต์สีรุ้ง"); รุ้ง(10); colorWipe(แถบสี(255, 255, 255), 50);// สีขาว } irrecv.resume(); // รับค่าถัดไป } //delay(500); }

เป็นโมฆะ colorWipe (สี uint32_t, รอสักครู่) {

สำหรับ(int i=0; i

// สายรุ้งวนไปทั้งแถบ ส่งเวลาล่าช้า (เป็นมิลลิวินาที) ระหว่างเฟรม

สายรุ้งเป็นโมฆะ (รอสักครู่) {

สำหรับ (firstPixelHue แบบยาว = 0; firstPixelHue <5*65536; firstPixelHue += 256) { สำหรับ (int i = 0; i

/

แนะนำ: