พื้นฐานการต่อวงจรไฟฟ้า
การใช้งาน Arduino เบื้องต้น
การรับค่า Input
การส่งค่า Output
การประกอบชุดคิทรถขับเคลื่อน 2 ล้อ
การสร้างหุ่นยนต์เดินตามเส้นและการปรับแต่ง
พื้นฐานการเขียนโปรแกรมภาษาซีสำหรับ Arduino
การตั้งค่า Arduino IDE เพื่อลง Driver Board ESP8266
File > Preferences..
นำค่า URL ไปป้อน
http://arduino.esp8266.com/stable/package_esp8266com_index.json
ในช่อง Additional boards manager URLs
คลิกปุ่ม OK
ไปที่เมนู Tools > Board > Boards Manger เลื่อนหาบอร์ด ESP8266 กด INSTALL
//code ทดสอบ Line Track Sensor
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(D1,INPUT); //L Sensor
pinMode(D2,INPUT); //R Sensor
}
void loop() {
// put your main code here, to run repeatedly:
int L = digitalRead(D1);
int R = digitalRead(D2);
Serial.print("L=");
Serial.println(L);
delay(500);
Serial.print("R=");
Serial.println(R);
delay(500);
}
//Board Wemos D1 mini Line Track 2WD
/*-------- Inputs Sensor D1,D2---------*/
int L_Sensor = D1; //D1 <--> GPIO05
int R_Sensor = D2; //D2 <--> GPIO04
/*--------Define Outputs PWM D3,D4-------*/
int PWM_L = D3; //D3 <--> GPIO0
int PWM_R = D4; //D4 <--> GPIO02
int SPEED = 100; // Speed PWM 0-255
/*-------Define Outputs Motor D5-D8------*/
int L_Motor_Forward = D5; //D5 <--> GPIO14
int L_Motor_Reward = D6; //D6 <--> GPIO12
int R_Motor_Forward = D7; //D7 <--> GPIO13
int R_Motor_Reward = D8; //D8 <--> GPIO15
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(L_Sensor,INPUT);
pinMode(R_Sensor,INPUT);
pinMode(PWM_L,OUTPUT);
pinMode(PWM_R,OUTPUT);
pinMode(L_Motor_Forward,OUTPUT);
pinMode(L_Motor_Reward,OUTPUT);
pinMode(R_Motor_Forward,OUTPUT);
pinMode(R_Motor_Reward,OUTPUT);
}
void loop() {
int L = digitalRead(L_Sensor);
int R = digitalRead(R_Sensor);
if ((L==0) && (R==0)) // Forward ไฟติด 2 ดวง บนเส้นขาว
{
analogWrite(PWM_L,SPEED);
digitalWrite(L_Motor_Forward,1);
digitalWrite(L_Motor_Reward,0);
analogWrite(PWM_R,SPEED);
digitalWrite(R_Motor_Forward,1);
digitalWrite(R_Motor_Reward,0);
}
if ((L==1) && (R==0)) //turn Left L อยู่บนเส้นดำ
{
//analogWrite(PWM_L,SPEED);
digitalWrite(L_Motor_Forward,0);
digitalWrite(L_Motor_Reward,0);
analogWrite(PWM_R,SPEED);
digitalWrite(R_Motor_Forward,1);
digitalWrite(R_Motor_Reward,0);
}
if ((L==0) && (R==1)) //turn Right R อยู่บนเส้นดำ
{
analogWrite(PWM_L,SPEED);
digitalWrite(L_Motor_Forward,1);
digitalWrite(L_Motor_Reward,0);
//analogWrite(PWM_R,SPEED);
digitalWrite(R_Motor_Forward,0);
digitalWrite(R_Motor_Reward,0);
}
if ((L==1) && (R==1)) //STOP ไฟติด 1 ดวง บนเส้นดำ
{
//analogWrite(PWM_L,SPEED);
digitalWrite(L_Motor_Forward,0);
digitalWrite(L_Motor_Reward,0);
//analogWrite(PWM_R,SPEED);
digitalWrite(R_Motor_Forward,0);
digitalWrite(R_Motor_Reward,0);
}
}