ARDUINO RPI-1031 4 czujnik kierunku
Zasada działania
- Opiera się na zasadach optyki. Wewnątrz znajduje się dioda LED na 1 szt., światłoczuła trioda odbiorcza na 2 szt., a druga strona ma jeden cylindryczny klosz; tak jak pokazano na zdjęciu:
Schemat obwodu - Cylindryczny klosz chroniący diodę LED przed światłem, a światłoczuła rurka odbiorcza służy do wykrywania aktualnego stanu RPl-1031.
- Kiedy RPl-1031 obraca się do stanu pokazanego poniżej, dioda LED jest zacieniona przez klosz, a dwie światłoczułe triody odbiorcze nie mogą odbierać światła; będą w stanie wyłączonym. Niski poziom wyjściowy, oba porty GPIO generują niski poziom.
- Kiedy RPl-1031 obraca się do stanu pokazanego poniżej, jedna ze światłoczułych triod została zacieniona, światło emitowane tylko przez diodę LED może zostać odebrane przez drugą; oznacza to, że górna trioda światłoczuła jest włączona, a światłoczuła trioda dolna jest wyłączona; następnie dwa porty GPIO wyprowadzają odpowiednio wysoki i niski poziom.
- Gdy RPl-1031 obróci się do stanu pokazanego poniżej, klosz nie rzuca cienia, dioda będzie świecić, dwie światłoczułe triody będą mogły odbierać światło; wtedy wszystkie będą włączone. Obydwa porty GPIO wysyłają wysoki poziom.
- Gdy RPl-1031 obróci się do stanu pokazanego poniżej. Stan ten jest niekorzystny do opisu 4. Poziom wyjściowy dwóch portów GPIO zostanie przełączony.
Rysunek 2: Samppołączenia plików.
Sample Kody
I*
e-Gizmo RPl-1031 Czujnik kąta 4 Czujnik kierunku
To jest jakampSzkic czujnika kierunku przechyłu przedstawiający pozycje wyjściowe czujnika.
Dla RPl-1031 – http://www.sparkfun.com/products/10621
Zmodyfikowany przez e-Gizmo Mechatronix Central
http://www.e-gizmo.com
Lipiec 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
}
Rysunek 3: Wydruk szeregowy z czujnika pH.
Dokumenty / Zasoby
![]() | ARDUINO RPI-1031 4 czujnik kierunku [plik PDF] Instrukcja obsługi RPI-1031 4 czujniki kierunku, RPI-1031, 4 czujniki kierunku, czujnik kierunku, czujnik |