สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ได้เวลานอน. คุณลุกขึ้นปิดไฟในตอนกลางคืน และหลังจากที่คุณพลิกสวิตช์ คุณตระหนักว่าการเดินทางกลับมืดมิดและปลอดภัยของเตียงที่อยู่ข้างหน้าคุณ โชคดีสำหรับคุณ ไฟกลางคืนถูกประดิษฐ์ขึ้น และคุณมาถูกที่แล้วเพื่อค้นหา! แต่… คุณจะหลับไปได้อย่างไรเมื่อแสงกลางคืนที่น่ารำคาญนั้นเปิดอยู่ตลอดทั้งคืนทำให้ห้องของคุณสว่างไสว? นอกจากนี้ คุณไม่เบื่อกับความมืดที่ว่างเปล่าที่ทำให้ไฟกลางคืนของคุณยังคงเปิดอยู่และเปลืองพลังงานหรือไม่? คุณยังอยู่ถูกที่แล้ว เพราะเรามีสิ่งที่คุณต้องการ!
เราต้องการทำให้ชีวิตของคุณสดใสขึ้นโดยช่วยให้คุณสร้างแสงสียามค่ำคืนที่ยั่งยืน
ในบทช่วยสอนนี้ เราจะแนะนำคุณตลอดขั้นตอนการสร้างไฟกลางคืนที่จะปิดลงพร้อมกับตัวจับเวลา ระบบจะสามารถรับรู้ได้เมื่อไฟหลักดับลง ผ่านเซ็นเซอร์วัดแสง และเปิดไฟตามเวลาที่ผู้ใช้กำหนด และดับลงหลังจากเวลานั้นผ่านไป ไฟกลางคืนนี้แตกต่างจากไฟกลางคืนอื่น ๆ เพราะมันสิ้นเปลืองพลังงานโดยเปิดทิ้งไว้เมื่อคุณหลับและไม่ต้องการ โปรเจ็กต์นี้ใช้บอร์ดสองประเภทคือ Basys 3 และ Arduino และเซ็นเซอร์วัดแสง
ผู้สร้าง:ลุค แมคแดเนียล, อีริค รามาซซินี, โมนิก้า เนเกรเต้, เฮย์ลีย์ ยัง
ขั้นตอนที่ 1: วัสดุและซอฟต์แวร์
วัสดุ
Basys 3 Artix-7 FPGA Trainer Board
store.digilentinc.com/basys-3-artix-7-fpga…
Arduino Uno Rev3
store.arduino.cc/usa/arduino-uno-rev3
เขียงหั่นขนม
www.amazon.com/Elegoo-EL-CK-002-Electronic…
ตัวต้านทาน 10k Ω
ลิงค์เดียวกับเขียงหั่นขนม
สายจัมเปอร์
ลิงค์เดียวกับเขียงหั่นขนม
เซนเซอร์ตรวจจับแสง (Mini Photocell)
www.sparkfun.com/products/9088
ซอฟต์แวร์
Vivado HL WebPACK Edition (ไฟล์ PDF ที่แนบมาพร้อมคำแนะนำ)
www.xilinx.com/products/design-tools/vivad…
Arduino IDE
www.arduino.cc/en/Main/Software
ขั้นตอนที่ 2: สถาปัตยกรรมระบบ
ขั้นตอนต่อไปคือการทำความเข้าใจสถาปัตยกรรมระบบ เราสร้างไดอะแกรมกล่องดำและเครื่องจักรที่มีสถานะจำกัด (แสดงไว้ด้านบน) เพื่อจัดระเบียบโครงสร้างของการออกแบบของเราก่อนเข้าสู่การขนส่ง
การออกแบบโดยรวม
อินพุต
เซนเซอร์ตรวจจับแสง: กำหนดปริมาณแสงในห้อง
ผลลัพธ์
- แอโนด: กำหนดว่าจะใช้จอแสดงผล 7 ส่วนใด
- เซ็กเมนต์: แสดงตัวจับเวลา
- LED: แสดงสภาพแสงกลางคืนของ ON หรือ OFF
Arduino
ป้อนข้อมูล
สัญญาณเซ็นเซอร์แสง: ค่าอนาล็อกของปริมาณแสงในห้อง
เอาท์พุต
Light Input (1 bit): สัญญาณที่กำหนดสภาพแสงของห้อง
พื้นฐาน 3
ป้อนข้อมูล
- Light Input (1 bit): สัญญาณที่กำหนดสภาพแสงของห้อง
- สวิตช์
- CLK
เอาท์พุต
- แอโนด: กำหนดว่าจะใช้จอแสดงผล 7 ส่วนใด
- เซ็กเมนต์: แสดงตัวจับเวลา
- LED: แสดงสภาพแสงกลางคืนของ ON หรือ OFF
ขั้นตอนที่ 3: ฮาร์ดแวร์และรหัส Arduino
ฮาร์ดแวร์
เพื่อให้เข้าใจโค้ด Arduino เราต้องเข้าใจฮาร์ดแวร์ที่โค้ดโต้ตอบด้วย วงจรบนเขียงหั่นขนมของเราประกอบด้วยโฟโตเซลล์ ไดโอดเปล่งแสง และสายไฟและตัวต้านทานหลายตัวเพื่อให้สมบูรณ์ วงจรเริ่มต้นด้วยการส่งพลังงานไปยังโฟโตเซลล์ ซึ่งจะอ่านปริมาณแสงโดยรอบ ข้อมูลนี้จะถูกโอนไปยังพินอะนาล็อก A0 ซึ่งทำให้สามารถอ่านได้สำหรับบอร์ด Basys จากนั้นบอร์ด Basy จะรับข้อมูลนี้ เริ่มนับ และส่งสัญญาณให้ LED เปิด
รหัส Arduino
โค้ด Arduino เองสื่อสารกับบอร์ด Basy โดยส่งสัญญาณเมื่อแสงรอบ ๆ อุปกรณ์มืดกว่าเกณฑ์ที่กำหนด สัญญาณนี้ถูกกระตุ้นโดยห้องมืดที่มีสายนำไปยัง LED จะเปิดขึ้น เราพบจากการทดลองว่าเกณฑ์เฉลี่ยสำหรับโฟโตเซลล์เฉพาะของเราในห้องมืดคือ 30 - 60 โฟโตเซลล์ทุกตัวมีปริมาณความไวต่างกัน ดังนั้นโฟโตเซลล์อื่นๆ อาจมีเกณฑ์ที่แตกต่างกัน ในโค้ดที่เผยแพร่ เราสร้างขีดจำกัด 100 เพื่อจุดประสงค์ในการสาธิต