สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
อาจเป็นไปได้ว่าผู้ใช้ RPi ทุกคนเคยสงสัยว่าจะปิด Raspberry Pi ได้อย่างไร
คุณไม่สามารถเพียงแค่ปิดเครื่อง หากคุณทำเช่นนั้น เป็นไปได้มากว่าวันหนึ่งการ์ด SD จะเสียหาย และ RPi ของคุณจะไม่เริ่มทำงาน คุณต้องปิดระบบปฏิบัติการก่อน จากนั้นจึงปิดได้โดยการดึงสายไฟออกจากซ็อกเก็ต หรือหากคุณเป็นผู้ใช้ขั้นสูง ให้ติดตั้งสวิตช์ด้วยตัวเอง ไม่มากก็น้อยถ้าคุณใช้ RPi เป็นเดสก์ท็อปพีซี แต่จะทำอย่างไรถ้าในโครงการของคุณไม่ได้ใช้แป้นพิมพ์หรือเมาส์หรือจอภาพ
วิธีแก้ปัญหาของฉันขึ้นอยู่กับการใช้สวิตช์เปิดปิดแบบปุ่มกดขนาดเล็กพร้อมแผงป้องกันแรงดันไฟย้อนกลับ มาดูรายละเอียดกัน
ขั้นตอนที่ 1: กำหนดค่า Raspberry Pi ของคุณ
ก่อนอื่น คุณต้องแก้ไขไฟล์ config.txt บน RPI ของคุณ โดยเพิ่มบรรทัด:
dtoverlay=gpio-poweroff, active_low, gpiopin=14
ใส่บรรทัดนี้ต่อท้ายก่อน:
start_x=0
ด้วยบรรทัดนี้ คุณตั้งค่า GPIO14 (ที่นี่ฉันใช้การกำหนดหมายเลข BCM GPIO) ให้สูงเมื่อเริ่มต้น เมื่อมันลดต่ำลงหลังจากปิดเครื่อง มันจะปิดเครื่องโดยใช้พิน “ctrl” บนบอร์ด Pololu
ขั้นตอนที่ 2: เชื่อมต่อ Pololu Board กับ RPi. ของคุณ
เชื่อมต่อบอร์ด Pololu กับ RPi ของคุณตามที่แสดงในภาพ
ขั้นตอนที่ 3: Python Script
คุณต้องเพิ่มโค้ดลงในสคริปต์ Python ของคุณด้วย
.****************************************************************************
gpio.setup (31, gpio. IN, pull_up_down = gpio. PUD_UP) # ตั้งค่า GPIO 31 เป็นอินพุต
def Shutdown(channel): os.system("sudo shutdown -h now") # ปิด RPi เมื่อ GPIO31 ต่ำ
gpio.add_event_detect (31, gpio. FALLING, callback = Shutdown, bouncetime = 2000) # รอให้ GPIO ต่ำเพื่อปิด RPi
****************************************************************************
ขั้นตอนที่ 4: มันทำงานอย่างไร
สวิตช์ SW1 ทำหน้าที่เป็นปุ่ม "เปิด" ไม่มีอะไรพิเศษ ทุกอย่างชัดเจน:)
เมื่อคุณกด SW2 กระบวนการปิดระบบจะเริ่มต้นโดยเรียกใช้สคริปต์ Python
เมื่อกระบวนการเสร็จสิ้น GPIO8 จะลดลง
ระดับต่ำบนพิน "ctrl" ของบอร์ด Pololu จะปิดสวิตช์
แค่นั้นแหละ:)
ขั้นตอนที่ 5: ขอบคุณ
เยี่ยมชมบล็อกของฉันสำหรับโครงการที่น่าสนใจเพิ่มเติม:
verysecretlab09.blogspot.com/
ช่องยูทูป:
www.youtube.com/channel/UCl8RTfbWUWxgglcJM…