ARDUINO RPI-1031 4 senzora smjera
Princip rada
- Zasnovan na principima optike. njegova unutrašnjost ima LED za 1 kom, fotoosjetljivu prijemnu triodu za 2 kom; a druga strana ima jedno cilindrično sjenilo; baš kao što slika prikazuje:
Dijagram strujnog kruga
- Cilindrično sjenilo sprječava prodiranje LED-a, a fotoosjetljiva prijemna cijev služi za otkrivanje trenutnog stanja RPl-1031.
- Kada se RPl-1031 okrene u stanje prikazano ispod, LED je zasjenjen sjenilom; a dvije fotoosjetljive prijemne triode ne mogu primiti svjetlo; bit će u isključenom stanju. Niska razina izlaza; dva GPIO priključka oba izlaze niske razine.
- Kada se RPl-1031 okrene u stanje prikazano ispod, jedna od fotoosjetljivih trioda bila je zasjenjena, svjetlo koje emitira LED može primiti samo druga; to znači da je gornja fotoosjetljiva trioda uključena, a fotoosjetljiva trioda ispod isključena; tada izlaz dva GPIO priključka odnosno izlaz visoke i niske razine.
- Kada se RPl-1031 okrene u stanje prikazano ispod, nijansa ne zasjenjuje dioda će svijetliti, dvije fotoosjetljive triode mogu primiti svjetlo; tada će sve biti uključene. Oba dva GPIO priključka izlaze na visokoj razini.
- Kada se RPl-1031 okrene u stanje prikazano ispod. ovo stanje je suprotno opisu 4. Izmjenit će se izlazna razina dvaju GPIO portova.
Slika 2: Sample veze.
Sample Kodovi
I*
e-Gizmo RPl-1031 Senzor kuta 4 Senzor smjera
Ovo je kaoample skica za senzor smjera nagiba za prikaz položaja izlaza senzora.
Za RPl-1031 – http://www.sparkfun.com/products/10621
Modificirao e-Gizmo Mechatronix Central
http://www.e-gizmo.com
srpnja 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
}
Slika 3: Serijski ispis iz pH senzora.
Dokumenti / Resursi
![]() |
ARDUINO RPI-1031 4 senzora smjera [pdf] Korisnički priručnik RPI-1031 4 senzora smjera, RPI-1031, 4 senzora smjera, senzor smjera, senzor |