ARDUINO RPI-1031 4 Чиглэл мэдрэгч
Үйл ажиллагааны зарчим
- Оптикийн зарчимд тулгуурлан дотоод засал нь 1 компьютерт зориулагдсан LED, 2 ширхэг гэрэл мэдрэмтгий хүлээн авагч триодтой, нөгөө тал нь нэг цилиндр хэлбэртэй сүүдэртэй; яг зурагт харагдаж байна.
Хэлхээний диаграм
- Цилиндр сүүдэрээр LED-ийг оруулахгүй байх ба гэрэл мэдрэмтгий хүлээн авагч хоолой нь RPl-1031-ийн одоогийн төлөвийг илрүүлэхэд зориулагдсан.
- RPl-1031 нь доор үзүүлсэн төлөв рүү эргэх үед LED нь сүүдэрт сүүдэрлэж, гэрэл мэдрэмтгий хүлээн авагч хоёр триод гэрлийг хүлээн авах боломжгүй; тэдгээр нь унтарсан төлөвт байх болно. гаралт бага; хоёр GPIO порт хоёулаа доод түвшинд гарна.
- RPl-1031 нь доор үзүүлсэн төлөв рүү эргэх үед гэрэл мэдрэмтгий триодын аль нэг нь сүүдэрлэж, зөвхөн LED-ээс ялгарах гэрлийг нөгөө нь хүлээн авах боломжтой бөгөөд энэ нь гэрэл мэдрэмтгий триод дээрх гэрэл асаалттай, хажуугийн доорх гэрэлд мэдрэмтгий триод унтарсан гэсэн үг юм; дараа нь хоёр GPIO порт нь өндөр болон доод түвшний гаралтыг тус тус гаргадаг.
- RPl-1031 нь доор үзүүлсэн төлөв рүү эргэх үед сүүдэр нь сүүдэрлэхгүй байх үед диод гэрэлтэх бөгөөд гэрэл мэдрэмтгий хоёр триод гэрлийг хүлээн авах боломжтой бөгөөд дараа нь бүгд асаалттай байх болно. Хоёр GPIO порт хоёулаа өндөр түвшинд гарна.
- RPl-1031 нь доор үзүүлсэн төлөв рүү эргэлдэх үед энэ төлөв нь тайлбар 4-д сөрөг нөлөө үзүүлдэг XNUMX GPIO портын гаралтын түвшин хоорондоо уялдаатай байна.
Зураг 2: Sample холболтууд.
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 Чиглэл мэдрэгч, Чиглэл мэдрэгч, Мэдрэгч |