SlideShare a Scribd company logo
1 of 136
Download to read offline
RQ-7 ROBOT
POP-7
หลักการระบบควบคุม
อินพุต เอาต์พุตประมวลผล
ป้อนกลับ
ต้นกาเนิด Arduino
หน้าต่างช่วยเหลือ Reference
• ชุดคาสั่ง
• ไลบรารี่
• ตัวแปร
• คาสงวน
ต้นกาเนิด POP-7 : Hardware
Arduino UNO
POP-7
POP-7 : Software
POP-7
Edit + Compile + Download
C/C++
• ใช้ไมโครคอนโทรลเลอร์ ATMEGA644PA ของบริษัท ATMEL
• ทางานที่ความถี่ 20MHz ทางานที่ความเร็ว 20 ล้านคาสั่งต่อวินาที
• หน่วยความจาโปรแกรม 64 กิโลไบต์
• หน่วยความจา RAM 4 kByte
• หน่วยความจา EEPROM 2 kByte
• จุดต่อเซนเซอร์อะนาลอกได้ 7 ช่อง ความละเอียด 10 บิต
• พอร์ตอินพุต/เอาต์พุตดิจิตอล 16 ช่อง
• I2C / UART / Interrupt /
• มีจอ LCD กราฟิกสีความละเอียด 128x160 พิกเซล
• ขับมอเตอร์ไฟตรงได้ 4 ตัว เซอร์โวมอเตอร์ได้ 3 ตัว
• เชื่อมต่อกับคอมพิวเตอร์ผ่านพอร์ต USB โดยตรงผ่านสาย Mini-B
• มีไฟแสดง สถานะไฟเลี้ยง/แบตเตอรี่ต่า/สถานะ USB /การรับส่งข้อมูลอนุกรม
• ลาโพงเปียโซ/สวิตช์ OK / สวิตช์ SW1/ สวิตช์ Reset/ Knob /
• รองรับไฟเลี้ยง 3-12V ผ่านวงจรสวิตช์ชิ่ง
คุณสมบัติของ POP-7
ส่วนฮาร์ดแวร์ จุดต่อ USB
เตือนแบตอ่อน
แสดงไฟเลี้ยง
แสดงการเชื่อม USB
แสดงการรับส่งข้อมูล
สวิตช์เปิด/ปิด
ขั้วต่อแบตเตอรี่
จุดต่อเซอร์โวมอเตอร์ 1-3
จุดต่อเซนเซอร์
สื่อสารอนุกรม
สื่อสาร I2C
สวิตช์รีเซต
จุดต่อเซนเซอร์
สวิตช์ SW1
ตัวต้านทานปรับค่าได้
สวิตช์ OK
จุดต่อมอเตอร์ 1-2
จุดต่อมอเตอร์ 3-4
128x160
จอสี GLCD
Switch (Digital)
Reflect (Analog)
ปุ่ม OK (Digital)
knob (Analog)
โมดูลวัดระยะทาง
(Analog)
อุปกรณ์อินพุต
อุปกรณ์เอาต์พุต
Servo Motor
DC Motor
ลาโพงเปียโซ
Arduino1.8.5_TPA_Setup180306
ประกอบด้วย
ซอฟต์แวร์ Arduino 1.8.5
ไดรเวอร์ USB
ไลบรารี่ POP-7
http://inex.co.th/shop/index.php/software-download
ติดตั้งซอฟต์แวร์
1 2 3
4 5
หลังจากนี้จะมีหน้าต่างติดตั้ง
ไดรเวอร์
ห้าม Cancel
ขั้นตอนการติดตั้ง
เพื่อให้คอมพิวเตอร์รู้จักกับบอร์ด POP-7ขั้นตอนการติดตั้งไดรเวอร์
ไดรเวอร์ USB
สาหรับ Arduino
ไดรเวอร์ USB
สาหรับ POP-7
เมื่อเปิดใช้งานครั้งแรก
เมื่อเปิดใช้งานครั้งแรก
ตรวจสอบว่าเลือกบอร์ดเป็น POP-7
หรือดูที่มุมขวาล่างของจอภาพ
• 2 เซล 7.4V
• กระแส 1100mA
• จ่ายกระแส 30 เท่า
• ชาร์จ 5 เท่า
แบตเตอรี่ Li-Po
แดง บวก
ดา ลบ
แดง บวก
ดา ลบ
รายละเอียดแบตเตอรี่ ลิเธียม-โพลิเมอร์
1 เซล 3.7V อนุกรมกัน 2 เซล = 7.4V
จ่ายไฟ 1100 mA ต่อเนื่องได้ประมาณ 1 ชั่วโมง
จ่ายกระแสชั่วขณะได้ 1100 x 30 = 33000mA O_o!
ชาร์จได้ 5 เท่า 1100x5 = 5500mA ใช้เวลาประมาณ 20 นาที
วัด Volt อย่างเดียว
แสดงไฟและเตือน
วัดโวลต์และเตือน
ตรวจสอบแรงดันต่า
เตือนแรงดันต่า
กะพริบเมื่อไหร่เปลี่ยนแบตทันที
เครื่องชาร์จแบตเตอรี่
ชาร์จถ่าน Ni-MH
ชาร์จแบต Li-Po
ชาร์จแบตรถยนต์
ต่อสาย USB เข้ากับ POP-7
ต่อสาย USB เข้ากับคอมพิวเตอร์1
2
เปิดสวิตช์จ่ายไฟ
POP-73
4 ไฟสีน้าเงินติดสว่าง
ขั้นตอนเชื่อมต่อกับคอมพิวเตอร์
เลือกพอร์ตสาหรับ POP-7
ถ้าไม่แน่ใจ ให้ลองปิดสวิตช์แล้วตรวจสอบว่าพอร์ตใดหายไป พอร์ตที่หายไปคือ POP-7
ให้เปิดสวิตช์และเลือกพอร์ตนั้น
void setup(){
}
void loop() {
}
สาหรับกาหนดค่า เกิดขึ้นครั้งเดี ว
โปรแกรมหลักทางานต่อเนื่อง
รูปแบบการทางานของโปรแกรม Arduino
#include <pop7.h>
ผนวกรวมชุดคาสั่งสาหรับ POP-7
ทางานใน Setup
ทางานใน Loop
START
โฟลวชาร์ตแสดงการทางาน
#include <pop7.h>
void setup() {
glcd(0,0,"Hello POP-7");
}
void loop() {
}
เริ่มต้นด้วยโปรแกรมแรก
เขียนโปรแกรมผ่าน Arduino
โปรแกรมจะแจ้งให้บันทึกไฟล์ก่อน
คอมไพล์ คีย์ลัด Ctrl+R
แจ้งผลการคอมไพล์และขนาดหน่วยความจาที่ใช้
ถ้ามีข้อผิดพลาด
หน้าต่างนี้จะแจ้งทุกอย่างให้เราทราบ
อัพโหลดโค้ดไปยัง POP-X2
คีย์ลัด Ctrl+U
แจ้งผลการคอมไพล์และขนาดหน่วยความจาที่ใช้
แจ้งผลว่าสมบูรณ์
Hello POP-7
คุณสมบัติของจอภาพ GLCD
glcd แสดงข้อความที่จอ GLCD ได้ 21 ตัว 16 บรรทัด (size 1)
รูปแบบ
glcd(x,y,*p,...)
พารามิเตอร์
x คือตาแหน่งบรรทัดมีค่าตั้งแต่ 0-15
y คือตาแหน่งตัวอักษรมีค่าตั้งแต่ 0-20
*p คือข้อความที่ต้องการนามาแสดง
ค่าพิเศษ
%d แสดงตัวเลขจานวนเต็มในช่วง -32,768 ถึง 32,767
%h แสดงตัวเลขฐานสิบหก
%b แสดงตัวเลขฐานสอง
%l แสดงตัวเลขจานวนเต็มในช่วง -2,147,483,648 ถึง 2,147,483,647
%f แสดงผลตัวเลขจานวนจริง (แสดงทศนิยม 3 หลัก)
ชุดคาสั่งสาหรับควบคุม GLCD
glcd
setTextColor
setTextBackgroundColor
setTextBackgroundTransparent()
setTextSize
glcdClear
glcdFillScreen
glcdMode
glcdPixel
glcdRect
glcdFillRect
glcdLine
glcdCircle
glcdFillCircle
glcdArc
ชุดคาสั่งอื่นๆ สาหรับ glcd
แสดงตัวอักษร แสดงกราฟิก
setTextColor(COLOR)
GLCD_RED, color[0]
GLCD_GREEN, color[1]
GLCD_BLUE, color[2]
GLCD_YELLOW, color[3]
GLCD_BLACK, color[4]
GLCD_WHITE, color[5]
GLCD_CYAN, color[6]
GLCD_MAGENTA color[7]
GLCD_ORANGE color[8]
GLCD_LIME color[9]
GLCD_VIOLET color[10]
GLCD_PINK color[11]
GLCD_DOLLAR color[12]
GLCD_SKY color[13]
GLCD_BROWN color[14]
GLCD_DARKGREEN color[15]
GLCD_NAVY color[16]
GLCD_GRAY color[17]
GLCD_DARKGRAY color[18]
#include <popx2.h>
void setup(){
setTextColor(GLCD_RED);
glcd(0,0,"Hello");
setTextColor(GLCD_GREEN);
glcd(1,0,"World");
}
void loop(){}
colorRGB(R5,G6,B5)
colorRGB(31,63,31)
ค่าสีตัวอักษร setTextColor()
ค่าสีกาหนดเอง
setTextSize()
ตัวอย่าง : setTextSize(4);
ขนาดตัวอักษรเป็น 4 เท่าขนาดปกติ
ปรับขนาดตัวอักษร
ปกติเป็น Mode 0
ตัวอย่าง : glcdMode(1);
การปรับทิศทางตัวอักษร glcdMode();
ค่าสีพื้นหลังตัวอักษร
#include <popx2.h>
void setup(){
setTextBackgroundColor(GLCD_RED);
setTextColor(GLCD_YELLOW);
glcd(0,0,"Hello World");
}
void loop(){}
setTextBackgroundColor(COLOR)
setTextBackgroundColor()
delay(DelayTime);
DelayTime ค่าเวลาหน่วงหน่วยเป็นมิลลิวินาที
คาสั่งหน่วงเวลาค้างที่บรรทัดนี้นานเท่าค่า DelayTime
delay(2000);
ตัวอ ่าง
ค้างที่นี่นาน 2 วินาที
รูปแบบ คาสั่ง delay
glcdClear()
เคลียร์หน้าจอ
glcdFillScreen(COLOR)
เทสีลงบนหน้าจอทั้งหน้า
#include <popx2.h>
void setup(){}
void loop(){
glcdClear();
delay(500);
glcdFillScreen(color[0]);
delay(500);
glcdFillScreen(color[1]);
delay(500);
glcdFillScreen(color[2]);
delay(500);
}
INEX
1. ตัวอักษรมีสีคนละสี
2. วางตัวอักษรในแนวนอน
3. ขนาดตัวอักษร 4 เท่า
4. ตัวหนังสืออยู่กลางจอพอดี
แบบทดสอบ 1 สร้างตัวอักษรหลายสี บนหน้าจอ
แสดงรูปทรงเรขาคณิต : สี่เหลี่ยมผืนผ้า
glcdRect(x,y,width,height,color)
glcdFillRect(x,y,width,height,color)
x ตาแหน่งแนวนอน
y ตาแหน่งแนวตั้ง
width ความกว้าง
height ความสูง
color สี
x
y
height
width
Fill
แสดงรูปทรงเรขาคณิต : วงกลม
x ตาแหน่งจุดศูนย์กลางวงกลมแนวนอน
y ตาแหน่งจุดศูนย์กลางวงกลมแนวตั้ง
radius รัศมีของวงกลม
color สี
glcdCircle(x,y,radius,color)
glcdFillCircle(x,y,radius,color)
x,y
radius
Fill
แสดงรูปทรงเรขาคณิต : เส้นตรง
x1 จุดเริ่มต้นแนวนอน
y1 จุดเริ่มต้นแนวตั้ง
x2 จุดสิ้นสุดแนวตั้ง
y2 จุดสิ้นสุดแนวนอน
color สี
x1,y1
glcdLine(x1,y1,x2,y2,color)
x2,y2
แสดงรูปทรงเรขาคณิต : เส้นโค้ง
x จุดเริ่มต้นแนวนอน
y จุดเริ่มต้นแนวตั้ง
r รัศมีเส้นโค้ง
startAngle มุมเริ่ม
endAngle มุมสิ้นสุด
color สี
x,y
glcdArc(x,y,r,startAngle,endAngle,color)
startAngle(0)
r
endAngle(90)
glcdArc(64,80,64,0,90,GLCD_RED);
แสดงรูปทรงเรขาคณิต : พล็อตจุด
x จุดเริ่มต้นแนวนอน
y จุดเริ่มต้นแนวตั้ง
color สีx,y
glcdPixel(x,y,color)
glcdPixel(64,80,GLCD_WHITE);
แบบทดสอบ 2 สร้างวงกลมสีแดงอยู่กึ่งกลางจอภาพ รัศมีเต็มจอพอดี
ลากเส้น 4 เส้นโดยมีจุดตัดอยู่กลางจอภาพพอดีแบบทดสอบ 3
สร้างสี่เหลี่ยมซ้อนกันดังรูปแบบทดสอบ 4
สร้างสี่เหลี่ยม 4 อัน ขนาดเท่ากันแบบทดสอบ 5
เอาต์พุตดิจิตอลอย่างง่าย : LED
out(ch,state);
ส่งค่าสถานะ(state) 0 หรือ 1
ออกไปยังตาแหน่งขา (ch)ที่ระบุ
out(24,1);
out(26,0);
#include <pop7.h>
void setup(){ }
void loop(){
out(24,1);
delay(100);
out(24,0);
delay(100);
}
ตัวอย่าง : ไฟกะพริบที่ขา 24
เขียนโปรแกรมให้ไฟกะพริบสลับกันแบบทดสอบ 6
ลาโพงเปียโซ (อยู่ใต้จอ)
การสร้างเสียงออกลาโพง
beep()
sound(freq,time)
freq คือ ความถี่เสียง
time คือ เวลา 1/100 วินาที • ใช้ลาโพงเปียโซ มีอิมพีแดนซ์ 32W
• มีค่าความถี่ย่าน 300 Hz ถึง 3000 Hz
#include <pop7.h>
void setup(){}
void loop(){
beep();
delay(500);
}
#include <pop7.h>
void setup(){}
void loop(){
sound(1000,100);
delay(500);
}
ตัวอย่างการใช้งานคาสั่ง beep ตัวอย่างการใช้งานคาสั่ง sound
สร้างเสียง 1 kHz นาน 0.1 วินาที ต่อเนื่องสร้างเสียง 500 Hz นาน 0.1 วินาที ต่อเนื่อง
ตัวอย่างโปรแกรมสร้างเสียงออกลาโพง https://pastebin.com/NnZje3Uw
POP-7 MARIO SOUND EXAMPLE
การรับค่าอินพุตจากสวิตช์ SW1
SW_OK
sw1_press() รอกด SW1 ค่อยไปทาบรรทัดถัดไป
sw1() กดเป็นจริง / ไม่กดเป็นเท็จ
sw_OK_press() รอกด SW_OK ค่อยไปทาบรรทัดถัดไป
sw_OK() กดเป็นจริง / ไม่กดเป็นเท็จ
OK() รอกด SW_OK ค่อยไปทาบรรทัดถัดไป
พร้อมแสดงข้อความที่หน้าจอด้วย
ตัวอย่าง sw1_press()
#include <pop7.h>
void setup() {
sw1_press();
beep();
}
void loop() {}
#include <pop7.h>
void setup() {}
void loop() {
sw1_press();
beep();
}
ตัวอย่าง sw_OK_press()
#include <pop7.h>
void setup() {
sw_OK_press();
beep();
}
void loop() {}
#include <pop7.h>
void setup() {}
void loop() {
sw_OK_press();
beep();
}
if (เงื่อนไข){
คาสั่ง1 ทาเมื่อเงื่อนไขเป็นจริง;
...
}
else {
คาสั่ง2 ทาเมื่อเงื่อนไขเป็นเท็จ;
...
}
คาสั่งตรวจสอบเงื่อนไข if-else
ตัวแปร Boolean
จริง :True : 1
เท็จ :False : 0
ตัวอย่าง sw_OK() ด้วยคาสั่ง if
#include <pop7.h>
void setup() {}
void loop() {
if (sw_OK()){
glcdFillScreen(GLCD_RED);
}
else{
glcdFillScreen(GLCD_BLACK);
}
}
if จะต้องอยู่ใน loop เพื่อการตรวจสอบต่อเนื่อง
ใช้เครื่องหมาย ! (not)
จะเปลี่ยนจากจริงเป็นเท็จ
เปลี่ยนจากเท็จเป็นจริง
ใช้เครื่องหมาย && (AND)
ใช้กับเงื่อนไขสองเงื่อนไข
ถ้าเป็นจริงทั้งคู่ถึงจะเป็นจริง
ใช้เครื่องหมาย || (OR)
ใช้กับเงื่อนไขสองเงื่อนไข
ถ้าอันใดอันหนึ่งจริงจะเป็นจริง
ตัวอย่างการใช้ && (AND)
#include <pop7.h>
void setup() {}
void loop() {
if (sw_OK()&& sw1()){
glcdFillScreen(GLCD_RED);
}
else if (sw_OK()){
glcdFillScreen(GLCD_GREEN);
}
else if (sw1()){
glcdFillScreen(GLCD_BLUE);
}
else{
glcdFillScreen(GLCD_BLACK);
}
}
กดสองปุ่มพร้อมกัน
กดสวิตช์ OK
กดสวิตช์ 1
ไม่กดสวิตช์
กดสวิตช์ = ลอจิก “0”
ไม่กด = ลอจิก “1”
แผงวงจรสวิตช์ : ZX-SWITCH01
อ่านค่าขาดิจิตอลจากพอร์ตใดๆ ของบอร์ด POP-7
in(ch);
ch คือขาพอร์ตที่ต้องการอ่านค่าอินพุต
การคืนค่า คืนค่าขาพอร์ตที่อ่าน มีค่าเป็น 0 หรือ 1 เท่านั้น
คาสั่ง in() : สาหรับอ่านค่าอินพุตดิจิตอล boolean
ทดสอบเขียนโปรแกรมคาสั่ง in() กับ ZX-Switch01
ต่อขา 8
SCL
ต่อขา 9
SDA
#include <pop7.h>
int i=0;
void setup() {}
void loop() {
if(in(8)==0){ beep(); }
if(in(9)==0){ sound(1000,100); }
}
ทดสอบเขียนโปรแกรมคาสั่ง in() กับ ZX-Switch01
รูปแบบ
while(เงื่อนไข) {
ทาคาสั่งจนเงื่อนไขเป็นเท็จ;
}
คาสั่งตรวจสอบเงื่อนไข while
#include <pop7.h>
int i=0;
void setup() {}
void loop() {
if(in(8)==0){
while(in(8)==0){setTextSize(3);}
i++;
glcd(1,1,"%d ",i);
}
}
กดสวิตช์แล้วต้องรอปล่อย ถึงค่อยนับเลข
การเขียนโปรแกรมเพื่อตั้งตัวตรง
#include <pop7.h>
int i=0;
void setup() {}
void loop() {
OK();bk(50);
while(1){
if(!in(8)){
while(in(9)){motor(1,0);motor(2,-100);}ao();break;
}
else if(!in(9)){
while(in(8)){motor(2,0);motor(1,-100);}ao();break;
}
}
}
ด้วยการชนสวิตช์
void bkWall(int Speed){
bk(Speed);
while(1){
if(!in(8)){
while(in(9)){
motor(1,0);motor(2,-100);
}
ao();break;
}
else if(!in(9)){
while(in(8)){
motor(2,0);motor(1,-100);}
ao();break;
} }}
นามาสร้างเป็นฟังก์ชั่น ถอยหลังตั้งตัว
100
ปุ่มปรับเพื่ออ่านค่าอะนาลอก : knob()
หมุนเพื่อปรับค่า 0-1000
glcd(0,0,"%d",knob());
การแสดงผลค่า KNOB() ที่จอ GLCD
ใช้อ่านค่าตัวต้านทานปรับค่าได้บน pop-7
glcd(0,0,"%d ",knob());
แก้ปัญหาเลขเดิมค้างด้วยการเคาะเว้นวรรคเพิ่ม
1000
9990
9990
คาสั่ง knob(x)
รูปแบบ
knob(x); โดย x คือค่า Scale
การคืนค่า
ค่าที่อ่านได้จาก knob มีค่าระหว่าง 0 ไปจนถึงค่า x
ตัวอย่าง
int val=0;
val=knob(180);
glcd("%d ",val);
หน้าจอ glcd แสดงค่าตัวเลข 0-180
รูปแบบ
knob(x,y);
x คือค่า Scale ช่วงเริ่มต้น
y คือค่า Scale ช่วงท้าย
ตัวอย่าง
glcd(1,1,"%d ",knob(10,90));
หน้าจอจะแสดงค่า 10-90 ตามการหมุน knob()
คาสั่ง knob(x,y)
#include <pop7.h>
int x;
void setup(){
setTextSize(3);
}
void loop(){
glcd(1,0,"%d ",knob(128));
glcdFillRect(0,80,knob(128),10,GLCD_RED);
glcdFillRect(knob(128),80,128-knob(128),10,GLCD_BLACK);
}
ตัวอย่าง bar graph เมื่อปรับ knob
motor (CH,POW)
CH 1-4 คือมอเตอร์ 1 ถึงมอเตอร์ 4
ALL,100,ALL2,102,12 มอเตอร์ 1,2 ทางานพร้อมกัน
ALL4,104 คือมอเตอร์ 1 ถึง 4 พร้อมกัน
MR21,121 คือมอเตอร์ มอเตอร์ 1 ถอย มอเตอร์ 2 ไปหน้า
MR12,112 คือมอเตอร์ มอเตอร์ 2 ถอย มอเตอร์ 1 ไปหน้า
34 มอเตอร์ 3,4 ทางานพร้อมกัน POW ความเร็ว -100 ถึง 100
ค่าบวก เดินหน้า
ค่าลบ ถอยหลัง
คาสั่ง motor() : ขับเคลื่อนมอเตอร์
motor_stop ห ุดขับมอเตอร์ตามช่องที่กาหนด
รูปแบบ
motor_stop(ch)
ch คือช่อง 1 ถึง 4 และ ALL กรณีห ุดพร้อมกัน
motor_stop(1); มอเตอร์ 1 หยุด
motor_stop(2); มอเตอร์ 2 หยุด
ao() ; มอเตอร์ 2 ตัวหยุดพร้อมกัน
คาสั่ง motor_stop() : หยุดมอเตอร์
เดินหน้า
fd(speed);
ถอ หลัง
bk(speed);
เลี้ วซ้า
sl(speed);
เลี้ วขวา
sr(speed);
tl(speed);
เลี้ วด้านเดี ว
tr(speed);
ห ุดหุ่น นต์
ao();
speed = 0-100
motor1 motor2 motor1 motor2
motor1 motor2 motor1 motor2
สรุปคาสั่ง เพื่อขับเคลื่อนหุ่นยนต์
สรุปคาสั่ง เพื่อขับเคลื่อนหุ่นยนต์
fd(Speed); เดินหน้า
bk(Speed); ถอยหลัง
sl(Speed); เลี้ยวซ้าย
sr(Speed); เลี้ยวขวา
Speed คือความเร็วหุ่นยนต์ 0-100
ao() ;หยุด
tl(Speed); เลี้ยวซ้ายล้อเดียว
tr(Speed); เลี้ยวขวาล้อเดียว
ทดสอบ เดินหน้า 1 วินาที ถอยหลัง
#include <pop7.h>
void setup(){OK();}
void loop(){
fd(50); delay(1000);
bk(50); delay(1000);
}
ทดสอบ เดินวนเป็นสี่เหลี่ยม
#include <pop7.h>
void setup(){OK();}
void loop(){
fd(50); delay(1000);
sr(50); delay(600);
}
fd2(Speed1,speed2); เดินหน้า
bk2(Speed1,speed2); ถอ หลัง
Speed1 คือมอเตอร์ด้านซ้า
Speed2 คือมอเตอร์ด้านขวา
ความแม่นยาของการเคลื่อนที่ตรง
มอเตอร์ 2 เร็วกว่ามอเตอร์ 1
การวัดค่าระยะทางด้วย Encoder
encoder(CH);
CH ขาที่ต่อ encoder 2,3,18
คืนค่าการนับที่ Encoder
encoder(CH,0);
CH ขาที่ต่อ encoder 2,3,18
เคลียร์ค่าการนับให้กับ encoder
while(encoder(2)<40){fd(50);}
ทดสอบ เดินด้วยระยะทาง 17.4 CM
#include <pop7.h>
void setup(){}
void loop(){
OK(); encoder(2,0);
fd(50);
while(encoder(2)<40);ao();
}
เส้นรอบวง
= D
= 3.14 x 5.4
= 17 CM
ทดสอบ อ่านค่าระยะทางโชว์หน้าจอ
#include <pop7.h>
int x;
void setup(){
OK();
encoder(2,0);
}
void loop(){
glcd(0,0,"%d ",encoder(2));
if(sw1()){encoder(2,0);}
}
ลองเลื่อนหุ่นยนต์แล้ว ดูค่าที่แสดงที่หน้าจอ กดสวิตช์ SW1 เพื่อเคลียร์
10.5 CM
ทดสอบ เลี้ยว 90 องศาด้วย tl
#include <pop7.h>
void setup(){}
void loop(){
OK();
encoder(3,0);
tl(50);
while(encoder(3)<39);ao();
}
ทดสอบ เลี้ยว 90 องศาด้วย tl
จุดหมุน
#include <pop7.h>
void setup(){}
void loop(){
OK();
encoder(3,0);
sl(30);
while(encoder(3)<18);ao();
}
ทดสอบ เลี้ยว 90 องศาด้วย sl
จุดหมุน
#include <pop7.h>
void setup(){OK();}
void loop(){
encoder(3,0);fd(30);
while(encoder(3)<40);
encoder(3,0);sl(30);
while(encoder(3)<20);
}
ทดสอบ เดินวนเป็นรูปสี่เหลี่ยม
#include <pop7.h>
void setup(){OK();}
void loop(){
fdEnc(30,40);
slEnc(30,20);
}
void fdEnc(int speed,int ENC){
encoder(3,0);fd(speed);
while(encoder(3)<ENC);
}
void slEnc(int speed,int ENC){
encoder(3,0);sl(30);
while(encoder(3)<20);
}
นามาสร้างเป็นฟังก์ชั่น เดินวนเป็นรูปสี่เหลี่ยม
void fdEnc(int Speed,int ENC){
encoder(3,0);fd(Speed);
while(encoder(3)<ENC);
}
void slEnc(int Speed,int ENC){
encoder(3,0);sl(Speed);
while(encoder(3)<ENC);
}
void srEnc(int Speed,int ENC){
encoder(2,0);sl(Speed);
while(encoder(2)<ENC);
}
สรุปฟังก์ชั่นที่ใช้
แกนหมุน 180 องศา
สัญญาณ (S)
GND (-)
สัญญาณ (S)
การใช้งานเซอร์โวมอเตอร์
ไฟเลี้ ง (+) GND (-)
servo(CH,POS);
CH ช่องที่ใช้ขับ = 1 ถึง 3
POS ตาแหน่งองศาเซอร์โว = 0-180 ,-1
ค่า -1 หมา ถึงห ุดจ่า สัญญาณให้เซอร์โว
เซอร์โวจะไม่ล็อกแกน
ฟังก์ชั่นขับเซอร์โวมอเตอร์
Servo1 Servo2
#include <pop7.h>
word x;
void
setup(){setTextSize(3);}
void loop(){
x=knob(180);
servo(1,x);
glcd(1,1,"%d ",x);
}
ทดสอบหาตาแหน่งของ Servo1
#include <pop7.h>
word x;
void
setup(){setTextSize(3);}
void loop(){
x=knob(180);
servo(2,x);
glcd(1,1,"%d ",x);
}
ทดสอบหาตาแหน่งของ Servo2
#include <pop7.h>
void setup(){setTextSize(3);}
void loop(){
sw1_press();sHome();
sw1_press();sKeep();
}
void sHome(){
servo(1,170);servo(2,5);
}
void sKeep(){
servo(1,70);servo(2,95);
}
สร้างฟังก์ชั่น และเรียกใช้ด้วยการกดปุ่ม SW1
sHome
sKeep
แผงวงจรตรวจจับแสงสะท้อน: ZX-03
รูปแบบ
analog(CH)
CH คือช่องอะนาลอก (สีแดง) A0-A6 ที่ต้องการอ่านค่า
การคืนค่า ค่าอะนาลอกที่มีค่าอยู่ระหว่าง 0-1023
ตัวอย่าง
glcd(1,1,"%d ",analog(0));
ฟังก์ชั่น analog
เป็นการนาค่าที่อ่านได้จากช่อง A0 แสดงที่หน้าจอ GLCD
#include <pop7.h>
void setup(){}
void loop(){
glcd(1,1,"L=%d ",analog(0));
delay(100);
}
โปรแกรมอ่านค่าจาก ZX-03 แสดงที่ GLCD
#include <pop7.h>
void setup(){
setTextSize(3);
glcdMode(3);
}
void loop(){
glcd(1,1,"L=%d ",analog(0));
glcd(3,1,"R=%d ",analog(1));
}
A0 A1A2 A3
ผลลัพธ์การอ่านค่าการสะท้อน
อ่านค่าพื้นผิวสีขาวอ่านค่าพื้นผิวสีดา
ค่าที่อ่านได้เปลี่ยนแปลงตามความสูงเซนเซอร์จากพื้น
#include <pop7.h>
void setup(){
OK();
fd(100);
while(analog(0)>250);
ao();
glcd(1,1,"Stop... ");
}
void loop(){}
มาจากค่ากลาง
ระหว่างขาวกับดา
(450+50)/2
หุ่น นต์เคลื่อนที่ห ุดที่เส้นดา
รูปแบบหุ่น นต์เคลื่อนที่ตามเส้น
1
if(L>250&&R>250){
fd(60);
}
เมื่อซ้า และขวาเจอขาว
เดินตรงไป
รูปแบบหุ่น นต์เคลื่อนที่ตามเส้น
2
if(L<250&&R>250){
sl(60);
}
เมื่อซ้า เจอดาและขวาเจอขาว
เลี้ วซ้า
3
if(L>250&&R<250){
sr(60);
}
เมื่อซ้า เจอขาวและขวาเจอดา
เลี้ วขวา
รูปแบบหุ่น นต์เคลื่อนที่ตามเส้น
4
if(L<250&&R<250){
fd(60);
delay(200);
}
เมื่อซ้า เจอดาและขวาเจอดา
เดินตรงข้ามทางแ ก
รูปแบบหุ่น นต์เคลื่อนที่ตามเส้น
ตัวอ ่างการทาสนามด้ว เทปพันสา ไฟ
เจอเส้นตัดส่งเสี งติ๊ดออกลาโพง
ZX-03R ZX-03G ZX-03B
ส่องแสงสีแดง ส่องแสงสีเขียว ส่องแสงสีน้าเงิน
แผงวงจรตรวจจับแสงสะท้อน: ZX-03
#include <pop7.h>
void setup() {glcdMode(3);
setTextSize(3);}
void loop() {
glcd(0,0,"I=%d ",analog(0));
glcd(1,0,"R=%d ",analog(1));
glcd(2,0,"G=%d ",analog(2));
glcd(3,0,"B=%d ",analog(3));
}
แผงวงจรตรวจจับแสงสะท้อน: ZX-03
A0 A1 A2 A3
#include <pop7.h>
unsigned int R=0,G=0,B=0,I=0,a;
void setup() {glcdMode(3); setTextSize(3);}
void loop() {
I=0;for(a=0;a<40;a++){I=analog(0)+I;}I=I/40;
R=0;for(a=0;a<40;a++){R=analog(1)+R;}R=R/40;
G=0;for(a=0;a<40;a++){G=analog(2)+G;}G=G/40;
B=0;for(a=0;a<40;a++){B=analog(3)+B;}B=B/40;
glcd(0,0,"I=%d ",I);
glcd(1,0,"R=%d ",R);
glcd(2,0,"G=%d ",G);
glcd(3,0,"B=%d ",B);
อ่านค่าทั้ง 4 แบบ โชว์ GLCD แบบค่าเฉลี่ย
#include <pop7.h>
int R,G,B;
void setup() {glcdMode(3); setTextSize(3);}
void loop() {
R=analog(1);G=analog(2);B=analog(3);
if(R>900){
if(G>900){glcd(0,0,"White ");}
else if(G>400){glcd(0,0,"Yellow ");}
else {glcd(0,0,"Red ");}
}
else if(R>500){
if(G>500){glcd(0,0,"Grey ");}
else {glcd(0,0,"Magenta");}
}
else { glcd(0,0,"Green "); }
}
ทดสอบอ่านค่าสีด้วย if
#include <pop7.h>
int R,G,B,C;
void setup() {glcdMode(3); setTextSize(3);}
void loop() {
R=analog(1);G=analog(2);B=analog(3);
if(R>900){
if(G>900){C=1;}
else if(G>400){C=2;}
else {C=3;}
}
else if(R>500){
if(G>500){C=4;}
else {C=5;}
}
else {C=6;}
glcd(0,0,"%d ",C);
}
ทดสอบอ่านค่าสีด้วย if เก็บค่าในตัวแปร
1 =White
2=Yellow
3 Red
4=Magenta
5=Grey
6=Green
เปลี่ยนเป็น Function
int readColor() {
R=analog(1);G=analog(2);B=analog(3);
if(R>900){
if(G>900){C=1;}
else if(G>400){C=2;}
else {C=3;}
}
else if(R>500){
if(G>500){C=4;}
else {C=5;}
}
else {C=6;}
return C;
}
glcd(0,0,"%d ",readColor());
1 =White
2=Yellow
3 Red
4=Magenta
5=Grey
6=Green
คุณสมบัติหลัก
•ทางานที่ไฟเลี้ยง 5 โวลต์
•วัดระยะทางใช่วงตั้งแต่ 4 ถึง 32 เซนติเมตร
โมดูลวัดระยะทางแบบอินฟราเรด: GP2D120/GP20A41
หลักการวัดระยะทาง
รูปแบบ
getdist(ch)
ch คือขาพอร์ตอะนาลอกที่เชื่อมต่อ
คืนค่า : ระยะทางช่วง 4-32 CM
ฟังก์ชั่น getdist(CH) เพื่ออ่านค่าระยะทางหน่วยเป็นเซนติเมตร
ทดสอบอ่านค่า ทั้งค่าดิบและเป็นเซนติเมตร
#include <pop7.h>
int D;
void setup() {setTextSize(3);}
void loop() {
D=getdist(4);
glcd(2,1,"%d ",analog(4));
glcd(1,1,"%d ",D);
}
7
330GP2Y0A41 ต่อช่อง A4
ทดสอบอ่านค่า แบบหาค่าเฉลี่ย
#include <pop7.h>
unsigned int R,D,i;
void setup() {setTextSize(3);}
void loop() {
R=0;
for(i=0;i<20;i++){R=analog(4)+R;}
R=R/20;
D=getdist(4);
glcd(2,1,"%d ",R);
glcd(1,1,"%d ",D);
}
7
330
GP2Y0A41 ต่อช่อง A4
ฟังก์ชั่น เก็บค่าเฉลี่ย จาก GP2Y0A41
int GP2AV(){
int R=0;
for(i=0;i<20;i++){
R=analog(4)+R;
}
return (R/20);
}
GP2Y0A41 ต่อช่อง A4
ทดสอบ เดินเข้าใกล้กาแพงแล้วเลี้ยวขวา 90 องศา
เจอกาแพงหมุนตัว 180 องศา พร้อมเช็คตั้งตัว
#include <pop7.h>
int i,R;
void setup() {OK();}
void loop() {
fd(50);
while(GP2AV()<250);
srEnc(30,30);
bkWall(60);
bk(40);delay(300);
}
millis จะเพิ่มค่าขึ้นทีละ 1 ทุก ๆ 1 มิลลิวินาที
millis จะทางานอยู่เบื้องหลังด้วย Interrupt Timer
millis ใช้ตัวแปร Long ในการเก็บค่า (4 ไบต์)
4,294,967,296 มิลลิวินาที ก่อนเคลียร์เป็น 0
ฟังก์ชั่น millis()
49.7 วัน
#include <pop7.h>
int T1,T2;
bool S1=0,S2=0,S3=0;
void setup() {
T1=millis(); // โหลดค่าเวลา
T2=millis(); // โหลดค่าเวลา
}
void loop() {
if (millis()>T1+350){ // เทียบเวลาปัจจุบัน + 0.35 วินาที
T1=millis(); // Reload
if(S1){out(24,1);S1=0;}
else{out(24,0);S1=1;}
}
if (millis()>T1+400){ // เทียบเวลาปัจจุบัน + 0.4 วินาที
T1=millis(); // Reload
if(S1){out(26,1);S1=0;}
else{out(26,0);S1=1;}
}
}
ตัวอย่างการใช้งาน millis()
attachInterrupt(pin, ISR, mode)
pin ตาแหน่งขาที่รับอินเตอร์รัปต์
ISR ตาแหน่งฟังก์ชั่นที่เรียกบริการ Interrupt
mode รูปแบบการกระตุ้น Interrupt
LOW กระตุ้นเมื่อขาเป็น 0
CHANGE กระตุ้นเมื่อมีการเปลี่ยนค่า
RISING กระตุ้นที่ขอบขาขึ้น
FALLING กระตุ้นที่ขอบขาลง
การใช้งานอินเตอร์รัปต์กับ pop-7 ใช้ได้ที่ขา 2,3 และ 18
#include <pop7.h>
void setup() {
attachInterrupt(18,Prog1,CHANGE);
attachInterrupt(2,Prog2,CHANGE);
}
void loop() {
out(24,1);delay(100);
out(24,0);delay(100);
}
void prog1() { out(26,1);}
void prog2() { out(26,0);}
ตัวอย่างการใช้งานอินเตอร์รัปต์
delay(DelayTime);
DelayTime ค่าเวลาหน่วงหน่วยเป็นมิลลิวินาที
คาสั่งหน่วงเวลาค้างที่บรรทัดนี้นานเท่าค่า DelayTime
delay(2000);
ตัวอ ่าง
ค้างที่นี่นาน 2 วินาที
รูปแบบ คาสั่ง delay
byte
0-65535 (unsigned int)word
0-255 (unsigned char)
0-1boolean True False
-32768 ถึง 32767int
-128 ถึง 127char
-3.4 x 1038 ถึง 3.4 x 1038float
หาข้อมูลเพิ่มเติมจาก reference
ตัวแปรชนิดต่างๆ
1 Byte
2 Byte
1 bit
2 Byte
1 Byte
4 Byte
if (เงื่อนไข){
คาสั่ง1 ทาเมื่อเงื่อนไขเป็นจริง;
...
}
else {
คาสั่ง2 ทาเมื่อเงื่อนไขเป็นเท็จ;
...
}
คาสั่งตรวจสอบเงื่อนไข if-else
ตัวแปร Boolean
จริง :True : 1
เท็จ :False : 0
รูปแบบ
while(เงื่อนไข) {
ทาคาสั่งจนเงื่อนไขเป็นเท็จ;
}
คาสั่งตรวจสอบเงื่อนไข while
#include <pop7.h>
int i=0;
void setup() {}
void loop() {
if(in(8)==0){
while(in(8)==0){}
i++;
glcd(1,1,"%d ",i);
}
}
กดสวิตช์แล้วต้องรอปล่อย ถึงค่อยนับเลข
ออกจาก while แบบทันทีได้ด้วยคาสั่ง
break;
for (ค่าเริ่มต้น; เงื่อนไข ;ส่วนเพิ่มค่า){
ทาคาสั่ง จนครบเงื่อนไข;
}
คาสั่งตรวจสอบเงื่อนไข for
#include <pop7.h>
int i;
void setup() {
for(i=0;i<10;i++){
glcdFillScreen(color[i]);
delay(200);
}
}
void loop() {}
เปลี่ยนสีหน้าจอ 10 รอบ
void R90(int x){
ชุดคาสั่ง
y=x+2;
.
}
ชื่อฟังก์ชั่น ตัวแปรที่ส่งไป ังฟังก์ชั่น
ชุดคาสั่งในฟังก์ชั่น
R90(200);
รูปแบบการสร้างฟังก์ชั่น ไม่คืนค่า
ไม่คืนค่า
int R90(int x){
ชุดคาสั่ง
y=x+2;
return y;
}
ชื่อฟังก์ชั่น ตัวแปรที่ส่งไป ังฟังก์ชั่น
ชุดคาสั่งในฟังก์ชั่น
Val = R90(200);
รูปแบบการสร้างฟังก์ชั่น คืนค่า
ชนิดตัวแปร
ของการคืนค่า
คืนค่าผลลัพธ์
map(value, fromLow, fromHigh, toLow, toHigh)
y = map(x, 1, 50, 50, 1);
ตัวอย่าง
y = map(x, 1, 50, 50, -100);
ตัวอย่าง
การใช้งานคาสั่ง map
เพื่อเปลี่ยนช่วงของค่าตัวเลขจากช่วง x ไปเป็นช่วง y
y = map(analog(4), 0, 1023, 0, 180);
กฤษดา ใจเย็น
บริษัท อินโนเวตีฟ เอ็กเพอริเมนต์ จากัด
108 ซอยสุขุมวิท 101/2 ถ.สุขุมวิท
แขวงบางนา เขตบางนา กรุงเทพฯ 10260
โทรศัพท์ 027477001-4 โทรสาร 02-7477005
www.inex.co.th
facebook.com/innovativeexperiment
KRITSADA JAIYEN
kritsada@inex.co.th

More Related Content

What's hot

แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6teerachon
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555ครู กรุณา
 
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์Wittayakorn Yasingthong
 
ต่อมไร้ท่อ
ต่อมไร้ท่อต่อมไร้ท่อ
ต่อมไร้ท่อsukanya petin
 
ศูนย์ควบคุมระบบประสาท
ศูนย์ควบคุมระบบประสาท ศูนย์ควบคุมระบบประสาท
ศูนย์ควบคุมระบบประสาท Thitaree Samphao
 
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5สำเร็จ นางสีคุณ
 
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึก
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึกบทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึก
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึกTa Lattapol
 
ไขสันหลัง
ไขสันหลังไขสันหลัง
ไขสันหลังWan Ngamwongwan
 
บทที่ 7 สมดุลเคมี
บทที่ 7 สมดุลเคมีบทที่ 7 สมดุลเคมี
บทที่ 7 สมดุลเคมีoraneehussem
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553ครู กรุณา
 
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556พรบ.วิชาชีพการสาธารณสุขชุมชน 2556
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556อินทนนท์ อินทนพ
 
เซลล์ประสาทและการทำงาน
เซลล์ประสาทและการทำงาน เซลล์ประสาทและการทำงาน
เซลล์ประสาทและการทำงาน Thitaree Samphao
 
การรับรู้และตอบสนอง
การรับรู้และตอบสนอง การรับรู้และตอบสนอง
การรับรู้และตอบสนอง Thitaree Samphao
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์krurutsamee
 
สรุปเคมี ม.ปลาย
สรุปเคมี ม.ปลายสรุปเคมี ม.ปลาย
สรุปเคมี ม.ปลายKittepot
 
ไฟฟ้าเคมี1 ppt
ไฟฟ้าเคมี1 pptไฟฟ้าเคมี1 ppt
ไฟฟ้าเคมี1 ppt10846
 
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญ
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญ
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญsukanya petin
 
2.ตารางธาตุ.pdf
2.ตารางธาตุ.pdf2.ตารางธาตุ.pdf
2.ตารางธาตุ.pdflohkako kaka
 

What's hot (20)

แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6แบบทดสอบ ดนตรี ม.6
แบบทดสอบ ดนตรี ม.6
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.ุ6 ปีการศึกษา 2555
 
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
เริ่มต้นการเขียนโปรแกรมหุ่นยนต์
 
ต่อมไร้ท่อ
ต่อมไร้ท่อต่อมไร้ท่อ
ต่อมไร้ท่อ
 
ศูนย์ควบคุมระบบประสาท
ศูนย์ควบคุมระบบประสาท ศูนย์ควบคุมระบบประสาท
ศูนย์ควบคุมระบบประสาท
 
เฉลย O-net คณิตศาสตร์ 54
เฉลย O-net คณิตศาสตร์ 54เฉลย O-net คณิตศาสตร์ 54
เฉลย O-net คณิตศาสตร์ 54
 
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5
Ppt ระบบประสาท (nervous system) ชีววิทยา ม.5
 
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึก
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึกบทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึก
บทที่ 3 ระบบประสาทและอวัยวะรับความรู้สึก
 
ไขสันหลัง
ไขสันหลังไขสันหลัง
ไขสันหลัง
 
บทที่ 7 สมดุลเคมี
บทที่ 7 สมดุลเคมีบทที่ 7 สมดุลเคมี
บทที่ 7 สมดุลเคมี
 
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553
เฉลยข้อสอบโอเน็ตคณิตศาสตร์ ม.6 ปีการศึกษา 2553
 
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556พรบ.วิชาชีพการสาธารณสุขชุมชน 2556
พรบ.วิชาชีพการสาธารณสุขชุมชน 2556
 
เซลล์ประสาทและการทำงาน
เซลล์ประสาทและการทำงาน เซลล์ประสาทและการทำงาน
เซลล์ประสาทและการทำงาน
 
การรับรู้และตอบสนอง
การรับรู้และตอบสนอง การรับรู้และตอบสนอง
การรับรู้และตอบสนอง
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์
 
สรุปเคมี ม.ปลาย
สรุปเคมี ม.ปลายสรุปเคมี ม.ปลาย
สรุปเคมี ม.ปลาย
 
ไฟฟ้าเคมี1 ppt
ไฟฟ้าเคมี1 pptไฟฟ้าเคมี1 ppt
ไฟฟ้าเคมี1 ppt
 
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญ
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญ
ฮอร์โมนจากต่อมไร้ท่อและอวัยวะสำคัญ
 
กฎของพาสคัล
กฎของพาสคัลกฎของพาสคัล
กฎของพาสคัล
 
2.ตารางธาตุ.pdf
2.ตารางธาตุ.pdf2.ตารางธาตุ.pdf
2.ตารางธาตุ.pdf
 

Similar to POP-7 Robot with RQ-7 Platform (PDF)

เมนบอร์ดและPortต่างๆ
เมนบอร์ดและPortต่างๆเมนบอร์ดและPortต่างๆ
เมนบอร์ดและPortต่างๆJen D
 
Hardware 6
Hardware 6Hardware 6
Hardware 6paween
 
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisRobot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisInnovative Experiment Co.,Ltd.
 

Similar to POP-7 Robot with RQ-7 Platform (PDF) (8)

I bot new
I bot newI bot new
I bot new
 
Pop bot
Pop botPop bot
Pop bot
 
02 lab microbox1
02 lab microbox102 lab microbox1
02 lab microbox1
 
เมนบอร์ดและPortต่างๆ
เมนบอร์ดและPortต่างๆเมนบอร์ดและPortต่างๆ
เมนบอร์ดและPortต่างๆ
 
Hardware 6
Hardware 6Hardware 6
Hardware 6
 
Hardware 6
Hardware 6Hardware 6
Hardware 6
 
Pop bot-xt v 2013-11-11
Pop bot-xt v 2013-11-11Pop bot-xt v 2013-11-11
Pop bot-xt v 2013-11-11
 
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotisRobot Arm opencm และมอเตอร์ dynamixel จาก robotis
Robot Arm opencm และมอเตอร์ dynamixel จาก robotis
 

More from Innovative Experiment Co.,Ltd.

Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmInnovative Experiment Co.,Ltd.
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMInnovative Experiment Co.,Ltd.
 
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiPowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiInnovative Experiment Co.,Ltd.
 

More from Innovative Experiment Co.,Ltd. (20)

Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019 Robot Arena Maze Runner Senior @ TMC 2019
Robot Arena Maze Runner Senior @ TMC 2019
 
Robot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and MentorRobot Arena TMC 2019 Line Tracing Junior and Mentor
Robot Arena TMC 2019 Line Tracing Junior and Mentor
 
Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer Robot Arena TPA Junior Competition 2019 Bit Racer
Robot Arena TPA Junior Competition 2019 Bit Racer
 
Robot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cmRobot Arena Programable Line Master 2019 300x240cm
Robot Arena Programable Line Master 2019 300x240cm
 
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cmRobot Arena Programable Line Junior WRG Thailand 2019 310x240cm
Robot Arena Programable Line Junior WRG Thailand 2019 310x240cm
 
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cmRobot Arena-Beam Senior WRG Thailand2019 480x240cm
Robot Arena-Beam Senior WRG Thailand2019 480x240cm
 
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cmRobot Arena-Beam Master WRG Thailand 2019 360x240cm
Robot Arena-Beam Master WRG Thailand 2019 360x240cm
 
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cmRobot Arena - Beam Junior WRG Thailand 2019 360x240cm
Robot Arena - Beam Junior WRG Thailand 2019 360x240cm
 
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CMRobot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
Robot Arena - Programable Line Senior WRG Thailand 2019 360x240 CM
 
Programmable Line Tracing Senior Arena
 Programmable Line Tracing Senior Arena Programmable Line Tracing Senior Arena
Programmable Line Tracing Senior Arena
 
Programmable Line Tracing Junior Arena
Programmable Line Tracing Junior ArenaProgrammable Line Tracing Junior Arena
Programmable Line Tracing Junior Arena
 
Battle Ball Z Robot with Robo Creator XT
Battle Ball Z Robot with Robo Creator XTBattle Ball Z Robot with Robo Creator XT
Battle Ball Z Robot with Robo Creator XT
 
I-Beam Robot From inex.co.th
I-Beam Robot From inex.co.thI-Beam Robot From inex.co.th
I-Beam Robot From inex.co.th
 
Wireless x channel programming
Wireless x channel programmingWireless x channel programming
Wireless x channel programming
 
How To Use Robo-Circle
How To Use Robo-Circle How To Use Robo-Circle
How To Use Robo-Circle
 
Interactive C Robot with AX-11 Board
Interactive C Robot with AX-11 BoardInteractive C Robot with AX-11 Board
Interactive C Robot with AX-11 Board
 
iBIT CIRCLE Programming Robot with microbit
iBIT CIRCLE Programming Robot with microbitiBIT CIRCLE Programming Robot with microbit
iBIT CIRCLE Programming Robot with microbit
 
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) ThaiPowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
PowerPoint for micro:bit makeCode (JavaScript Blocks editor ) Thai
 
Bit racer final 215x215 cm robot arena
Bit racer final 215x215 cm robot arenaBit racer final 215x215 cm robot arena
Bit racer final 215x215 cm robot arena
 
NodeMCU with Ax-wifi Beginner 2018
NodeMCU with Ax-wifi Beginner 2018NodeMCU with Ax-wifi Beginner 2018
NodeMCU with Ax-wifi Beginner 2018
 

POP-7 Robot with RQ-7 Platform (PDF)