ลองเล่นกับ สวิตช์ปรอท [Mercury tilt switch]
บทความสอนวิธีการต่อและการใช้งาน Mercury tilt switch
25 October, 2019 by
ลองเล่นกับ สวิตช์ปรอท [Mercury tilt switch]
Liew Wuttipat
| No comments yet

Mercury switch คือสวิตช์อิเล็กทรอนิกส์ที่ปิดเปิดวงจรได้ สวิตช์ปรอทจะประกอบด้วยหลอดแก้วกลวงขนาดเล็ก โดยมีโลหะปรอทเหลวอยู่ภายใน ที่ด้านหนึ่งจะมีขั่วไฟฟ้าอยู่ 2 ขั่ว เมื่อตัวสวิตช์ปรอทเอียง ปรอทที่เป็นของเหลวภายในก็จะไหลไปมาได้ แต่ถ้าหากไปชนที่ขั่วไฟฟ้าก็จะทำให้วงจรทำงาน ซึ่งการทำงานก็เหมือนกับ Ball tilt switch

ข้อดีของการใช้ Mercury tilt switch คือ
1. จุดสัมผัสเป็นปรอทเหลว ทำให้ไม่เกิดการ Oxidation
2. จุดสัมผัสนั้นอยู่ภายในแก้ว ทำให้จะไม่เกิดประกายไฟเวลาวงจรทำงาน
3. สวิชต์ทำงานได้เงียบ ไม่มีเสียงอะไรชนกัน
4. จุดสัมผัสจะสะอาดอยู่ตลอดเวลา

วงจรจะเป็นการต่อแบบ PULLUP






#include <Arduino.h>

const int SWITCH_PIN = 2;
const int LED_PIN = 13;

void setup()
{
  pinMode(SWITCH_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
}

void loop()
{
  if (digitalRead(SWITCH_PIN) == 0)
  {
    digitalWrite(LED_PIN, 1);
  }
  else
  {
    digitalWrite(LED_PIN, 0);
  }
  delay(100);
}


โปรแกรมนี้จะเป็นโปรแกรมที่เมื่อสวิตช์ปรอททำงาน ไฟ LED ที่บอร์ด Arduino จะติด แต่ถ้าสวิตช์ปรอทไม่ทำงาน ไฟ LED จะดับ


const int SWITCH_PIN = 2;
const int LED_PIN = 13;

void setup()
{
  pinMode(SWITCH_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
}


ประกาศขาสวิตช์ปรอทไว้ที่ขา D2 เป็นชนิด INPUT และหลอดไฟ LED ที่ขา D13 เป็น OUTPUT


void loop()
{
  if (digitalRead(SWITCH_PIN) == 0)
  {
    digitalWrite(LED_PIN, 1);
  }
  else
  {
    digitalWrite(LED_PIN, 0);
  }
  delay(100);
}


อ่านค่าดิจิตอลจากขาสวิตช์ปรอท SWITCH_PIN ถ้าหากอ่านได้ 0 (LOW) จะทำการสั่งหลอดไฟ LED_PIN ให้เป็น 1 (HIGH) หลอดไฟจะติด แต่ถ้าหากอ่านค่าดิจิตอลจากขาสวิตช์ปรอทได้ 1 จะสั่งให้หลอดไฟ LED ดับ และหน่วงเวลาเล็กน้อย


อ่านค่าดิจิตอลได้ 0 ไฟติด


อ่านค่าดิจิตอลได้ 1 ไฟดับ


Sign in to leave a comment