c/c++ robot
c/c++ robot
c/c++ robot
c/c++ robot
c/c++ robot
หุ่นยนต์แต่ละตัวประกอบขึ้นจากมือ
หุ่นยนต์แต่ละตัวประกอบขึ้นจากมือ
การที่หุ่นยนต์สามารถเดินตามเส้นได้ เพราะมีเซนเซอร์ที่คอยตรวจจับวัตถุกีดขวางอยู่ เซนเซอร์นี้มีชื่อว่า IR Sensor
Micro:bit เป็นไมโครคอนโทรเลอร์ขนาดเล็กจากโครงการของ BBC (British Broadcasting Company) ที่สามารถป้อนคำสั่งเขียนโปรแกรมคอมพิวเตอร์ลงไปได้ ถูกออกแบบมาเพื่อสนับสนุนการศึกษาเรียนรู้ในยุคดิจิตอลทำให้การเรียนการสอนง่ายและสนุก เกิดความคิดสร้างสรรค์ ฝึกการเชื่อมต่ออุปกรณ์เทคโนโลยี และฝึกทักษะการเขียนโปรแกรม
สามารถป้อนคำสั่งเขียนโปรแกรมคอมพิวเตอร์ลงไปได้ ศึกษาเรียนรู้ในยุคดิจิตอล และสนุก เกิดความคิดสร้างสรรค์ ฝึกการเชื่อมต่ออุปกรณ์เทคโนโลยี และฝึกทักษะการเขียนโปรแกรม โต้ตอบช่วยให้นักเรียนได้รับผลตอบรับในทันทีว่าโปรแกรมของตนเองนั้นทำงานอย่างไร
RoboDK เป็นแบบจำลองที่ถูกโฟกัสโดยแอพพลิเคชั่นหุ่นยนต์ โปรแกรมหุ่นยนต์สามารถถูกสร้างขึ้น, จำลองและสร้างออฟไลน์สำหรับแขนหุ่นยนต์เฉพาะและหุ่นยนต์ควบคุม RoboDK เป็นซอฟต์แวร์การเขียนโปรแกรมออฟไลน์
เพื่อสร้างโปรแกรมหุ่นยนต์, มันจำเป็นต้องเลือกหุ่นยนต์, โหลดเครื่องมือหุ่นยนต์และใช้หนึ่งหรือมากกว่า CAD เพื่อสร้างลักษณะโปรแกรมโดยการเพิ่มเป้าหมายหรือการใช้เครื่องมือเฉพาะ(เช่นการแปลงโปรแกรม CNC เพื่อโปรแกรมหุ่นยนต์)
หุ่นยนต์อุตสาหกรรมถูกใช้อย่างกว้างขวางใน library หุ่นยนต์อุตสาหกรรมได้ถูกจำลองบน RoboDK จำลองการใช้งานหุ่นยนต์
เพื่อประยุกต์ใช้กับหุ่นยนต์หรือระบบอัตโนมัติต่าง ๆได้หลากหลายตามต้องการ c_robot
int sValue=350,ball=0,green=0;
int power=100,delay=200;
bool W(int s){ return (analog(s)>sValue) ? true : false; }
bool B(int s){ return (analog(s)<svalue) ? true; false; }
void trackline(){
while(true){
if(analog(8)>0&&ball==0) {keep_up();ball=1;}
if(B(2)) {ao();sleep(delay);break;}
else if(W(0)&&W(4)) fd(power);
else if(B(0)&&W(4)) sr(power);
else if(W(0)&&B(4)) sl(power);
}
}
void turn(char t,int setbody){
if(t=='L') sl(power); else sr(power);
if(t=='U') sleep(1400); else sleep(700);
ao();
if(setbody==1){
while(true){
bk(power);
if(B(5)){
ao();
while(!B(7)) motor(2,-power);
ao();sleep(delay);break;
}
else if(B(7)){
ao();
while(!B(5)) motor(1,-power);
ao();sleep(delay);break;
}
}
}
}
void moveblock(char d,int ms){
if(d=='F') fd(100); else bk(100);
sleep(ms);ao();sleep(10);
}
void setup()
{
lcd("NPS ROBOT RAYONG");
}
void loop()
{
switch(green){
case 0:
moveblock('F',800);trackline();
turn('R',1);trackline();
turn('R',1);trackline();
turn('R',1);trackline();
turn('L',1);trackline();
keep_down();ball=0;
green++;break;
case 1:
turn('U',0);
moveblock('F',800);
turn('R',1);
moveblock('F',2600);
turn('R',0);trackline();
turn('R',1);trackline();
turn('U',1);trackline();
turn('L',1);
moveblock('F',1500);
turn('R',0);trackline();
turn('R',0);trackline();
turn('R',1);trackline();
keep_down();ball=0;
green++;break;
case 2:
turn('U',0);trackline();
turn('L',1);trackline();
turn('L',1);trackline();
turn('U',1);trackline();
turn('R',1);
moveblock('F',1500);
turn('L',1);trackline();
turn('L',0);trackline();
keep_down();ball=0;
green++;break;
case 3:
turn('U',0);trackline();
keep_down();ball=0;
green++;break;
case 4:
turn('U',0);
moveblock('F',2000);
turn('L',1);trackline();
turn('L',0);
moveblock('F',1300);
turn('R',1);trackline();
moveblock('F',1500);trackline();
turn('R',0);trackline();
turn('R',1);trackline();
turn('L',1);trackline();
turn('L',1);trackline();
turn('L',1);trackline();
moveblock('F',1000);
lcd("SUCCESS!!");
green++;break;
default:
ao();break;
}
}
07.30 - 18 -3 -2567