Senzor cu 1031 direcții ARDUINO RPI-4
Principiul de funcționare
- Bazat pe principiile optice. Interiorul său are LED pentru 1 buc, triodă de recepție fotosensibilă pentru 2 buc; iar cealaltă parte are o umbră cilindrică; exact așa cum arată imaginea:
Schema circuitului
- Prin umbra cilindrică pentru a împiedica LED-ul, iar tubul fotosensibil de recepție este pentru detectarea stării curente a RPl-1031.
- Când RPl-1031 se rotește în starea prezentată mai jos, LED-ul este umbrit de umbră; iar două triode de recepție fotosensibile nu pot primi lumina; vor fi în stare oprită. nivel scăzut de ieșire; două porturi GPIO ies ambele nivel scăzut.
- Când RPl-1031 se rotește în starea prezentată mai jos, una dintre triodele fotosensibile a fost umbrită, lumina emisă de LED-uri poate fi recepționată numai de cealaltă; ceea ce înseamnă că trioda fotosensibilă de deasupra este pornită, iar trioda fotosensibilă de dedesubt este oprită; apoi două porturi GPIO ies la nivel înalt și respectiv la nivel scăzut.
- Când RPl-1031 se rotește în starea prezentată mai jos, umbra nu umbră, dioda va străluci, două triode fotosensibile pot primi lumina; apoi toate vor fi pornite. Ambele porturi GPIO ies la nivel înalt.
- Când RPl-1031 se rotește la starea prezentată mai jos, această stare este negativă descrierii 4, două niveluri de ieșire porturi GPIO vor fi intercahnizate.
Figura 2: Sample conexiuni.
Sample Codes
I*
e-Gizmo RPl-1031 Senzor de unghi 4 Senzor de direcție
Așa esteampSchiță pentru senzorul de direcție de înclinare pentru a afișa pozițiile de ieșire ale senzorului.
Pentru RPl-1031 – http://www.sparkfun.com/products/10621
Modificat de e-Gizmo Mechatronix Central
http://www.e-gizmo.com
iulie 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: Ieșire de imprimare în serie de la senzorul de pH.
Documente/Resurse
![]() |
Senzor cu 1031 direcții ARDUINO RPI-4 [pdfManual de utilizare RPI-1031 Senzor cu 4 direcții, RPI-1031, Senzor cu 4 direcții, Senzor de direcție, Senzor |