ค่ายอบรมหุ่นยนต์     
-- แนะนำตัวค่ายหุ่นยนต์เติมฝัน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()//ยก
{}
 
 
///------------------------------------------------------------------
















