สารบัญ:

อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม: 5 ขั้นตอน (พร้อมรูปภาพ)
อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: สาธิตการตั้งค่าแผงควบคุมไฟ DMX - EVE Lighting 2024, พฤศจิกายน
Anonim
อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม
อินเทอร์เฟซสองสาย (DMX) พร้อมหน้าจอและปุ่ม

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

มีหลายวิธีในการเลือกที่อยู่ แต่วิธีที่ใช้บ่อยที่สุดคือสวิตช์ DIP หรือจอแสดงผลพร้อมปุ่ม เมื่อใช้สวิตช์ DIP คุณต้องมีพินอินพุต 9 พิน (8 สำหรับที่อยู่และอีกพินสำหรับโหมด)

ตัวเลือกที่ดูดีขึ้นเล็กน้อยและมีตัวเลือกมากขึ้นคือการใช้จอแสดงผล 7 ส่วนและปุ่มบางปุ่ม วิธีนี้ใช้ 12 พินสำหรับการแสดงผล 4 สำหรับปุ่ม และคุณอาจต้องการไฟ LED แสดงสถานะด้วย ซึ่งหมายความว่าคุณแทบไม่มีหมุดเหลือเลยเมื่อใช้ arduino Uno / mini หรืออะไรทำนองนั้น

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

แน่นอนว่าโมดูลนี้สามารถใช้ได้กับทุกสิ่งที่คุณต้องการ และไม่จำกัดเพียงใช้กับฟิกซ์เจอร์ DMX!

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

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

หากคุณต้องการสร้างผลิตภัณฑ์ตามรูปภาพ นี่คือสิ่งที่คุณต้องการ:

1 x PCB สำหรับโมดูลอินเทอร์เฟซ

หากคุณใช้ลิงก์นี้ คุณจะได้รับ 10 pcb แรกฟรี และสนับสนุนโครงการใหม่ของฉัน

1 x 0.56 จอแสดงผล 4 หลัก (สีแดง) ขั้วบวกทั่วไป 12 พิน

1 x TM1637 DIP

1 x พินเฮดเดอร์แบบตรงหรือ 90 องศา (4 พิน)

ไฟ LED 3 x 3 มม. สีแดง สีส้ม และสีเขียว

4 x ปุ่มกดสัมผัส 2 ขา

นอกจากชิ้นส่วนต่างๆ แล้ว คุณยังต้องใช้เครื่องมือทั่วไปในการประกอบ:

  • หัวแร้ง
  • บัดกรีด้วยฟลักซ์
  • คีมตัดตะกั่ว

ขั้นตอนที่ 2: รับ PCB

รับ PCB
รับ PCB

ไฟล์ aegle และไฟล์ gerber จะรวมอยู่ในขั้นตอนนี้ ฉันสั่ง PCB ของฉันที่นี่:

www.pcbway.com/setinvite.aspx?inviteid=993…

ด้วยลิงก์นี้ คุณสามารถรับการออกแบบครั้งแรกสำหรับ 10 pcb ได้ฟรี คุณช่วยฉันด้วยเพราะฉันได้รับส่วนลดเล็กน้อยเมื่อคุณใช้ลิงก์นี้เพื่อสั่งซื้อ

ไฟล์ gerber นั้นสร้างโดย PCBways และกลับกลายเป็นว่าค่อนข้างดี ฉันสั่ง 10 ชิ้นที่มีสีฟ้าและข้อความสีขาว

แทนที่จะใช้ PCB คุณสามารถประสานทุกส่วนเข้ากับโปรโตบอร์ดได้เช่นกัน

ขั้นตอนที่ 3: การประกอบ

การประกอบ
การประกอบ

การประกอบโมดูลนี้ไม่ยากเลยหากคุณมีทักษะในการบัดกรี ขั้นแรกให้แยกหมุด 4 อันออกจากแถบหมุดหากคุณยังไม่ได้ทำ ประสานพวกเขาในสถานที่ต่อไป ฉันเริ่มต้นด้วยพินเฮดเดอร์เพราะพวกเขามักจะหลุดออกมาเมื่อกลับหัวกลับหาง ต่อไปฉันบัดกรี LED ตะกั่วสั้น (ด้านลบ) อยู่ทางด้านขวาซึ่งมีการทำเครื่องหมาย PCB เวอร์ชันใหม่จะมีเครื่องหมาย - หลังจากไฟ LED ฉันบัดกรีปุ่มสัมผัส 4 ปุ่ม มากกว่าชิป TM1637 พิน 1 อยู่ที่ด้านบนซ้ายและมีจุด ส่วนสุดท้ายที่ฉันบัดกรีคือจอแสดงผล รูค่อนข้างแน่น ดังนั้นจะใช้เวลาสักครู่

หลังจากบัดกรีชิ้นส่วนทั้งหมดเข้าที่แล้ว ฉันตัดแต่งสายนำทั้งหมดและตรวจสอบข้อผิดพลาด

ขั้นตอนที่ 4: การทดสอบและโค้ด

การทดสอบและรหัส
การทดสอบและรหัส

หลังจากประกอบเสร็จก็ถึงเวลาทดสอบโมดูล เชื่อมต่อ 5V กับไมโครคอนโทรลเลอร์ 5V, GND ถึง GND พิน CLK และ DIO สามารถกำหนดได้ในซอฟต์แวร์ แต่ค่าเริ่มต้นคือพิน 2 สำหรับ CLK และพิน 3 สำหรับ DIO

ดาวน์โหลดรหัสและอัปโหลดไปยัง Arduino ของคุณ รหัสนี้อาจใช้งานได้กับไมโครคอนโทรลเลอร์อื่นเช่นกัน แต่ยังไม่ได้ทดสอบ

รหัส Arduino ได้รับการกำหนดค่าให้อัปเดตหน้าจอและอ่านปุ่มทุกๆ 200 มิลลิวินาที สิ่งนี้ทำเพื่อให้ CPU สามารถใช้กับงานอื่นได้ การเปลี่ยนที่อยู่ทำได้โดยใช้ปุ่มขึ้นและลง ที่อยู่จะถูกบันทึกโดยอัตโนมัติหลังจากผ่านไป 2 วินาที ที่อยู่จะถูกเก็บไว้ใน EEPROM และโหลดในการตั้งค่า ที่อยู่จะถูกเก็บไว้ใน EEPROM แม้ในขณะที่ไฟถูกตัดการเชื่อมต่อ

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

ปุ่มต่างๆ เชื่อมต่อกันเป็นเมทริกซ์ปุ่มกด และสามารถใช้ปุ่มได้สูงสุด 16 ปุ่ม ไม่รองรับ multipress ในขณะนี้ แต่อาจมีการเพิ่มในอนาคตหากเป็นไปได้

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

ขั้นตอนที่ 5: การปรับปรุงเพื่อ Make

การปรับปรุงเพื่อ Make
การปรับปรุงเพื่อ Make

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

ในขณะนี้คือการปรับปรุงที่ฉันกำลังดำเนินการอยู่:

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

ฉันเข้าร่วมการแข่งขัน make it glow ด้วยคำแนะนำนี้ ถ้าคุณชอบโปรดโหวตให้ฉัน:)

บางครั้งฉันมี PCB วางอยู่ถ้าคุณต้องการ PCB เปล่าฉันจะขายมันในราคา€ 4 - ชิ้น ฉันมีบางอย่างที่ทำเสร็จแล้วเช่นกัน ซึ่งคุณสามารถซื้อได้ในราคา €10 ไม่รวมค่าขนส่ง (เรือจากเนเธอร์แลนด์) ส่งข้อความหาฉันถ้าคุณต้องการ ฉันอาจจะมีบางอย่างอยู่รอบๆ!

แนะนำ: