ARDUINO RPI-1031 4 Бағыт сенсоры
Жұмыс принципі
- Оптика принциптеріне негізделген. Оның интерьерінде 1 дана үшін жарықдиодты, 2 дана үшін фотосезімтал қабылдау триоды бар; ал екінші жағында бір цилиндрлік реңк бар; суретте көрсетілгендей:
Тізбек диаграммасы
- Жарықдиодты болдырмау үшін цилиндрлік реңкпен, ал фотосезімтал қабылдағыш түтік RPl-1031 ағымдағы күйін анықтауға арналған.
- RPl-1031 төменде көрсетілген күйге айналғанда, жарық диоды көлеңкемен көлеңкеленеді; және екі фотосезімтал қабылдаушы триод жарықты қабылдай алмайды; олар өшірулі күйде болады. төмен деңгейді шығарады; екі GPIO порты да төмен деңгейде шығарады.
- RPl-1031 төменде көрсетілген күйге айналғанда, фотосезімтал триодтың біреуі көлеңкеленген, жарық диодты шығаратын жарықты екіншісі ғана қабылдай алады; бұл жоғарыдағы фотосезімтал триод қосулы, ал астындағы фотосезімтал триод өшірулі; содан кейін екі GPIO порты сәйкесінше жоғары және төмен деңгейді шығарады.
- RPl-1031 төменде көрсетілген күйге айналғанда, көлеңке көлеңкеленбейді, диод жарқырайды, екі фотосезімтал триод жарықты қабылдай алады, содан кейін олардың барлығы қосулы болады. Екі GPIO портының екеуі де жоғары деңгейде шығады.
- RPl-1031 төменде көрсетілген күйге айналғанда. бұл күй 4 сипаттамаға теріс болып табылады, екі GPIO портының шығыс деңгейі өзара байланысты болады.
2 -сурет: Sampбайланыстар.
Sample кодтары
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-сурет: рН сенсорынан сериялық басып шығару шығысы.
Құжаттар / Ресурстар
![]() |
ARDUINO RPI-1031 4 Бағыт сенсоры [pdf] Пайдаланушы нұсқаулығы RPI-1031 4 бағыт сенсоры, RPI-1031, 4 бағыт сенсоры, бағыт сенсоры, сенсор |