สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: Digispark และ PlatformIO
- ขั้นตอนที่ 2: แผนผังและการเดินสาย
- ขั้นตอนที่ 3: เฟิร์มแวร์
- ขั้นตอนที่ 4: ปลอกและสัมผัสการตกแต่ง
วีดีโอ: Digispark & WS2812 Rainbow Wheel ในกล่อง: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โครงการเล็กๆ นี้สร้างขึ้นโดยใช้กล่องไม้ขนาด 10x6x5 ซม. ที่แกะสลักอย่างสวยงามซึ่งฉันพบในร้าน
คุณลักษณะที่ดีที่สุด ซึ่งจริงๆ แล้วไม่ได้ติดกล้องไว้อย่างถูกต้องก็คือ การให้แสงสว่างด้วยสีที่สว่างและอิ่มตัว ด้านข้างของฝากล่องที่แกะสลักด้วยต้นไม้
ในอีกด้านหนึ่ง โปรดทราบว่าการใช้เอฟเฟกต์สีรุ้งบนแถบ LED RGB 5050 แบบแคบจะส่งผลให้มีการส่องสว่างสีขาวภายในระยะเซนติเมตรจาก LED เสมอ เนื่องจากสีของพิกเซลแต่ละพิกเซลจะผสมกับสีข้างเคียงในไม่ช้า หากคุณต้องการหลีกเลี่ยงเอฟเฟกต์นี้ คุณสามารถลองใช้เลนส์โฟกัสบางตัว
ความสว่างของหลอดไฟจะคงสัดส่วนกับแสงโดยรอบด้วย LDR: หลอดไฟจะส่องสว่างในสภาพแสงกลางวันและจะไม่สว่างเกินไปเมื่อใช้เป็นไฟกลางคืนในที่มืด
เสบียง
รายการวัสดุ:
- บอร์ด Attiny85 Digispark (โคลน) หนึ่งอัน พร้อมด้วยไมโครนิวเคลียส bootloader
- 8x WS2812 หนึ่งแท่ง
- หนึ่ง LDR ใช้เพื่อปรับความสว่างของหลอดไฟตามสภาพแวดล้อม
- ตัวต้านทานแบบดึงขึ้น 10KΩ หนึ่งตัวสำหรับ LDR
- สายไมโคร USB เพื่อตั้งโปรแกรม Digispark และเปิดไฟเมื่อทำเสร็จ
- กล่องไม้กลวง
- แหล่งพลังงาน 5V⎓ (สามารถจ่ายไฟได้ไม่น้อยกว่า 500mA)
ทักษะและเครื่องมือ:
- PlatformIO (ทำงานบน Visual Studio Code) เป็น IDE - Arduino IDE ใด ๆ ก็ทำงานได้
- หัวแร้ง ลวดเชื่อม และทักษะการบัดกรีเบื้องต้น
- สายไฟ กรรไกร
- กาว แหนบ
- สีทึบแสงบางส่วน (เพื่อปกปิด Digispark LED และเพื่อป้องกัน LDR จากการได้รับอิทธิพลจากแสงหลอดไฟ)
ขั้นตอนที่ 1: Digispark และ PlatformIO
Digispark (และทุกโคลนที่เกี่ยวข้องกับไมโครคอนโทรลเลอร์ 8 บิตตัวเดียวกัน) เป็นบอร์ดฝ่าวงล้อมที่สร้างขึ้นจาก AVR Attiny85 ซึ่งสามารถสื่อสารผ่าน USB ได้โดยตรงด้วยไมโครนิวเคลียส bootloader โปรดดูข้อมูลเพิ่มเติมในวิกิของมัน:
PlatformIO คือระบบนิเวศที่ฉันใช้ตั้งโปรแกรม Digispark หากต้องการใช้งาน คุณต้องติดตั้ง Visual Studio Code
ขั้นตอนที่ 2: แผนผังและการเดินสาย
บัดกรี
- เชื่อมต่อสายไฟสามเส้นเข้ากับแถบ WS2812 (กราวด์ อินพุตพลังงาน และอินพุตข้อมูล)
- สายกราวด์และ Vcc ถึง 5V และพิน GND ของ Digispark
- บัดกรีลวดที่เหลือกับพิน P0 ของ Digispark
- ประสานตัวต้านทาน10KΩกับพิน GND และ P2 ของบอร์ด
- ใช้สายไฟสองเส้นเพื่อเชื่อมต่อ LDR กับพิน 5V และ P2 (ฉันใช้สายเคลือบที่มองไม่เห็นด้วยเหตุผลด้านสุนทรียะ)
ขั้นตอนที่ 3: เฟิร์มแวร์
ค้นหารหัสสำหรับโครงการนี้ใน GitHub ของฉัน:
ดีที่รู้:
- #include ต้องใช้ขณะทำงานกับ PlatformIO
- พารามิเตอร์ เช่น การกำหนดพิน จำนวน LED WS2812 ความเร็วของวงล้อสีรุ้ง และขีดจำกัดความมืด/สว่างสำหรับทั้ง LED และ LDR อยู่ที่จุดเริ่มต้นของโค้ด
- Adafruit Neopixel เป็นไลบรารีที่ใช้ควบคุม WS2812 LEDs
- ไลบรารี RunningMedian ใช้เพื่อทำให้การอ่าน LDR มีเสถียรภาพมากขึ้น เนื่องจากการกำหนดขอบเขต การทำแผนที่ขอบเขตความสว่างของ LED จึงเหมาะอย่างยิ่งในสภาวะที่มีความสว่างต่ำ ซึ่งการผันผวนเล็กน้อยอาจส่งผลให้เกิดการกะพริบที่น่ารำคาญ
- คุณจะไม่พบความพยายามใดๆ ในการล็อก Attiny85 ดังนั้นโครงการจะยังคงสามารถแก้ไขได้
คำแนะนำบางอย่าง (ปรากฏในไฟล์ README.md บน GitHub ด้วย):
- ในการอัปโหลดโค้ด ตรวจสอบให้แน่ใจว่าได้มีสาย USB ที่มีสายพินทุกอัน: สายชาร์จราคาถูกมักจะมีเพียง +5V และต่อสายดิน
- การอัปโหลดจาก PlatformIO ไปยัง DigiSpark ต้องการให้คุณเสียบ DigiSpark หลังจากคอมไพล์ แม้ว่าคอนโซลจะไม่เตือนว่า "ถึงเวลาต้องเสียบ DigiSpark ของคุณแล้ว" อย่างที่ Arduino IDE ทำ
- แก้ไขปัญหาการอัปโหลดไปยัง DigiSpark จาก PlatformIO บน MacOS อย่างรวดเร็ว: ปัญหา PIO 111
- ที่ชาร์จ USB ราคาถูกอาจให้เอาต์พุตที่สกปรก/มีเสียงดัง ซึ่งอาจทำให้ไฟ LED กะพริบผิดปกติโดยเฉพาะที่ความสว่างต่ำ: ตรวจสอบให้แน่ใจว่ามีแหล่งกำเนิด 5VDC ที่สะอาด หรือเพื่อกรองการเพิ่มตัวเก็บประจุ (หรือวงจรที่เหมาะสมกว่า)
ขั้นตอนที่ 4: ปลอกและสัมผัสการตกแต่ง
- เจาะรูในกล่องที่คุณเลือกสำหรับโฮสต์โครงการ เพื่อเสียบสาย USB ของคุณ โปรดทราบว่ายิ่งรูรอบๆ ขั้วต่อ micro USB ใหญ่เท่าใด แสงจากแถบ LED ก็จะยิ่งรั่วมากขึ้นเท่านั้น เว้นแต่ว่าคุณจะไม่ให้ซีลทึบแสง
- แกะสลักรูสำหรับ LDR; ตรวจสอบให้แน่ใจว่าไม่ได้ชี้ไปทางพื้นที่ที่จะส่องสว่างโดย LED ไม่เช่นนั้นการควบคุมอัตโนมัติจะวนซ้ำ
- แกะสลักพื้นผิวด้านในเพื่อให้มีที่ว่างสำหรับแถบ LED เนื่องจากคุณไม่ควรต้องการเห็นไฟ LED โดยตรงขณะมองที่โคมไฟของคุณ
- ปิดผนึกด้วยวัสดุทึบแสงที่ด้านล่างของ LDR เพื่อหลีกเลี่ยงการแทรกแซงความสว่างของสภาพแวดล้อมการตรวจจับที่เกิดจากแถบ WS2812
- ใช้สีทึบแสงหนึ่งหยดเพื่อปกปิดไฟ LED ของ Digispark เพื่อหลีกเลี่ยงไม่ให้มันส่องแสงอยู่ภายในกล่อง
- กาวบอร์ด Digispark, แถบ LED, LDR และทุกสายเพื่อหลีกเลี่ยงกล่องกลวงของคุณที่ดูไม่เป็นระเบียบ
- คาดคะเนสาย USB พร้อมสวิตช์เพื่อเปิดและปิดหลอดไฟได้อย่างง่ายดาย
แนะนำ:
Big Wheel - เด็ควิดีโอ Premiere Pro: 7 ขั้นตอน (พร้อมรูปภาพ)
Big Wheel - สำรับวิดีโอ Premiere Pro: คีย์บอร์ดเป็นตัวควบคุมที่ดีที่สุดสำหรับวิดีโอเกม (สู้กับฉัน ชาวคอนโซลชาวนา) แต่ Premiere Pro ต้องการระดับพลังที่ 104 ปุ่มไม่เพียงพอ เราต้อง Super Saiyan ในรูปแบบใหม่ - เราต้องการ KNOBS โปรเจ็กต์นี้ใช้อิทธิพลมหาศาล
ขวดโค้ก Arduino & Neopixel Rainbow Party Light: 7 ขั้นตอน (พร้อมรูปภาพ)
Arduino & Neopixel Coke Bottle Rainbow Party Light: ดังนั้น Doon ลูกชายของฉันจึงเห็นไฟปาร์ตี้สุดเจ๋งที่ทำจากขวดโค้กเก่าและอวัยวะภายในของ Glow Sticks ที่เหนียวเหนอะหนะ และถามว่าเราจะสร้างมันขึ้นมาสำหรับการสอบในโรงเรียนที่กำลังจะมาถึงของเขาได้ไหม Are Over Blowout PartAYYY!! ! ฉันพูดได้ แต่คุณไม่ควรมีบางอย่างที่
Duckies ยางง่าย ๆ กับ Digispark & DuckyTrainer: 4 ขั้นตอน
Ducky ยางง่าย ๆ ด้วย Digispark & DuckyTrainer: ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีตั้งค่า USB Rubber Ducky (USB Keystroke Injector) โดยไม่ต้องเข้ารหัส! USB Rubber Ducky คืออะไร● อุปกรณ์ USB ที่เลียนแบบผู้ใช้ที่เป็นมนุษย์โดยอัตโนมัติเมื่อเชื่อมต่อ ● เร็วกว่ามนุษย์มาก ไม่มีการพิมพ์ผิด
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
Felt & Neopixel Rainbow Crown: 8 ขั้นตอน (พร้อมรูปภาพ)
Felt & Neopixel Rainbow Crown: สุดสัปดาห์นี้ ฉันทำมงกุฎเรืองแสงที่เปิดใช้งานนีโอพิกเซลสำหรับลูกพี่ลูกน้องวัย 3 ขวบของฉัน เธอดูค่อนข้างจะใจจดใจจ่อกับอุปกรณ์ส่องสว่างของฉัน ดังนั้นฉันคิดว่าถึงเวลาที่เธอต้องมีของเธอเองแล้ว มันดูเท่มาก และฉันต้องการปลูกฝังให้เขา