ARDUINO RPI-1031 4 senzor smeri
Načelo delovanja
- Temelji na načelih optike. Njegova notranjost ima LED za 1 kos, fotoobčutljivo sprejemno triodo za 2 kosa; druga stran pa ima en cilindrični senčnik; tako kot prikazuje slika:
Shema vezja
- S cilindričnim senčnikom, ki preprečuje vstop LED, in fotoobčutljiva sprejemna cev je za zaznavanje trenutnega stanja RPl-1031.
- Ko se RPl-1031 obrne v stanje, kot je prikazano spodaj, je LED zasenčena s senčnikom; dve fotoobčutljivi sprejemni triodi ne moreta sprejeti svetlobe; bosta v izklopljenem stanju. izhodna nizka raven; dve vrati GPIO oba oddajata nizko raven.
- Ko se RPl-1031 zavrti v stanje, kot je prikazano spodaj, je bila ena od fotoobčutljivih triod zasenčena, svetlobo, ki jo oddaja LED, lahko sprejme samo druga; to pomeni, da je zgornja fotoobčutljiva trioda vklopljena, fotoobčutljiva trioda pod stranjo pa je izklopljena; nato dva GPIO vrata izhoda oz. izhod visoke in nizke ravni.
- Ko se RPl-1031 obrne v stanje, kot je prikazano spodaj, senčnik ne zasenči dioda bo svetila, dve fotoobčutljivi triodi lahko sprejmeta svetlobo; potem bodo vse vklopljene. Oba od dveh vrat GPIO izhodna visoka raven.
- Ko se RPl-1031 obrne v stanje, kot je prikazano spodaj, je to stanje v nasprotju z opisom 4. Dve izhodni ravni vrat GPIO bosta zamenjani.
Slika 2: Sample povezave.
Sample kode
I*
e-Gizmo RPl-1031 Senzor kota 4 Senzor smeri
To je kotample skica za senzor smeri nagiba za prikaz izhodnih položajev senzorja.
Za RPl-1031 – http://www.sparkfun.com/products/10621
Spremenil e-Gizmo Mechatronix Central
http://www.e-gizmo.com
julij 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: Serijsko tiskanje iz senzorja pH.
Dokumenti / Viri
![]() |
ARDUINO RPI-1031 4 senzor smeri [pdfUporabniški priročnik RPI-1031 4 senzor smeri, RPI-1031, 4 senzor smeri, senzor smeri, senzor |