2 Comments

  1. //ฝากติดตามช่อยูทูป 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);

    }

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.