ARDUINO RPI-1031 4方向感測器

ARDUINO RPI-1031 4方向感測器

工作原理

  1. 根據光學原理,其內部有1個LED,2個光敏接收三極管,另一側有一個圓柱形燈罩,如圖所示:
    工作原理
    電路圖
    電路圖
  2. 透過圓柱形燈罩遮擋LED,光敏接收管用於偵測RPl-1031目前狀態。
    工作原理
  3. 當RPl-1031旋轉到下圖所示狀態時,LED被燈罩遮擋,兩個光敏接收三極管收不到光線,處於截止狀態,輸出低電平;兩個GPIO口均輸出低電平。
    工作原理
  4. 當RPl-1031旋轉到下圖所示狀態時,其中一側的光敏三極管被遮蔽,LED發出的光只能被另一側的光敏三極管接收到,即上面的光敏三極管導通,下面的光敏三極管截止;然後兩個GPIO口輸出分別輸出高電位和低電位。
    工作原理
  5. 當RPl-1031旋轉到下圖狀態時,燈罩不遮擋,二極體發光,兩個光敏三極管受光,此時全部點亮,兩個GPIO口都輸出高電平。
    工作原理
  6. 當RPl-1031旋轉到如下所示的狀態時,該狀態與描述4相反,兩個GPIO連接埠的輸出電平將相互改變。

圖 2:Samp連接。
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 年 XNUMX 月
*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 感測器的串列列印輸出。
pH 感測器的串列列印輸出

標識

文件/資源

ARDUINO RPI-1031 4方向感測器 [pdf] 使用者手冊
RPI-1031 4方向感測器,RPI-1031,4方向感測器,方向感測器,感測器

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *