//ฝากติดตามช่อยูทูป assadawut diy ด้วยนะครับ int in1 = 4;//pin4 arduino int in2 = 5; int en1 = 6; //pin pwm int ch1 = 2; //pin 2 arduino int pwm1 = 0; int in3 = 7; int in4 = 8; int en2 = 9; int ch2 = 3; int pwm2 = 0; int ch4=10; int relay1=11; int relay2=12; void setup() { pinMode(ch1, INPUT); pinMode(ch2, INPUT); pinMode(ch4, INPUT); pinMode(relay1,OUTPUT); pinMode(relay2,OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(en1, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(en2, OUTPUT); Serial.begin(9600); } void loop() { int value1 = pulseIn(ch1, HIGH); int value2 = pulseIn(ch2, HIGH); int value3 = pulseIn(ch4, HIGH); // Serial.print(value1); // Serial.print(value2); // Serial.println(value3); // delay(10); if((value1==0)&&(value2==0)&&(value3==0))//สัญญาณวิทยุเป็นศูนย์ เพราะยังไม่เป็นวิทยุบังคับ { digitalWrite(in1, LOW); digitalWrite(in2, LOW); analogWrite(en1, 0); digitalWrite(in3, LOW); digitalWrite(in4, LOW); analogWrite(en2, 0); digitalWrite(relay1, LOW); digitalWrite(relay2, LOW); } else if((value1 < 1430)&&(value2 < 1430))//forward { pwm1 = map(value1,1430,944,0,255);//motor_Left digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(en1, pwm1); pwm2 = map(value2,1430,944,0,255);//motor_Right digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(en2, pwm1); } else if((value1 > 1530)&&(value2 > 1530))//backward { pwm1 = map(value1,1530,1984,0,255); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(en1, pwm1); pwm2 = map(value2,1530,1984,0,255); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(en2, pwm2); } else if (value3 < 1430) { digitalWrite(relay1, HIGH); } else if (value3 > 1530) { digitalWrite(relay2, HIGH); } else { digitalWrite(in1, LOW); digitalWrite(in2, LOW); analogWrite(en1, 0); digitalWrite(in3, LOW); digitalWrite(in4, LOW); analogWrite(en2, 0); digitalWrite(relay1, LOW); digitalWrite(relay2, LOW); } delay(10); }
น่าสนใจมากค่ะ
//ฝากติดตามช่อยูทูป assadawut diy ด้วยนะครับ
int in1 = 4;//pin4 arduino
int in2 = 5;
int en1 = 6; //pin pwm
int ch1 = 2; //pin 2 arduino
int pwm1 = 0;
int in3 = 7;
int in4 = 8;
int en2 = 9;
int ch2 = 3;
int pwm2 = 0;
int ch4=10;
int relay1=11;
int relay2=12;
void setup()
{
pinMode(ch1, INPUT);
pinMode(ch2, INPUT);
pinMode(ch4, INPUT);
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(en1, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(en2, OUTPUT);
Serial.begin(9600);
}
void loop() {
int value1 = pulseIn(ch1, HIGH);
int value2 = pulseIn(ch2, HIGH);
int value3 = pulseIn(ch4, HIGH);
// Serial.print(value1);
// Serial.print(value2);
// Serial.println(value3);
// delay(10);
if((value1==0)&&(value2==0)&&(value3==0))//สัญญาณวิทยุเป็นศูนย์ เพราะยังไม่เป็นวิทยุบังคับ
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
analogWrite(en1, 0);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(en2, 0);
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
}
else if((value1 < 1430)&&(value2 < 1430))//forward
{
pwm1 = map(value1,1430,944,0,255);//motor_Left
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(en1, pwm1);
pwm2 = map(value2,1430,944,0,255);//motor_Right
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(en2, pwm1);
}
else if((value1 > 1530)&&(value2 > 1530))//backward
{
pwm1 = map(value1,1530,1984,0,255);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(en1, pwm1);
pwm2 = map(value2,1530,1984,0,255);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(en2, pwm2);
}
else if (value3 < 1430)
{
digitalWrite(relay1, HIGH);
}
else if (value3 > 1530)
{
digitalWrite(relay2, HIGH);
}
else
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
analogWrite(en1, 0);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(en2, 0);
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
}
delay(10);
}