ARDUINO RPI-1031 4方向センサー
動作原理
- 光学原理に基づいています。内部には 1 個の LED、2 個の感光性受信三極管があり、反対側には XNUMX つの円筒形シェードがあります。写真が示すとおりです。
回路図
- LEDを遮断する円筒形のシェードと、RPl-1031の現在の状態を検出するための感光性受信管が付いています。
- RPl-1031 が下図の状態に回転すると、LED が影で影になり、XNUMX つの受光三極管は光を受け取ることができず、オフ状態になります。出力は Low レベル、XNUMX つの GPIO ポートは両方とも Low レベルを出力します。
- RPl-1031 が下図の状態まで回転すると、感光三極管の XNUMX つが影になり、LED が発した光のみがもう XNUMX つで受光されます。つまり、上側の感光三極管がオンになり、下側の感光三極管がオフになります。 XNUMX つの GPIO ポート出力はそれぞれハイ レベルとロー レベルを出力します。
- RPl-1031 が以下に示す状態まで回転すると、影が影にならずダイオードが光り、XNUMX つの感光性三極管が光を受け取ることができ、すべてがオンになります。XNUMX つの GPIO ポートは両方ともハイ レベルを出力します。
- RP1031-4 が以下に示す状態に回転すると、この状態は説明 XNUMX に反します。XNUMX つの 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年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 センサーからのシリアル印刷出力。
ドキュメント / リソース
![]() |
ARDUINO RPI-1031 4方向センサー [pdf] ユーザーマニュアル RPI-1031 4 方向センサー、RPI-1031、4 方向センサー、方向センサー、センサー |