ARDUINO RPI-1031 4 suuna andur
Tööpõhimõte
- Põhineb optika põhimõtetel.Selle sisemuses on LED 1 tk, valgustundlik vastuvõtutriood 2 tk; ja teisel küljel on üks silindriline varjund; nagu pildil näha:
Vooluahela skeem
- Silindrilise varjundiga LED-i eemal hoidmiseks ja valgustundlik vastuvõtutoru on mõeldud RPl-1031 praeguse oleku tuvastamiseks.
- Kui RPl-1031 pöördub allolevasse olekusse, on LED-tuli varjutatud varjuga; ja kaks valgustundlikku vastuvõtutrioodi ei saa valgust vastu võtta; nad on väljalülitatud olekus. Väljundi madal tase; kaks GPIO-porti annavad mõlemad madala taseme.
- Kui RPl-1031 pöörleb alltoodud olekusse, jäi üks valgustundlikest trioodidest varju, teine saab vastu võtta ainult LED-i kiirgavat valgust; see tähendab, et ülaltoodud valgustundlik triood on sisse lülitatud ja alumine valgustundlik triood on välja lülitatud; siis kaks GPIO porti väljastavad vastavalt kõrge ja madala taseme.
- Kui RPl-1031 pöörleb allpool näidatud olekusse, siis diood ei varjuta, kaks valgustundlikku trioodi saavad valgust vastu võtta; siis on need kõik sisse lülitatud. Mõlema GPIO pordi väljund on kõrge.
- Kui RPl-1031 pöördub allolevasse olekusse, on see olek 4. kirjelduse suhtes vastuolus kahe GPIO-pordi väljundtasemega.
Joonis 2: Sample ühendused.
Sample koodid
I*
e-Gizmo RPl-1031 Nurgaandur 4 suunaandur
See on naguampkaldesuunaanduri sketch anduri väljundpositsioonide kuvamiseks.
RPl-1031 jaoks – http://www.sparkfun.com/products/10621
Muudetud e-Gizmo Mechatronix Centraliga
http://www.e-gizmo.com
juuli 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
}
Joonis 3: pH-anduri jadaprindiväljund.
Dokumendid / Ressursid
![]() |
ARDUINO RPI-1031 4 suuna andur [pdfKasutusjuhend RPI-1031 4 suuna andur, RPI-1031, 4 suuna andur, suunaandur, andur |