ARDUINO RPI-1031 เซนเซอร์ 4 ทิศทาง
หลักการทำงาน
- ตามหลักการด้านทัศนศาสตร์การตกแต่งภายในมี LED สำหรับ 1 ชิ้น, ไตรโอดรับแสงสำหรับ 2 ชิ้น; และอีกด้านหนึ่งมีเฉดสีทรงกระบอกหนึ่งอัน; เช่นเดียวกับภาพที่แสดง:
แผนผังวงจรไฟฟ้า
- โดยใช้เฉดสีทรงกระบอกเพื่อป้องกัน LED และหลอดรับแสงใช้สำหรับตรวจจับสถานะปัจจุบันของ RPl-1031
- เมื่อ RPl-1031 หมุนไปที่สถานะที่แสดงด้านล่าง LED จะถูกบังด้วยร่มเงา และไตรโอดรับแสงสองตัวไม่สามารถรับแสงได้ พวกเขาจะอยู่ในสถานะปิด เอาต์พุตระดับต่ำ พอร์ต GPIO สองพอร์ตเอาต์พุตทั้งสองระดับต่ำ
- เมื่อ RPl-1031 หมุนไปที่สถานะที่แสดงด้านล่าง หนึ่งในไตรโอดไวแสงถูกบังไว้ แสงที่ปล่อยออกมาจาก LED สามารถรับได้จากอีกอันเท่านั้น นั่นหมายความว่าไตรโอดไวแสงด้านบนเปิดอยู่ และไตรโอดไวแสงด้านล่างด้านข้างปิดอยู่ จากนั้นพอร์ต GPIO สองพอร์ตจะส่งออกเอาต์พุตระดับสูงและระดับต่ำตามลำดับ
- เมื่อ RPl-1031 หมุนไปที่สถานะที่แสดงด้านล่าง สีไม่เงาที่ไดโอดจะส่องแสง ไตรโอดไวแสงสองตัวสามารถรับแสงได้ จากนั้นทั้งหมดจะเปิดขึ้น พอร์ต GPIO ทั้งสองพอร์ตให้เอาต์พุตในระดับสูง
- เมื่อ RPl-1031 หมุนไปยังสถานะที่แสดงด้านล่าง สถานะนี้ตรงกันข้ามกับคำอธิบาย 4 ระดับเอาต์พุตพอร์ต GPIO สองพอร์ตจะถูกเชื่อมต่อระหว่างกัน
รูปที่ 2: Sampการเชื่อมต่อ
Sampเลอรหัส
I*
e-Gizmo RPl-1031 เซ็นเซอร์วัดมุม 4 ทิศทาง
นี่คือampร่างสำหรับเซ็นเซอร์ทิศทางการเอียงเพื่อแสดงตำแหน่งเอาต์พุตเซ็นเซอร์
สำหรับ RPl-1031 – http://www.sparkfun.com/products/10621
ดัดแปลงโดย e-Gizmo Mechatronix Central
http://www.e-gizmo.com
เดือนกรกฎาคม 18,2017
*I
#define TILT S1 4
#define TILT_S2 5
#define LED_ TOP 8
#define LED RIGHT 9
#define LED BOTTOM 10
#define LED_LEFT 11
void setup{){
}
Serial.begin(9600);
pinMode(TILT_S1, INPUT);
pinMode(TILT_S2, INPUT);
pinMode(LED TOP, OUTPUT);
pinMode(LED RIGHT, OUTPUT);
pinMode(LED_BOTTOM, OUTPUT);
pinMode(LED_LEFT, OUTPUT);
void loop{){
int position = GET_ TILT POSITION();
Serial.println(position);
//TOP
if(position == 0)
{
}
digitalWrite(LED_TOP, HIGH);
digitalWrite(LED_RIGHT, LOW);
digitalWrite(LED BOTTOM, LOW);
digitalWrite(LED LEFT, LOW);
//RIGHT
if(position == 2)
{
digitalWrite(LED TOP, LOW);
digitalWrite(LED_RIGHT, HIGH);
digitalWrite(LED BOTTOM, LOW);
digitalWrite(LED_LEFT, LOW);
void loop{){
int position = GET_ TILT POSITION();
Serial.println(position);
//TOP
if(position == 0)
{
}
digitalWrite(LED_TOP, HIGH);
digitalWrite(LED_RIGHT, LOW);
digitalWrite(LED BOTTOM, LOW);
digitalWrite(LED LEFT, LOW);
//RIGHT
if(position == 2)
{
digitalWrite(LED TOP, LOW);
digitalWrite(LED_RIGHT, HIGH);
digitalWrite(LED BOTTOM, LOW);
digitalWrite(LED_LEFT, LOW);
}
//LEFT
if(position == 1)
{
}
digitalWrite(LED TOP, LOW);
digitalWrite(LED_RIGHT, LOW);
digitalWrite(LED BOTTOM, LOW);
digitalWrite(LED_LEFT, HIGH);
//BOTTOM
if(position == 3)
{
}
digitalWrite(LED TOP, LOW);
digitalWrite(LED RIGHT, LOW);
digitalWrite(LED_BOTTOM, HIGH);
digitalWrite(LED LEFT, LOW);
delay(200); //DELAY
}
int GET_TILT_POSITION(){
int S1 = digitalRead(TILT_S1);
int S2 = digitalRead(TILT _S2);
return (S1 << 1) I S2; //BITWISE MATH
}
รูปที่ 3: การพิมพ์แบบอนุกรมจากเซ็นเซอร์ pH
เอกสาร / แหล่งข้อมูล
![]() |
ARDUINO RPI-1031 เซนเซอร์ 4 ทิศทาง [พีดีเอฟ] คู่มือการใช้งาน RPI-1031 เซ็นเซอร์ 4 ทิศทาง, RPI-1031, เซ็นเซอร์ 4 ทิศทาง, เซ็นเซอร์ทิศทาง, เซ็นเซอร์ |