สารบัญ:

Duxman Lights: 9 ขั้นตอน
Duxman Lights: 9 ขั้นตอน

วีดีโอ: Duxman Lights: 9 ขั้นตอน

วีดีโอ: Duxman Lights: 9 ขั้นตอน
วีดีโอ: Project 2 Part 8 of 18, Sterling Silver and Turquoise Ring 2024, กรกฎาคม
Anonim
Image
Image

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

ตอนนี้ฉันใส่ลิงก์พร้อมตัวอย่าง ขออภัยไม่มีเสียง แต่คุณเชื่อฉันเถอะว่า Villancicos rock กำลังเล่นอยู่

นี่คือตัวอย่าง 1

นี่คือตัวอย่าง2

ขั้นตอนที่ 1: เครื่องมือและวัสดุ

เครื่องมือและวัสดุ
เครื่องมือและวัสดุ

สำหรับคำแนะนำนี้คุณต้องมีเนื้อหาบางส่วน (ขออภัยในเรื่องนี้ แต่ส่วนนี้ฉันต้องเขียนเป็นภาษาของฉันเป็นภาษาสเปน)

  1. ช่างเชื่อม
  2. ดีบุก
  3. ไม่ทราบจำนวนสาย 4 และ 2 เส้น (แล้วแต่ระยะที่ต้องการคลุม) ผมใช้ไป 15 เมตร
  4. แว่นเชื่อมที่แนะนำ
  5. ที่ปอกสายไฟหรือกรรไกรช่างไฟฟ้าที่แนะนำ
  6. คีมย้ำแนะนำ
  7. และแน่นอน แถบ LED หรือ ELWire
  8. หากคุณใช้ ELWire คุณจะต้องมีนักลงทุนอย่างน้อยหนึ่งราย
  9. แน่นอนแหล่งจ่ายไฟ 12V

ฉันไม่สามารถบอกคุณได้แน่ชัดว่า LEDs และ theWire ทั้งหมดที่ฉันใช้และซื้อที่ไหน แต่มีร้านค้าในจีนมากมายเช่น (A _ _ Expre_ _) คุณรู้อยู่แล้วว่าวัสดุทั้งหมดนี้มีราคาที่ไม่แพงมากหรือน้อย

เพื่อให้คุณมีความคิดเกี่ยวกับสิ่งที่ฉันใช้:

  • LED สีเดียว 15 เมตร (แดง เขียว น้ำเงิน) อย่างละ 5 เมตร
  • ไฟ LED RGB 15 เมตร
  • ลวดนำลวดขนาด 25 เมตร (ฉันไม่รู้ว่าทำไมในเพจจีนเขาเรียกแบบนั้น)
  • ELWIRE 100 เมตร หลากสี (นี่คือการดาวน์โหลดที่มีสีที่บกพร่อง ฉันไม่รู้ว่าฉันซื้อมันมาจากที่ไหน ฉันคิดว่ามันผ่านหน้าขายของ (ต่อรองราคา)
  • อินเวอร์เตอร์ 3 ตัวจาก El wire
  • 1 แหล่งจ่ายไฟ 12 V (ใช้ที่มาพร้อมกับเครื่องพิมพ์ 3d ของฉัน) แต่ใน Amazon คุณมีหลายแห่ง ถ้าคุณทำไม่ได้ ให้ใช้แหล่งจ่ายไฟ ATX คุณต้องมีทักษะเพียงเล็กน้อย
  • 15 ทรานซิสเตอร์ปลาย 120
  • 15 การเชื่อมต่อ Clems
  • แน่นอน ราสเบอร์รี่ Pi 3 B +

ขั้นตอนที่ 2: เชื่อมวัสดุและรวมวัสดุทั้งหมด

เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด
เชื่อมวัสดุและเชื่อมวัสดุทั้งหมด

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

ฉันอยากจะบอกว่าฉันใช้ขั้วต่อกันน้ำสำหรับการเชื่อมต่อทั้งหมด ปลอดภัยดีกว่าขออภัย

ไม่กี่ขั้นตอนต่อมา ฉันจะทิ้งไดอะแกรมของเพลตไว้เผื่อคุณต้องการใช้

ขั้นตอนที่ 3: ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1

ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V1

นี่เป็นบอร์ดเวอร์ชั่นแรกของฉัน

เราสามารถควบคุมสามโซนหรือแถบนำ RGB

คุณต้องการเพียงสามหัวทรานซิสเตอร์ 120 พินรูปกรวยและขั้วต่อ

ขั้นตอนที่ 4: ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2

ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2
ใช้ฮาร์ดแวร์ที่ออกแบบของฉัน V2

นี่เป็นเวอร์ชั่นบอร์ดที่สองของฉัน

เราควบคุมได้ 15 โซน คุณต้องการเพียง 15 ทรานซิสเตอร์ทิป 120 พินกรวย

ขั้นตอนที่ 5: เตรียมราสเบอร์รี่ของคุณ

ฉันจะไม่แสดงความคิดเห็นมากนักในขั้นตอนนี้ เนื่องจากมีคำแนะนำมากมายเกี่ยวกับขั้นตอนนี้ และฉันแน่ใจว่ามีคนอธิบายได้ดีกว่าฉัน

คุณเพียงแค่ต้องติดตั้งเวอร์ชันล่าสุดที่คุณมีราสเบอร์รี่ในราสเบอร์รี่ของคุณ

คุณต้องติดตั้งแพ็คเกจบางตัว

ข้อกำหนดของ Python

ติดตั้งแพ็คเกจต่อไปนี้

python -m pipinstall numpy

python -m pipinstall pyaudio

python -m pipinstall pydub

ของราสเบอร์รี่

บางทีคุณอาจต้องการแพ็คเกจอื่นนี้

sudo apt-get ติดตั้ง git

sudo apt-get ติดตั้ง python-dev

sudo apt-get ติดตั้ง pyton-rpi.gpio

ขั้นตอนที่ 6: รับเวอร์ชัน

ในลิงก์ต่อไปนี้ คุณสามารถดูโค้ดของฉันได้ ฉันคิดว่าคุณจะไม่ชอบมัน ดังนั้นอย่าตัดตัวเอง คุณสามารถปรับปรุงได้

github.com/duxman/lights

อย่างไรก็ตามหากคุณมีความคิดเห็นและ / หรือข้อเสนอแนะอย่าลังเลที่จะติดต่อฉัน

รุ่นแรกสุด

github.com/duxman/luces/releases/tag/Versi…

โคลน git

git checkout เวอร์ชัน-0.01

เวอร์ชันเริ่มต้น เล่นไฟล์ Wav อนุญาตเฉพาะเอาต์พุตดิจิทัล

รุ่นที่สอง

github.com/duxman/luces/releases/tag/Versi…

git clone https://github.com/duxman/luces.git ชำระเงิน เวอร์ชัน-0.02

อนุญาตให้ทำซ้ำ wav และ mp3 (สิ่งเหล่านี้จะกลายเป็น wav ในการทำซ้ำครั้งแรก) สคริปต์แยกถูกสร้างขึ้นเพื่อให้สามารถดำเนินการเพลงและซีเควนซ์ได้

การกำหนดค่าเว็บถูกดัดแปลง

ปรับปรุงการเล่นและการซิงโครไนซ์

ตอนนี้มีการกำหนดโซนไฟส่องสว่างแทนพินแต่ละอัน แต่ละโซนอนุญาตให้มีพินได้หลายอัน

รุ่นพัฒนา

github.com/duxman/luces

โคลน git

ฉันปรับปรุงรหัส

ฉันกำลังปรับปรุงโค้ดอย่างต่อเนื่องและมอบฟีเจอร์ใหม่ๆ แต่โค้ดอาจไม่เสถียร คุณรู้ว่าคุณกำลังทำอะไร

ขั้นตอนที่ 7: กำหนดค่าทั้งหมดเข้าด้วยกัน

กำหนดค่าทั้งหมดเข้าด้วยกัน
กำหนดค่าทั้งหมดเข้าด้วยกัน
กำหนดค่าทั้งหมดเข้าด้วยกัน
กำหนดค่าทั้งหมดเข้าด้วยกัน
กำหนดค่าทั้งหมดเข้าด้วยกัน
กำหนดค่าทั้งหมดเข้าด้วยกัน

Duxman Luces

ข้อมูลเพิ่มเติม y บล็อก

duxnet.es/luces/

ติดตั้ง ดาวน์โหลด repository

duxnet.es/luces/

ติดตั้งแพ็คเกจต่อไปนี้

python -m pipinstall numpy

python -m pipinstall pyaudio

python -m pipinstall pydub

สำหรับใช้กับไฟล์ MP3 คุณต้องติดตั้ง ffmepg ในระบบของคุณ ตรวจสอบให้แน่ใจว่าคุณมี ffmpeg และ ffprobe ในเส้นทางการดำเนินการของคุณ

กำหนดค่า

แก้ไขไฟล์ต่อไปนี้ในไดเร็กทอรี config หรือใช้เว็บเซิร์ฟเวอร์ที่รวมอยู่ในแอพโดยค่าเริ่มต้นในพอร์ต 8000

คุณต้องไปที่ https://:8000 แล้วเริ่มสนุกได้เลย:)

configuration.json

เป็นการกำหนดค่าทั่วไปของโปรแกรม ไฟล์นี้มี

"GeneralPins": ไพน์ที่กำหนดค่าทั่วไป (ไม่ได้ใช้งาน) "MusicPath": ไดเรกทอรีเพลง "FfmpegPath": ffmpeg path เฉพาะสำหรับ windows "WebServerPort": พอร์ตของเว็บเซิร์ฟเวอร์

programacion.json

เป็นการกำหนดค่าเวลาของโปรแกรม ไฟล์นี้มี

"StartTime": เวลาเริ่มต้น "EndTime": เวลาสิ้นสุด "สถานะ": ไม่ได้ใช้งาน "WaitTime": เวลารอระหว่างการดำเนินการ

ProgramConfiguration.json

ในไฟล์นี้เรากำหนดค่าไฟล์เพลงหรือสตริงลำดับ

ไฟล์นี้มี

"ProgramName": ชื่อโปรแกรม "ProgramType": ระบุว่าโปรแกรมใช้เพลง o โปรแกรมลำดับ SEQ -> Execute Secuence MUSIC -> รันด้วยไฟล์เพลง "ProgramInterval": รอเวลาระหว่างการดำเนินการ "Sequences": Array of Zones เพื่อเปิดใช้งาน

"MusicFiles": Arrray ของเพลง wav หรือไฟล์ mp3 ไฟล์ mp3 จะถูกแปลงเป็น wav ในครั้งแรกที่เราเล่น โซน.json

ในไฟล์นี้เรากำหนดค่าโซนที่กำหนดไว้ล่วงหน้าด้วยพินที่ใช้ในทุกโซน

ไฟล์นี้มี

"ZoneType": มันคือ GPIO หรือ MCP (ถ้าเราใช้ MCP เราจำเป็นต้องกำหนดค่าไฟล์ I2CConfig.json) "Zones": Array of Zones [ZoneId: เป็นน้ำหนักหรือลำดับของโซน ZoneName: ชื่อของโซน ZonePins: เครื่องหมายจุลภาคคั่นสตริงด้วยหมุดที่ใช้ในโซนนี้ ZoneType: ระบุว่าโซนสว่างเพียงอย่างเดียวหรือในโหมดสเปกตรัม เป็นประโยชน์ในการเน้นโซนเฉพาะ] I2CConfig.json

ในไฟล์นี้เรากำหนดค่า I2CDDevices ฉันใช้ MCP23016 port expander

ไฟล์นี้มี

"อุปกรณ์": อาร์เรย์ของอุปกรณ์ [BasePin: หมายเลขพินเริ่มต้นสำหรับอุปกรณ์ I2C นี้ ด้วยวิธีนี้กับ MCP จะเป็นพินดิจิทัลตัวแรกใน MCP I2CAddress นี้: ที่อยู่ของอุปกรณ์ MCP]

ขั้นตอนที่ 8: ดำเนินการโปรแกรม

สำหรับการใช้งานโปรแกรมหลักดำเนินการ

คำสั่งนี้

sudo python luces/main.py

สำหรับการทดสอบเพลงให้รันคำสั่งนี้

sudo python luces/PlayMusic.py -i ตัวอย่าง: sudo python luces/PlayMusic.py -i./music/sample.wav

สำหรับการทดสอบลำดับให้รันคำสั่งนี้

sudo python luces/PlaySequence.py -i ตัวอย่าง: sudo python luces/PlaySequence.py -i 1, 3, 1, 4, 2, 1, 5, 2, 3, 4, 5

แปลง mp3 เป็น wav

sudo python luces/util/Mp3ToWav.py -i -p ตัวอย่าง: sudo python luces/PlaySequence.py -i sample.mp3 -p../music

คุณจะได้รับ../music/sample.mp3.wav

ขั้นตอนที่ 9: ผลลัพธ์สุดท้าย

Image
Image

นี่คือผลลัพธ์สุดท้าย

ฉันไม่ได้ยินเสียงเพลง สูดอากาศหายใจ แต่ฉันไม่ได้บอกตัวเอง ใส่เพลงร็อคกับศิลปินชั้นยอดอย่าง (MotoHead, Queen, Bruce Sprint, Ramones, Twisted Sister และอื่นๆ) แต่คุณสามารถสร้างแสงในจังหวะของเพลงได้

แนะนำ: