Sensor de 1031 direccions ARDUINO RPI-4
Principi de funcionament
- Basat en principis òptics. El seu interior té LED per a 1 unitat, triode receptor fotosensible per a 2 peces; i l'altre costat té una ombra cilíndrica; tal com mostra la imatge:
Diagrama de circuits
- Per ombra cilíndrica per evitar el LED, i el tub receptor fotosensible és per detectar l'estat actual de RPl-1031.
- Quan RPl-1031 gira a l'estat que es mostra a continuació, el LED està ombrejat per l'ombra; i dos triodes receptors fotosensibles no poden rebre la llum; estaran en estat apagat. nivell de sortida baix; dos ports GPIO de baix nivell.
- Quan RPl-1031 gira a l'estat que es mostra a continuació, un dels triodes fotosensibles estava ombrejat, la llum emesa pel LED només la pot rebre l'altre; això vol dir que el triode fotosensible superior està activat i el triode fotosensible inferior està apagat; llavors dos ports GPIO surten respectivament d'alt nivell i de baix nivell.
- Quan RPl-1031 gira a l'estat que es mostra a continuació, l'ombra no fa ombra, el díode brillarà, dos triodes fotosensibles poden rebre la llum; aleshores tots estaran activats. Els dos ports GPIO sortiran d'alt nivell.
- Quan RPl-1031 gira a l'estat que es mostra a continuació. Aquest estat és advers a la descripció 4, el nivell de sortida de dos ports GPIO s'intercanviaran.
Figura 2: Samples connexions.
Sampels codis
I*
e-Gizmo RPl-1031 Sensor d'angle 4 Sensor de direcció
Això és aixíampEsbós del sensor de direcció d'inclinació per mostrar les posicions de sortida del sensor.
Per al RPl-1031 - http://www.sparkfun.com/products/10621
Modificat per e-Gizmo Mechatronix Central
http://www.e-gizmo.com
Juliol 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
}
Figura 3: sortida d'impressió en sèrie del sensor de pH.
Documents/Recursos
![]() |
Sensor de 1031 direccions ARDUINO RPI-4 [pdfManual d'usuari RPI-1031 Sensor de 4 direccions, RPI-1031, Sensor de 4 direccions, Sensor de direcció, sensor |