ดูเพิ่มเติม
ดูเพิ่มเติม
ดูเพิ่มเติม
ดูเพิ่มเติม
ดูเพิ่มเติม
ดูเพิ่มเติม
ดูเพิ่มเติม
ในด้านการควบคุมอัตโนมัติ,สวิตช์ความใกล้เคียงเป็นเซ็นเซอร์ที่ใช้กันทั่วไป,ใช้กันอย่างแพร่หลายในการตรวจสอบและควบคุมอุปกรณ์ต่างๆ。สวิตช์ความใกล้ชิดมีความไวสูง、ป้องกันการรบกวนที่แข็งแกร่ง、อายุการใช้งานยาวนานและข้อดีอื่น ๆ,แต่สัญญาณเอาต์พุตของมันมีเพียงสองสถานะเท่านั้น,เช่นเปิดตามปกติและปิดตามปกติ。บทความนี้จะแนะนำวิธีการใช้ประโยชน์Pythonการเขียนโปรแกรมเพื่อให้ได้ฟังก์ชั่นเปิดปิดตามปกติของสวิทช์ความใกล้ชิด,ช่วยให้ผู้อ่านเข้าใจและนำเทคโนโลยีนี้ไปประยุกต์ใช้ได้มากขึ้น。
หนึ่ง、การวิเคราะห์หลักการ
1. หลักการทำงานของสวิตช์ความใกล้เคียง
สวิตช์ความใกล้ชิดทำได้โดยใช้หลักการเหนี่ยวนำแม่เหล็กไฟฟ้า。เมื่อวัตถุโลหะเข้าใกล้หรือออกจากพื้นที่เหนี่ยวนำที่ประกอบด้วยตัวนำ,การเปลี่ยนแปลงของสนามแม่เหล็กทำให้เกิด EMF,ดังนั้นจึงขับสัญญาณเอาต์พุตสวิตช์。ทิศทางตามการเปลี่ยนแปลงของสนามแม่เหล็ก,สามารถบอกได้ว่าวัตถุโลหะอยู่ใกล้หรือออกจากพื้นที่เหนี่ยวนำ。
2. แนวคิดการเปิดและปิดตามปกติ
เปิดตามปกติหมายความว่าเมื่อวัตถุโลหะไม่ได้อยู่ใกล้กับพื้นที่เหนี่ยวนำ,สวิตช์อยู่ในสถานะตัดการเชื่อมต่อ;การปิดปกติหมายถึงเมื่อวัตถุโลหะอยู่ใกล้กับพื้นที่เหนี่ยวนำ,สวิตช์ปิด。ทั้งสองสถานะสามารถมีระดับต่ำ(0)และระดับสูง(1)แสดง。
สอง、Pythonการใช้รหัส
ด้านล่างเราใช้Pythonเขียนโปรแกรมง่ายๆ,ตระหนักถึงฟังก์ชั่นเปิดปิดตามปกติของสวิตช์ความใกล้ชิด。จำเป็นต้องติดตั้งก่อน`RPi.GPIO`ห้องสมุด,ใช้สำหรับควบคุมพายราสเบอร์รี่GPIOพิน。
```bash
pip install RPi.GPIO
```
เราเขียนPythonรหัส:
1. นำเข้าไลบรารีที่ต้องการและตั้งค่าGPIOรูปแบบ
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
```
2. กำหนดหมายเลขพินสำหรับการเปิดตามปกติและปิดตามปกติ
```python
open_pin = 18 # หมายเลขหมุดเปิดตามปกติ
closed_pin = 23 # หมายเลขหมุดปิดตามปกติ
```
3. ตั้งค่าหมุดเป็นโหมดอินพุตและเริ่มใช้ตัวแปรสถานะ
```python
GPIO.setup(open_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(closed_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
open_state = False # สถานะปิดปริยาย
closed_state = True # ปริยายคือสถานะเปิด
```
4. กำหนดฟังก์ชั่นการตรวจจับและตรวจจับสถานะของวัตถุเป็นวงกลม
```python
def detect_object():
while True:
if GPIO.input(open_pin) == GPIO.LOW: # เมื่อตรวจพบวัตถุที่เป็นโลหะอยู่ใกล้กับหมุดเปิด
open_state = False # เปลี่ยนเป็นสถานะปิด
print("Open")
elif GPIO.input(closed_pin) == GPIO.HIGH: # เมื่อตรวจพบวัตถุที่เป็นโลหะอยู่ใกล้กับหมุดปิด
closed_state = False # เปลี่ยนเป็นสถานะเปิด
print("Closed")
else:
open_state = True # วัตถุโลหะไม่ได้อยู่ใกล้เคียง,ยังคงเปิดเหมือนเดิม
closed_state = True # วัตถุโลหะไม่ได้อยู่ใกล้เคียง,ยังคงปิดเหมือนเดิม
time.sleep(0.5) # ช่วงการตรวจจับแต่ละครั้ง0.5วินาที
```
5. เริ่มฟังก์ชั่นการตรวจจับและรักษาสถานะการทำงาน
```python
try:
detect_object()
except KeyboardInterrupt:
GPIO.cleanup() # ทำความสะอาดGPIOทรัพยากรและออกจากโปรแกรม
```