ARDUINO RPI-1031 4-retningssensor
Driftsprinsipp
- Basert på optiske prinsipper. Interiøret har LED for 1 stk, lysfølsom mottakstriode for 2 stk; og den andre siden har en sylindrisk skjerm; akkurat som bildet viser:
Kretsdiagram
- Med sylindrisk skjerm for å holde LED ute, og lysfølsomt mottaksrør er for å oppdage RPl-1031 gjeldende tilstand.
- Når RPl-1031 roterer til tilstanden vist som nedenfor, skygges LED av skyggen; og to lysfølsomme mottakstrioder kan ikke motta lyset; de vil være i av-tilstand. lavt utgangsnivå; to GPIO-porter gir begge ut lavt nivå.
- Når RPl-1031 roterer til tilstanden vist som nedenfor, ble en av de lysfølsomme triodene skyggelagt, lyset som sendes ut av LED kan bare mottas av den andre; det betyr at den lysfølsomme trioden over er på, og den lysfølsomme trioden under siden er av; deretter gir to GPIO-porter ut henholdsvis høyt nivå og lavt nivå.
- Når RPl-1031 roterer til tilstanden vist som nedenfor, skygger ikke skyggen, dioden vil skinne, to lysfølsomme trioder kan motta lyset; da vil alle være på. Begge to GPIO-porter gir ut høyt nivå.
- Når RPl-1031 roterer til tilstanden vist som nedenfor, vil denne tilstanden være ugunstig i forhold til beskrivelse 4, to GPIO-porters utgangsnivå vil bli sammenkoblet.
Figur 2: Sample forbindelser.
Sample koder
I*
e-Gizmo RPl-1031 Vinkelsensor 4 Retningssensor
Dette er somampen skisse for tiltretningssensor for å vise sensorutgangsposisjonene.
For RPl-1031 – http://www.sparkfun.com/products/10621
Modifisert av e-Gizmo Mechatronix Central
http://www.e-gizmo.com
juli 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
}
Figur 3: Seriell utskrift fra pH-sensor.
Dokumenter / Ressurser
![]() |
ARDUINO RPI-1031 4-retningssensor [pdfBrukerhåndbok RPI-1031 4-retningssensor, RPI-1031, 4-retningssensor, retningssensor, sensor |