Reed Switch
สวิตช์เป็นสวิตช์ ไฟฟ้า ที่ใช้งานได้เมื่อนำสนามแม่เหล็กมาใกล้ มันถูกคิดค้นโดยWB Ellwoodในปี 1936 ที่ห้องทดลองระฆัง ประกอบด้วยชิ้นโลหะขนาดเล็ก 2 ชิ้นเก็บไว้ในท่อแก้วภายใต้สูญญากาศ ในสวิทช์กกทั่วไปสองชิ้นโลหะจะทำจากวัสดุที่เป็นเหล็กและเคลือบด้วยโรเดียมหรือรูทีเนียมเพื่อให้ชีวิตยาวนาน สวิทช์จะเปิดใช้งานเมื่อมีการปรากฏตัวของสนามแม่เหล็กรอบสวิทช์
ฝาครอบแก้วของชิ้นโลหะทั้งสองช่วยปกป้องผิวจากสิ่งสกปรกฝุ่นและอนุภาคอื่น ๆ สวิตช์กกสามารถใช้งานได้ในทุกสภาพแวดล้อมเช่นสภาพแวดล้อมที่มีแก๊สไวไฟหรือสภาพแวดล้อมที่การกัดกร่อนส่งผลต่อสวิทช์แบบเปิด
มีสองประเภทของการเปลี่ยนกก
- เปิดสวิตช์กกโดยปกติ
- สวิตช์ปิดกกปกติ
ในสวิตช์เปิดโล่ปกติสวิทช์เปิดอยู่ในที่ที่ไม่มีสนามแม่เหล็กและถูกปิดไว้ในที่ที่มีสนามแม่เหล็ก ด้านที่เป็นโลหะภายในหลอดแก้วจะอยู่ติดกับสนามแม่เหล็ก
ในปกติปิดสวิทช์กก , สวิทช์ปิดให้บริการในกรณีที่ไม่มีสนามแม่เหล็กและจะเปิดให้บริการในการปรากฏตัวของสนามแม่เหล็ก
การประยุกต์ใช้สวิตช์ Reed
- ใช้ในการแลกเปลี่ยนทางโทรศัพท์
- ในแล็ปท็อปที่จะวางหน้าจอในการนอนหลับถ้าฝาปิด
- ใช้ในเซ็นเซอร์หน้าต่างและประตูในระบบกันขโมย
องค์ประกอบที่จำเป็น
- Arduino Uno
- สวิตช์กก
- ตัวต้านทาน
- LED
- แม่เหล็ก
- สายเชื่อมต่อ
Arduino Reed Switch วงจรแผนภาพ
การทำงานของ Reed Switch กับ Arduino
Arduino Uno เป็นไมโครคอนโทรลเลอร์แบบโอเพ่นซอร์สที่ใช้ไมโครคอนโทรลเลอร์ ATmega328p มีหมุดดิจิทัลจำนวน 14 แบบ (จาก 6 ขาสามารถใช้เป็นเอาท์พุท PWM) 6 อินพุตแบบอนาล็อกตัวควบคุมแรงดันไฟฟ้าของบอร์ดเป็นต้น Arduino Uno มีหน่วยความจำ 32KB, SRAM 2KB และ EEPROM 1KB ทำงานที่ความถี่นาฬิกา 16MHz Arduino Uno รองรับการสื่อสารแบบอนุกรม, I2C, SPI สำหรับการสื่อสารกับอุปกรณ์อื่น ๆ ตารางด้านล่างแสดงข้อมูลทางเทคนิคของ Arduino Uno
ไมโครคอนโทรลเลอร์
|
ATmega328p
|
แรงดันไฟฟ้าที่ใช้งาน
|
5V
|
แรงดันไฟฟ้าขาเข้า
|
7-12V (แนะนำ)
|
หมุด I / O ดิจิทัล
|
14
|
หมุดอนาล็อก
|
6
|
หน่วยความจำ Flash
|
32KB
|
SRAM
|
2KB
|
EEPROM
|
1KB
|
ความเร็วสัญญาณนาฬิกา
|
16MHz
|
หากต้องการเชื่อมต่อกับ Arduinoเราจำเป็นต้องสร้างวงจรแบ่งแรงดันไฟฟ้าดังแสดงในรูปด้านล่าง Vo คือ + 5V เมื่อสวิตช์เปิดอยู่และ 0V เมื่อปิดสวิทช์ เราใช้สวิตช์กกที่เปิดตามปกติในโครงการนี้ สวิตช์ปิดอยู่ในที่ที่มีสนามแม่เหล็กและเปิดอยู่ในที่ที่ไม่มีสนามแม่เหล็ก
คำอธิบายโค้ด
รหัสที่สมบูรณ์สำหรับโครงการสลับ Arduino Reed นี้จะได้รับในตอนท้ายของบทความนี้ โค้ดนี้แบ่งออกเป็นส่วนเล็ก ๆ ที่มีความหมายและอธิบายไว้ด้านล่าง
ในส่วนนี้ของโค้ดเราจะต้องกำหนดหมุดที่สวิตช์ Reed และ LED ซึ่งเชื่อมต่อกับ Arduino สวิตช์กกได้เชื่อมต่อกับขาดิจิตอล 4 ของ Arduino และ LED เชื่อมต่อกับขา 7 ของ Arduino ผ่านตัวต้านทาน จำกัด กระแส ตัวแปร"reed_status"ใช้เพื่อควบคุมสถานะของสวิตช์กก
int LED = 7; int reed_switch = 4; int reed_status;
ในส่วนของรหัสนี้เราจะต้องตั้งค่าสถานะของหมุดที่ LED และสวิทช์กกมีการเชื่อมต่อ หมายเลข PIN 4 ถูกตั้งค่าเป็นอินพุทและหมายเลขพิน 7 ถูกตั้งค่าเป็นเอาท์พุท
การตั้งค่าเป็นโมฆะ () { pinMode (LED, OUTPUT); pinMode (reed_switch, INPUT); }
ต่อไปเราจะต้องอ่านสถานะของสวิทช์กก หากมีค่าเท่ากับ 1 สวิตช์จะเปิดอยู่และ LED จะดับลง หากมีค่าเท่ากับ 0 สวิตช์จะปิดและเราต้องเปิดไฟ LED กระบวนการนี้จะทำซ้ำทุกๆวินาที งานนี้ทำได้โดยใช้ส่วนของโค้ดด้านล่างนี้
void loop ()
{
reed_status = digitalRead (reed_switch);
if (reed_status == 1)
digitalWrite (LED, ต่ำ);
อื่น
digitalWrite (LED, HIGH);
ล่าช้า (1000)
}
ดังนั้นคุณจึงได้เห็นการใช้ Reed Switch กับ Arduino เป็นเรื่องง่ายมาก
รหัส
int LED = 7;
int reed_switch = 4;
int reed_status;
int reed_switch = 4;
int reed_status;
การตั้งค่าเป็นโมฆะ ()
{
pinMode (LED, OUTPUT);
pinMode (reed_switch, INPUT);
}
{
pinMode (LED, OUTPUT);
pinMode (reed_switch, INPUT);
}
void loop ()
{
reed_status = digitalRead (reed_switch);
ถ้า (reed_status == 1)
digitalWrite (LED, LOW);
อื่น
digitalWrite (LED, HIGH);
ล่าช้า (1000)
}
{
reed_status = digitalRead (reed_switch);
ถ้า (reed_status == 1)
digitalWrite (LED, LOW);
อื่น
digitalWrite (LED, HIGH);
ล่าช้า (1000)
}
วีดีโอ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น