สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: เตรียมสิ่งของทั้งหมด
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: ตั้งค่า Infrared Pyroelectric Sensor
วีดีโอ: Raspberry Pi Smart NightLight: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ฉันเพิ่งตื่นแต่เช้า หลายครั้งที่ข้างนอกยังมืดอยู่ แต่ฉันไม่ต้องการเปิดไฟเพื่อส่งผลกระทบต่อการพักผ่อนของภรรยา ฉันจึงคิดจะซื้อไฟกลางคืน ฉันค้นหาร้านไฟกลางคืนจำนวนมาก แต่ฉันไม่คิดว่าฉันต้องการมัน แต่ฉันเห็นไฟกลางคืนชื่อ DockerPi ในร้านใน Amazon ซึ่งควบคุมโดย Raspberry Pi ดีมากและสามารถให้คุณสมบัติ DIY ฉันอ่านคำอธิบาย wiki ของผลิตภัณฑ์นี้ สามารถควบคุมได้โดยตรงจากบรรทัดคำสั่ง ในฐานะโปรแกรมเมอร์ที่ใช้ระบบ Linux ฉันคิดว่ามันเจ๋งมาก ฉันจึงซื้อมันกลับมาและเริ่มโครงการนี้
ขั้นตอนที่ 1: ขั้นตอนที่ 1: เตรียมสิ่งของทั้งหมด
หลังจากแกะกล่องแล้วฉันก็ถอดฝาครอบป้องกันบนแผ่นอะครีลิก แล้วติดตั้งโมดูลของ DockerPi นี้กับ Raspberry Pi ของฉันด้วยสกรูและแท่งทองแดง มันคงที่
ขั้นตอนที่ 2: ขั้นตอนที่ 2: แฟลชอิมเมจ Rasbpian OS ล่าสุดไปยังการ์ด SD
ฉันดาวน์โหลดรูปภาพ Raspbian ล่าสุดจาก:https://www.raspberrypi.org/downloads/raspbian/
แล้วแฟลชภาพผ่านซอฟต์แวร์ชื่อ: etcher
คุณสามารถดาวน์โหลดได้ที่นี่:
แตกไฟล์รูปภาพจากแพ็คเกจ gzip แล้วคุณจะได้ไฟล์ *.img เลือกรูปภาพและเลือกไดรฟ์ที่พีซีของคุณรู้จักการ์ด TF เพียงกด " Flash" และรอหลายนาที จะเป็นอันเสร็จ
จากนั้นนำการ์ด TF ออกแล้วใส่ลงใน Raspberry Pi ของคุณแล้วเปิดเครื่อง
ขั้นตอนที่ 3: ขั้นตอนที่ 3: เปิดฟังก์ชัน I2C จาก Raspi-config
เมื่อ Raspberry pi เริ่มทำงาน ฉันเปิดเทอร์มินัลแล้วพิมพ์คำสั่งนี้: sudo raspi-config
และไปที่ "ตัวเลือกการเชื่อมต่อ" และเลือก "I2C" และเปิดใช้งาน เหตุใดฉันจึงควรใช้คำสั่งนี้
เนื่องจากโมดูลไฟกลางคืนของ DockerPi ใช้โปรโตคอล I2C สื่อสารกับ Raspberry Pi
ขั้นตอนที่ 4: ขั้นตอนที่ 4: เสียบแผงอะคริลิกเข้ากับสล็อต
มันพอดีกับช่องเสียบได้เป็นอย่างดี และคุณสามารถเห็นภาพที่แผงอะคริลิยังคงอยู่ในช่องเสียบ
ขั้นตอนต่อไปคือการรันโค้ดทดสอบเพื่อตรวจสอบว่าทำงานอย่างถูกต้องหรือไม่
ฉันได้ดาวน์โหลดโค้ดตัวอย่างจาก github โดยพิมพ์คำสั่งนี้ในเทอร์มินัลที่ raspberry Pi
ซีดี ~
โคลน git
cd dockerpi/ไฟกลางคืน/
sudo./Nightligh.sh
จากนั้นไฟกลางคืนของฉันก็เปิดขึ้นและวาววับ
ฉันอ่านคำแนะนำใน wiki และพบแผนภูมิแผนที่การลงทะเบียนของไฟ LED ทั้งหมด
ขั้นตอนต่อไปจะเป็นส่วนที่สนุกที่สุด ฉันต้องการเพิ่มเซ็นเซอร์อินฟราเรดไพโรอิเล็กทริกของร่างกายมนุษย์ ให้ตรวจจับได้ว่าฉันถูกจุดไฟเพื่อส่องสว่างในยามค่ำคืนเล็กๆ นี้~
ขั้นตอนที่ 5: ขั้นตอนที่ 5: ตั้งค่า Infrared Pyroelectric Sensor
ที่นี่เราใช้เซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR PIR ย่อมาจากอินฟราเรดแบบพาสซีฟ เซ็นเซอร์ตรวจจับความเคลื่อนไหวนี้ประกอบด้วยเลนส์เฟรส เครื่องตรวจจับอินฟราเรด และวงจรตรวจจับที่รองรับ เลนส์บนเซ็นเซอร์จะโฟกัสรังสีอินฟราเรดที่อยู่รอบ ๆ ตัวไปยังเครื่องตรวจจับอินฟราเรด ร่างกายของเราสร้างความร้อนจากอินฟราเรด และด้วยเหตุนี้ เซ็นเซอร์ตรวจจับการเคลื่อนไหวจึงดึงความร้อนนี้ขึ้นมา เซ็นเซอร์จะส่งสัญญาณ 5V เป็นระยะเวลาหนึ่งนาทีทันทีที่ตรวจพบว่ามีบุคคลอยู่ มีช่วงการตรวจจับเบื้องต้นประมาณ 6-7 เมตรและมีความไวสูง เมื่อเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR ตรวจพบบุคคล จะส่งสัญญาณ 5V ไปยัง Raspberry Pi ผ่าน GPIO และเรากำหนดว่า Raspberry Pi ควรทำอย่างไรเมื่อตรวจพบผู้บุกรุกผ่านการเข้ารหัส Python ที่นี่เราเพิ่งพิมพ์ "ตรวจพบผู้บุกรุก"
หลังจากที่คุณได้ตั้งค่า Raspberry Pi ของคุณแล้ว เราสามารถเริ่มยุ่งกับพิน GPIO ของมันได้แล้ว ที่นี่ เราจะพยายามกะพริบไฟ LED โดยใช้สคริปต์ Python คัดลอกและวางโค้ดต่อไปนี้ลงใน Raspberry Pi ของคุณ คุณสามารถทำได้โดยเปิดตัวแก้ไขข้อความ "แผ่นพับ" บน Raspberry Pi แล้วคัดลอกโค้ดนี้ลงไป แล้วบันทึกเป็นไฟล์ Python: nightlight.py:
#ห้องสมุดนำเข้า
นำเข้า RPi. GPIO เป็น GPIO
เวลานำเข้า
นำเข้า smbus
DEVICE_BUS = 1
DEVICE_ADDR = 0x15
GPIO.setwarnings(เท็จ)
GPIO.setmode(GPIO.บอร์ด)
GPIO.setup(11, GPIO. IN) #อ่านเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR
bus = smbus. SMBus(DEVICE_BUS) # อินสแตนซ์ของ smbus สำหรับอุปกรณ์ i2c หมายถึงไฟกลางคืน
ในขณะที่จริง:
ลอง:
ผม=GPIO.อินพุต(11)
ถ้า i==0: #เมื่อเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหวเป็น LOW
พิมพ์ ("ไม่มีผู้บุกรุก", ผม)
สำหรับฉันอยู่ในช่วง (1, 25):
bus.write_byte_data(DEVICE_ADDR, i, 0x00) #ปิดไฟ LED
เวลานอน(0.2)
เวลานอน(0.1)
elif i==1: #เมื่อเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหวสูง
พิมพ์ ("ตรวจพบผู้บุกรุก", i)
สำหรับฉันอยู่ในช่วง (1, 25):
bus.write_byte_data(DEVICE_ADDR, i, 0xFF) #ปิดไฟ LED
เวลานอน(0.2)
เวลานอน(0.1)
ยกเว้น KeyboardInterrupt เป็น e:
print("ออกจากวง")
จากนั้นบันทึกและทำให้มันทำงานในระหว่างการบูทราสเบอร์รี่ pi
sudo vim.tiny /etc/rc.local
และเพิ่มบรรทัดนี้ก่อนออก 0:
sudo python /home/pi/nightlight.py &
จากนั้นบันทึกและรีบูต Pi ของคุณ มันจะทำงานอย่างถูกต้อง …
ขอบคุณที่รับชม~
แนะนำ:
Rocket Nightlight: 4 ขั้นตอน
Rocket Nightlight: ผู้ใหญ่ที่ทำงานได้ดีทุกคนต้องการไฟกลางคืน และเรากำลังสร้างไฟกลางคืนที่เปิดใช้การสัมผัสและธีมอวกาศ
Moonlamp Nightlight: 13 ขั้นตอน (พร้อมรูปภาพ)
Moonlamp Nightlight: ไฟกลางคืนที่น่ารักนี้ใช้โคมไฟแสงจันทร์ที่ยอดเยี่ยมที่คุณสามารถพบได้ที่นี่https://www.instructables.com/id/Progressive-Detai…มันใช้บอร์ด ESP8266 ราคาประหยัดเพื่อสร้างไฟกลางคืนที่ยอดเยี่ยมที่ใช้ 3W RGB LED จาก Future Eden และสามารถแสดง
Legend of Zelda Rupee Nightlight (รุ่น N64): 7 ขั้นตอน (พร้อมรูปภาพ)
Legend of Zelda Rupee Nightlight (รุ่น N64): ฉันทำสิ่งนี้สำหรับการประกวด Instructables Rainbow โดยเฉพาะ เช่นเดียวกับโปรเจ็กต์อื่นๆ ของฉัน ฉันคือ Legend of Zelda nerd (Original Rupee Nightlight, Majora's Mask) ด้วยการตอบรับเชิงบวกจากชุมชน Instructables ฉันจึงตัดสินใจสร้าง
SpotLight Interactive Nightlight: 4 ขั้นตอน
SpotLight Interactive Nightlight: SpotLight เป็นไฟกลางคืนแบบโต้ตอบที่ขับเคลื่อนโดย Arduino โดยใช้ฟอร์มแฟคเตอร์ที่น่ารัก ไฟมีคุณสมบัติแบบอินเทอร์แอกทีฟสามแบบ: 1) ใส่เหรียญที่ด้านหลังของสปอตไลท์เพื่อเปิดและปิดไฟ 2) สัมผัสสปอตไลท์เพื่อ
Legend of Zelda Rupee Nightlight: 6 ขั้นตอน (พร้อมรูปภาพ)
Legend of Zelda Rupee Nightlight: ฉันเป็นแฟนตัวยงของ Legend of Zelda มาตลอด (คำสั่งสุดท้ายของฉันคือแบบจำลองหน้ากากของ Majora พร้อมไฟ LED กะพริบ) อยากทำการพิมพ์ 3 มิติครั้งแรกของฉัน ฉันใช้ Tinkercad และเริ่มต้นด้วยบางสิ่งที่เรียบง่าย นั่นคือ กล่อง/เคส หลังจากดูผ่านบางบันทึกฉัน