ข้อมูลบริษัท
ผลิตภัณฑ์ขายร้อน
โพสต์ล่าสุด

Proximity Switch ปกติเปิดและปิดการวิเคราะห์รหัสและการใช้งาน

  • เวลา.2024-04-07 11:46:32
  • คลิก.0

ในระบบควบคุมอัตโนมัติ/สวิตช์ความใกล้เคียงเป็นเซ็นเซอร์ทั่วไป/สำหรับตรวจจับระยะห่างระหว่างวัตถุและเซ็นเซอร์。บทความนี้จะแนะนำรายละเอียดเกี่ยวกับสองโหมดการทำงานปกติเปิดและปิดปกติของสวิทช์ความใกล้ชิด/并提供相应ของ代码示例。

## หนึ่ง、หลักการทำงานของสวิตช์ความใกล้เคียง

สวิตช์ความใกล้ชิดมักประกอบด้วยหน้าสัมผัสโลหะและวงจร。เมื่อวัตถุอยู่ใกล้เซ็นเซอร์/金属触点会被触发/使电路闭合;เมื่อวัตถุอยู่ห่างจากเซนเซอร์/金属触点断开/使电路断开。根据金属触点ของ开关状态/เราสามารถแบ่งสวิตช์ความใกล้ชิดออกเป็นประเภทเปิดตามปกติและประเภทปิดตามปกติ。

### 1. 常开型接近开关

สวิตช์ความใกล้ชิดแบบเปิดตามปกติเมื่อไม่พบวัตถุ/电路始终处于闭合状态。ซึ่งหมายความว่าเมื่อเซ็นเซอร์ตรวจพบวัตถุ/สัญญาณเอาต์พุตเป็นระดับต่ำ;เมื่อเซ็นเซอร์未检测到物体时/สัญญาณเอาต์พุตเป็นระดับสูง。

以下是หนึ่ง个使用Arduinoตัวอย่างง่ายๆของการควบคุมสวิตช์ความใกล้ชิดแบบเปิดปกติ.

```cpp

const int proximityPin = A0; // กำหนดพินอินพุทอะนาล็อกสำหรับการเชื่อมต่อสวิตช์ความใกล้ชิด

const int buttonPin = 2; // กำหนดหมุดอินพุทดิจิตอลสำหรับการเชื่อมต่อปุ่ม

void setup() {

pinMode(proximityPin, INPUT); // ตั้งค่าพินสวิตช์ความใกล้เคียงเป็นโหมดอินพุต

pinMode(buttonPin, INPUT); // ตั้งค่าหมุดปุ่มเป็นโหมดอินพุต

}

void loop() {

int proximityValue = analogRead(proximityPin); // 读取接近开关ของ模拟值

int buttonValue = digitalRead(buttonPin); // 读取按钮สถานะ

if (!buttonValue) { // 如果按钮未按下

Serial.println("Button not pressed"); // 通过串口ส่ง信息

} else if (proximityValue > 500) { // หากสวิตช์ความใกล้เคียงถูกกระตุ้นและระยะห่างน้อยกว่า500mm

Serial.println("Proximity sensor triggered"); // 通过串口ส่ง信息

} else { // 其他情况

Serial.println("Unknown event"); // 通过串口ส่ง信息

}

}

```

### 2. 常闭型接近开关

สวิตช์ความใกล้ชิดแบบปกติเมื่อไม่พบวัตถุ/电路始终处于断开状态。ซึ่งหมายความว่าเมื่อเซ็นเซอร์ตรวจพบวัตถุ/สัญญาณเอาต์พุตเป็นระดับสูง;เมื่อเซ็นเซอร์未检测到物体时/สัญญาณเอาต์พุตเป็นระดับต่ำ。

以下是หนึ่ง个使用Arduinoตัวอย่างง่ายๆ ของการควบคุมสวิตช์ความใกล้ชิดแบบปิดปกติ.

```cpp

const int proximityPin = A0; // กำหนดพินอินพุทอะนาล็อกสำหรับการเชื่อมต่อสวิตช์ความใกล้ชิด

const int buttonPin = 2; // กำหนดหมุดอินพุทดิจิตอลสำหรับการเชื่อมต่อปุ่ม

const int ledPin = 13; // คำนิยามLED连接ของ数字输出引脚

bool isTriggered = false; // เพื่อจัดเก็บตัวแปรสถานะว่าสวิตช์ความใกล้เคียงถูกเรียกใช้หรือไม่

void setup() {

pinMode(proximityPin, INPUT); // ตั้งค่าพินสวิตช์ความใกล้เคียงเป็นโหมดอินพุต

pinMode(buttonPin, INPUT); // ตั้งค่าหมุดปุ่มเป็นโหมดอินพุต

pinMode(ledPin, OUTPUT); // การตั้งค่าLED引脚为输出模式

}

void loop() {

int proximityValue = analogRead(proximityPin); // 读取接近开关ของ模拟值

int buttonValue = digitalRead(buttonPin); // 读取按钮สถานะ

if (!buttonValue) { // หากไม่ได้กดปุ่มและไม่เคยถูกเรียกใช้งาน

isTriggered = false; // ใส่状态变量重置为false

int timeDelay = delay(1000); // ดีเลย์1วินาที以消除抖动

int ledState = digitalRead(ledPin); // 在循环开始前读取LEDสถานะ/避免不必要ของ闪烁

while (digitalRead(ledPin) == ledState) {} // เมื่อLED状态仍为原来状态时/继续等待

arduino_fast_led_on(); // ใส่LEDการตั้งค่า为亮状态(สามารถทดแทนการดำเนินงานอื่นๆ ได้ตามความต้องการที่แท้จริง)

analogWrite(148, HIGH); // ตั้งค่ารีเลย์ให้อยู่ในระดับสูงเพื่อเปิดอุปกรณ์บางอย่าง(如门禁)

analogWrite(147, HIGH); // ตั้งค่ารีเลย์ให้อยู่ในระดับสูงเพื่อปิดอุปกรณ์บางอย่าง(如门禁)

analogWrite(146, HIGH); // ตั้งค่ารีเลย์ให้อยู่ในระดับสูงเพื่อเปิดอุปกรณ์อื่น(如照明)

analogWrite(145, HIGH); // ตั้งค่ารีเลย์ให้อยู่ในระดับสูงเพื่อปิดอุปกรณ์อื่น(如照明)

uint32_t startTime = micros(); // บันทึกเวลาปัจจุบันหลังจากปิดรีเลย์(用于计算延迟เวลา)

uint32_t delayDuration = THREE_SECONDS * US_IN_SEC; // ใส่ดีเลย์เวลาการตั้งค่า为3วินาที(สามารถปรับเปลี่ยนได้ตามความต้องการที่แท้จริง)

uint32_t endTime = startTime + delayDuration; // คำนวณเวลาสิ้นสุดตามเวลาเริ่มต้นและเวลาหน่วงเวลา(可用于防止过度ดีเลย์)

สินค้าแนะนำ

  • KJT10-G4S25-PC3X-SU2 φ4เซ็นเซอร์ฮอลล์ขนาดเล็กพิเศษ|รุ่นเซ็นเซอร์ฮอลล์ขนาดเล็กพิเศษ-พารามิเตอร์-การวาดภาพ

    KJT10-G4S25-PC3X-SU2 φ4เซ็นเซอร์ฮอลล์ขนาดเล็กพิเศษ|รุ่นเซ็นเซอร์ฮอลล์ขนาดเล็กพิเศษ-พารามิเตอร์-การวาดภาพ

  • M18สวิตช์ตาแมวชนิดป้องกันการระเบิด(ประเภทการยิง)|รูปแบบผลิตภัณฑ์สวิทช์ตาแมว-พารามิเตอร์-แผนภาพการเดินสาย

    M18สวิตช์ตาแมวชนิดป้องกันการระเบิด(ประเภทการยิง)|รูปแบบผลิตภัณฑ์สวิทช์ตาแมว-พารามิเตอร์-แผนภาพการเดินสาย

  • KB-5105สวิตช์การเดินทาง|Limit Switch รุ่นผลิตภัณฑ์-พารามิเตอร์-แผนภาพการเดินสาย

    KB-5105สวิตช์การเดินทาง|Limit Switch รุ่นผลิตภัณฑ์-พารามิเตอร์-แผนภาพการเดินสาย

  • เซ็นเซอร์เร่งแรงกระแทกK15G40|รุ่นผลิตภัณฑ์เซ็นเซอร์การสั่นสะเทือน-พารามิเตอร์-แผนภาพการเดินสาย

    เซ็นเซอร์เร่งแรงกระแทกK15G40|รุ่นผลิตภัณฑ์เซ็นเซอร์การสั่นสะเทือน-พารามิเตอร์-แผนภาพการเดินสาย

  • φ21mmสวิตช์ความใกล้ชิดแหวน|ประเภทสินค้า สวิทช์ความใกล้ชิดอุปนัย-พารามิเตอร์-แผนภาพการเดินสาย

    φ21mmสวิตช์ความใกล้ชิดแหวน|ประเภทสินค้า สวิทช์ความใกล้ชิดอุปนัย-พารามิเตอร์-แผนภาพการเดินสาย

  • M30ฝังสวิตช์ความใกล้ชิดโลหะทั้งหมด)ประเภทแพทช์<|สวิทช์ความใกล้เคียงอุปนัย รูปแบบผลิตภัณฑ์-พารามิเตอร์-แผนภาพการเดินสาย

    M30ฝังสวิตช์ความใกล้ชิดโลหะทั้งหมด)ประเภทแพทช์

  • SPDT ON-ON KT-12Bสวิตช์ Newzi|รูปแบบผลิตภัณฑ์สวิทช์ปุ่ม-พารามิเตอร์-แผนภาพการเดินสาย

    SPDT ON-ON KT-12Bสวิตช์ Newzi|รูปแบบผลิตภัณฑ์สวิทช์ปุ่ม-พารามิเตอร์-แผนภาพการเดินสาย

  • KSS-5GLไมโครสวิตช์|Limit Switch รุ่นผลิตภัณฑ์-พารามิเตอร์-แผนภาพการเดินสาย

    KSS-5GLไมโครสวิตช์|Limit Switch รุ่นผลิตภัณฑ์-พารามิเตอร์-แผนภาพการเดินสาย

  • KJTTBHประเภทการวัด ม่านแสงความปลอดภัย|รูปแบบผลิตภัณฑ์ของตะแกรงความปลอดภัย-พารามิเตอร์-แผนภาพการเดินสาย

    KJTTBHประเภทการวัด ม่านแสงความปลอดภัย|รูปแบบผลิตภัณฑ์ของตะแกรงความปลอดภัย-พารามิเตอร์-แผนภาพการเดินสาย

  • KJT-7071-12Barrier ความปลอดภัยแยก

    KJT-7071-12Barrier ความปลอดภัยแยก