ค่ายอบรมหุ่นยนต์
-- แนะนำตัวค่ายหุ่นยนต์เติมฝัน1 โปรแกรม arduino 2 ไดรส์เวอร์3 ภาพการประกอบ 4 หลักการต่อวงจรหุ่นยนต์
5 หลักการเขียนโปรแกรม
6 ตารางคะแนน
7 การเขียนโปรแกรม
8 กติกาการแข่งขัน
9 ช่องยูทูป
10 ฝากติดตามผลงาน เพจ fackbook
////////////////////////////////////////////////////////////////////
KK();//คีบ
UK();//ปล่อย
ST();///หยุด
BK();///ถอย
RR();///หมุนขวา
LL();///หมุนซ้าย
GO();///เดินหน้า
Line()//เดินตามเส้น
///////////////////////////////////////////////////////////
#include <Servo.h>
Servo myservo1;
int Step=0;
int M1 =8;//จุดต่อสายไดร์ส์มอเตอร์
int M2 =9;//จุดต่อสายไดร์ส์มอเตอร์
int M3 =10;//จุดต่อสายไดร์ส์มอเตอร์
int M4 =11;//จุดต่อสายไดร์ส์มอเตอร์
int BZ =13;///buzzer
int sensorPin1 = A1;
int sensorPin2 = A2;
int sensorPin3 = A3;
int sensorPin4 = A4;
int sensorPin5 = A5;
int sensorValue1 = 0;
int sensorValue2 = 0;
int sensorValue3 = 0;
int sensorValue4 = 0;
int sensorValue5 = 0;
void setup()
{
Serial.begin(9600);
myservo1.attach(7);///
myservo1.write(120); //องศา
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
pinMode(M3,OUTPUT);
pinMode(M4,OUTPUT);
pinMode(BZ,OUTPUT);
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
pinMode(BZ,OUTPUT);
digitalWrite(BZ,HIGH);
delay(2000);
Step=1;
///////////-----------------------------
//จุดเพิ่มคำสั่ง
///////////-----------------------------
}//////////////////////////////setup
void loop()
{
if(Step==1)
{
Line();///เดินหน้า
}
//else if(Step==2)
//{
//LL90();
//}
///////////-----------------------------
//จุดเพิ่มเงื่อนไข
///////////-----------------------------
else
{
ST();
}
}
void GO()///เดินหน้า
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,HIGH);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,HIGH);//ซ้ายหน้า
}
void LL()///หมุนซ้าย
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,HIGH);//ขวาหน้า
digitalWrite(M3,HIGH);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
}
void RR()///หมุนขวา
{
digitalWrite(M1,HIGH);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,HIGH);//ซ้ายหน้า
}
void BK()///ถอย
{
digitalWrite(M1,HIGH);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,HIGH);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
}
void ST()///หยุด
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
delay(2000);
}
void Line()//เดินตามเส้น
{
sensorValue1 = analogRead(sensorPin1);
sensorValue2 = analogRead(sensorPin2);
sensorValue3 = analogRead(sensorPin3);
sensorValue4 = analogRead(sensorPin4);
sensorValue5 = analogRead(sensorPin5);
Serial.print("s1 = ");
Serial.print(sensorValue1);
Serial.print(" s2 = ");
Serial.print(sensorValue2);
Serial.print(" s3 = ");
Serial.print(sensorValue3);
Serial.print(" s4 = ");
Serial.print(sensorValue4);
Serial.print(" s5 = ");
Serial.print(sensorValue5);
Serial.println();
if(sensorValue2<=600&&sensorValue4<=600)
{
digitalWrite(BZ,LOW);
delay(100);
digitalWrite(BZ,HIGH);
ST();
Step++;
}
else if(sensorValue1<=600||sensorValue2<=600)//ซ้าย
{
LL();
}
else if(sensorValue4<=600||sensorValue5<=600)//ซ้าย
{
RR();
}
else
{
GO();
}
}/////////////////////////////
void KK()//คีบ
{
ST();///หยุด
myservo1.write(180);
delay(2000);
}
void UK()//ปล่อย
{
ST();///หยุด
myservo1.write(120);
delay(2000);
}
void YD()//วาง
{}
void YU()//ยก
{}
void LL90()///หมุนซ้าย
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,HIGH);//ขวาหน้า
digitalWrite(M3,HIGH);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
delay(800);
Step++;
}
void RR90()///หมุนขวา
{
digitalWrite(M1,HIGH);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,HIGH);//ซ้ายหน้า
delay(800);
Step++;
}
///code-----------------------------------------------------------------------------
///-----code--1
#include <Servo.h>
Servo myservo1;
int M1 =8;//จุดต่อสายไดร์ส์มอเตอร์
int M2 =9;//จุดต่อสายไดร์ส์มอเตอร์
int M3 =10;//จุดต่อสายไดร์ส์มอเตอร์
int M4 =11;//จุดต่อสายไดร์ส์มอเตอร์
void setup()
{
myservo1.attach(7);///
myservo1.write(60); //องศา
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
pinMode(M3,OUTPUT);
pinMode(M4,OUTPUT);
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
delay(2000);
//------------------------------------
UK();//ปล่อย
delay(2000);
KK();//คีบ
delay(2000);
UK();
delay(2000);
KK();//คีบ
delay(2000);
//////----------------------
ST();///หยุด
}//////////////////////////////setup
void loop()
{
}
void GO()///เดินหน้า
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,HIGH);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,HIGH);//ซ้ายหน้า
}
void LL()///หมุนซ้าย
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,HIGH);//ขวาหน้า
digitalWrite(M3,HIGH);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
}
void RR()///หมุนขวา
{
digitalWrite(M1,HIGH);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,HIGH);//ซ้ายหน้า
}
void BK()///ถอย
{
digitalWrite(M1,HIGH);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,HIGH);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
}
void ST()///หยุด
{
digitalWrite(M1,LOW);//ขวาหลัง
digitalWrite(M2,LOW);//ขวาหน้า
digitalWrite(M3,LOW);//ซ้ายหลัง
digitalWrite(M4,LOW);//ซ้ายหน้า
delay(2000);
}
void Line()//เดินตามเส้น
{
}
void KK()//คีบ
{
ST();///หยุด
myservo1.write(100);
delay(2000);
}
void UK()//ปล่อย
{
ST();///หยุด
myservo1.write(60);
delay(2000);
}
void YD()//วาง
{}
void YU()//ยก
{}
///------------------------------------------------------------------
















