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

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

แรงดันที่ใช้ในการทำงาน (Operating Voltage) : 3.3V ~ 5V
ชนิดของค่าที่ให้ออกมา (Output Type) : ดิจิตอล 0 หรือ 1

วงจรจะเป็นการต่อแบบ 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