ZX-LineTrack7 แผงวงจรตรวจจับแสงสะท้อนอินฟราเรดแสงสีแดง (ชนิดแผง)
หลักการของ ZX-LineTrack7 ZX-LineTrack7 เป็น แผงจงจรตรวจจับแสงสะท้อนอินฟราเรดแสงสีแดง (ชนิดแผง) เป็นการรวม เอาข้อดีของ ZX-03R ที่ใช้ได้กับสนามแบบไวนีลที่พิมพ์ด้วยหมึกแบบ Durable (ป้องกัน UV) แต่หาก ต้องการตรวจสอบรายละเอียดของการเคลื่อนที่ตามเส้นให้ที่ได้อย่างสมบูรณ์ การติดตั้ง ZX-03R จานวน หลาย ๆ ตัวอาจเป็นปัญหาในการประกอบหุ่นยนต์ ZX-LineTrack7 เป็นแผงจงจรตรวจจับแสงสะท้อน อินฟราเรดที่ติดตั้ง Sensor ในการตรวจจับไว้ถึง 7 ตัว เพื่อให้สามารถตรวจจับรายละเอียดต่าง ๆ ได้อย่าง สมบูรณ์ ง่ายต่อติดตั้ง การกาหนดตาแหน่งของ Sensor ที่แน่นอน สามารถลดระยะเวลาในการติดตั้ง และ ความเที่ยงตรงของตาแหน่ง Sensor อีกทั้งสามารถใช้งานได้กับทั้ง Port Digital และ Port Analog ทาให้ สามารถใช้งานได้อย่างสมบูรณ์แบบ
6
6
4
1
2
4
2
1
3
5
3
7
5
ขาต่อใช้งานหลัก ZX-LineTrack7 แผงวงจรตรวจจับแสงสะท้อนอินฟราเรดแสงสี (ชนิดแผง) ประกอบด้วย sensor ในการตรวจจับแสงสะท้อนอินฟราเรดแสงสี 7 ตาแหน่ง ซึ่งสามารถใช้งานได้ในรูปแบบ Analog และ Digital ขึ้นอยู่กับผู้ใช้สั่งงาน ขาต่อใช้งานหลัก 6 จุด
ขาต่อใช้งานหลักของ
ZX-LineTrack7
ขาต่อ 1 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 1 ขาต่อ 2 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 2 ขาต่อ 3 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 3 ขาต่อ 4 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 4 ขาต่อ 5 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 5 ขาต่อ 6 ใช้ในการเชื่อมเพื่อควบคุมการทางาน sensor ในตาแหน่งที่ 6-7 การใช้งานหลักของ ZX-LineTrack7 (แบบ 2 sensor) ในการเรียกใช้งาน ZX-LineTrack7 แบบ 2 Sensor เหมาะสาหรับการใช้งานเป็นเส้นที่ไม่มีจุดตัด เช่นการเดินบนเส้นวงกลม เดินบนเส้นตรง ให้ติดตั้ง ZX-LineTrack7 ไว้ด้านหน้าของหุ่นยนต์ sensor ที่เลือกใช้ในการอ่านค่า ควรเป็น Sensor 2 กับ 3 หรือ Sensor 4 กับ 5 ขึ้นอยู่กับขนาดของเส้น ขอต่อใช้งานให้ใช้เพียง 2 ขาต่อใช้งานเช่นกัน ดังภาพ ตัวอย่าง
2
3
จากนั้นต่อเชื่อม Sensor กับตัวหุ่นยนต์ ในที่นี้ต่อเข้ากับบอร์ด POB-BOT XT โดยเชื่อมต่อที่ Port Analog คือ A0 และ A1 หรือถ้าเชื่อมต่อที่ Port Digital คือ 18 และ 19 (ช่อง Port เปลี่ยนแปลงตามความ ต้องการของผู้ใช้) ดังภาพ
เขียนโปรแกรมสั่งงาน ในการเรียกใช้งาน
ZX-LineTrack7 (แบบ 2 sensor) ZX-LineTrack7 แบบ 2 Sensor กับ สนามวงกลม
ตัวอย่างการเขียนโปรแกรม ZX-LineTrack7 (แบบ Analog) fd(60); } else if(L<500) { sl(60);
#include <popxt.h> int L,R; void setup() { } void loop() { L=analog(0);
sleep(20); } else if(R<500) { sr(60);
R=analog(1); if (L<500&&R<500) { fd(60); } else if(L>500&&R>500) {
sleep(20); } }
ตัวอย่างการเขียนโปรแกรม ZX-LineTrack7 (แบบ Digital) #include <popxt.h> int L,R; void setup() { } void loop() { L=in(18); R=in(19); if (L=0&&R=0) { fd(60); } else if(L=1&&R=1) {
fd(60); } else if(L=0) { sl(60); sleep(20); } else if(R=0) { sr(60); sleep(20); } }
การใช้งานหลักของ
ZX-LineTrack7 (แบบ 4 sensor)
ในการเรียกใช้งาน ZX-LineTrack7 แบบ 4 Sensor เหมาะสาหรับการใช้งานเป็นเส้นที่มีจุดตัด เช่น เส้นตาราง ให้ติดตั้ง ZX-LineTrack7 ไว้ด้านหน้าของหุ่นยนต์ sensor ที่เลือกใช้ในการอ่านค่า ควรเป็น Sensor 2, 3, 4 และ5 ขอต่อใช้งานให้ใช้เพียง 4 ขาต่อใช้งานเช่นกัน ดังภาพตัวอย่าง
4
2
3
5
จากนั้นต่อเชื่อม Sensor กับตัวหุ่นยนต์ ในที่นี้ต่อเข้ากับบอร์ด POB-BOT XT โดยเชื่อมต่อที่ Port Analog คือ A0 , A1 , A2 , A3หรือถ้าเชื่อมต่อที่ Port Digital คือ 18 ,19 ,20 , 21 (ช่อง Port เปลี่ยนแปลงตาม ความต้องการของผู้ใช้) ดังภาพ
เขียนโปรแกรมสั่งงาน ในการเรียกใช้งาน
ZX-LineTrack7 (แบบ 2 sensor)
ZX-LineTrack7 แบบ 4 Sensor กับ สนามหกแยก
5
4
3
2 1
6
ตัวอย่างการเขียนโปรแกรม ZX-LineTrack7 (แบบ Analog) #include <popxt.h>
{
int L,R,L1,R1,x=0;
} sl(60);
}
}
else if(L>500&&R>500)
void R90()
}
{
{
void setup()
fd(60);
fd(60);
{}
}
sound(1500,100);
void loop()
else if(L<500)
while(analog(1)>500)
{
{
L=analog(0); sr(60);
{
R=analog(1);
sl(60);
}
L1=analog(2);
sleep(20);
while(analog(1)<500)
R1= analog(3);
}
{
if (L1<500&&R1<500)
else if(R<500)
sr(60); }
{ if(x==6)
}
{
{
sr(60); x=0;
sleep(20);
void L90()
}
}
{
x++;
beep();
fd(60);
if (x==3)
}
sound(1500,100);
{
}
while(analog(1)>500) {
L90(); }
sl(60); } while(analog(1)<500)
else { R90();
ตัวอย่างการเขียนโปรแกรม ZX-LineTrack7 (แบบ Digital) #include <popxt.h>
while(in(19)=0)
else
int L,R,L1,R1,x=0;
{
{
void R90()
sl(60);
{
R90();
}
}
fd(60);
}
}
sound(1500,100);
void setup()
else if(L=1&&R=1)
while(in(19)=0)
{}
{
{
void loop() sr(60);
{
}
}
L=in(18);
while(in(19)=0)
R=in(19);
{
L1=in(20); sr(60);
} }
fd(60); else if(L=0) {
R1= in(21);
sl(60);
if (L1=0&&R1=0)
sleep(20);
{
} if(x==6)
void L90()
else if(R=0)
{
{
x=0;
{
fd(60);
}
sr(60);
sound(1500,100);
x++;
sleep(20);
while(in(19)=1)
if (x==3)
}
{
{
beep();
sl(60); }
L90(); }
} }