ARDUINO RPI-1031 4 датчика напрямку
Принцип дії
- Заснований на принципах оптики. Внутрішня частина має світлодіод для 1 шт., світлочутливий приймальний тріод для 2 шт., а інша сторона має один циліндричний плафон; як показано на малюнку:
Електрична схема
- Завдяки циліндричному плафону, щоб не допустити світлодіод, а світлочутлива приймальна трубка призначена для визначення поточного стану RPl-1031.
- Коли RPl-1031 обертається до стану, як показано нижче, світлодіод затіняється плафоном; і два фоточутливі приймальні тріоди не можуть приймати світло; вони будуть у вимкненому стані. Низький рівень виводу; два порти GPIO обидва виводять низький рівень.
- Коли RPl-1031 повертається до показаного нижче стану, один із світлочутливих тріодів був затінений, світло, випромінюване світлодіодом, може прийматися лише іншим; це означає, що верхній світлочутливий тріод увімкнено, а світлочутливий тріод знизу вимкнено; потім два порти GPIO виводять відповідно високий і низький рівень.
- Коли RPl-1031 обертається до показаного нижче стану, тінь не затінює діод, світитиметься, два світлочутливі тріоди можуть отримувати світло; тоді всі вони будуть увімкнені. Обидва з двох портів GPIO виводять високий рівень.
- Коли RPl-1031 повертається в стан, показаний нижче. Цей стан є несприятливим для опису 4. Два вихідні рівні портів GPIO будуть взаємозамінені.
Малюнок 2: Sampз'єднання.
Sample Codes
I*
e-Gizmo RPl-1031 Датчик кута 4 Датчик напрямку
Це якampескіз для датчика напрямку нахилу для відображення вихідних положень датчика.
Для RPl-1031 – http://www.sparkfun.com/products/10621
Змінено e-Gizmo Mechatronix Central
http://www.e-gizmo.com
Липень 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
}
Малюнок 3: Послідовний друк із датчика pH.
Документи / Ресурси
![]() |
ARDUINO RPI-1031 4 датчика напрямку [pdfПосібник користувача RPI-1031 4 датчика напрямку, RPI-1031, 4 датчика напрямку, датчик напрямку, датчик |