การใช้ ฺBTS7960 ควบคุมความเร็ว Moter

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • การใช้งาน DC Moter h-bridge BTS7960 ควบคุมความเร็ว Moter และการเขียนโปรแกรม arduino เพื่อลองรับ การกำหนดจากมือถือในการควบคุมความเร็ว Moter
    Email prasitbbb157@gmail.com
    www.facebook.c...

КОМЕНТАРІ • 21

  • @supakornpopoo9753
    @supakornpopoo9753 2 роки тому +1

    ขอคุณมากครับสามารถนำไปต่อยอดได้ดีมาก ผมทำโปรเจคติดเรื่องโค้ดอยู่นานมาก ได้คลิบนี้ช่วยได้มากเลยครับ

    • @jobjab5355
      @jobjab5355 2 роки тому

      ใช่ครับ

    • @prasiths3bbb130
      @prasiths3bbb130  2 роки тому

      #include
      // software serial #1: RX = digital pin 11, TX = digital pin 12
      SoftwareSerial portOne(12, 11);
      //========================================================
      //I/O Port: Digital I/O ตั้งแต่ขา D3 D5 D6 D9 D10 D13 หรือ Pin3,5,6,9,10 และ 11 เป็นขา PWM
      // Motor A
      int IN1 = 3; // input 3
      int IN2 = 5; // input 5
      // Motor B
      int IN3 = 6; // input 6
      int IN4 = 9; // inputv9
      //===============================================================
      int PWM = 255; // contron SPEED
      //===============================================================
      void setup() {
      Serial.begin(9600);
      // setup contron Motor
      pinMode(IN1,OUTPUT);
      pinMode(IN2,OUTPUT);
      pinMode(IN3,OUTPUT);
      pinMode(IN4,OUTPUT);
      while (!Serial) {
      }
      portOne.begin(9600);
      }
      //===============================================================
      void loop() {
      portOne.listen();
      while (portOne.available() > 0)
      //==============================================================
      {
      //==============================================================
      char inByte = portOne.read();
      Serial.println(inByte); //read
      //===============================================================
      if(inByte == '8'){
      Serial.println("Forword");
      // Motor A
      analogWrite(IN1, 0);
      analogWrite(IN2, PWM);
      // Motor B
      analogWrite(IN3, PWM);
      analogWrite(IN4, 0);
      }
      //===============================================================
      else if(inByte == '2'){
      Serial.println("Blackword");
      // Motor A
      analogWrite(IN1, PWM);
      analogWrite(IN2, 0);
      // Motor B
      analogWrite(IN3, 0);
      analogWrite(IN4, PWM);
      }
      //===============================================================
      else if(inByte == '4'){
      Serial.println("Left");
      // Motor A
      analogWrite(IN1, 0);
      analogWrite(IN2, PWM);
      // Motor B
      analogWrite(IN3, 0);
      analogWrite(IN4, PWM);
      }
      //===============================================================
      else if(inByte == '6'){
      Serial.println("Right");
      // Motor A
      analogWrite(IN1, PWM);
      analogWrite(IN2, 0);
      // Motor B
      analogWrite(IN3, PWM);
      analogWrite(IN4, 0);
      }
      //===============================================================
      else if(inByte == '0'){
      Serial.println("Stop");
      // Motor A
      analogWrite(IN1, 0);
      analogWrite(IN2, 0);
      // Motor B
      analogWrite(IN3, 0);
      analogWrite(IN4, 0);
      }
      //===============================================================
      else if(inByte == 'H'){
      Serial.println("speed up");
      PWM += 15;
      if(PWM >= 255){PWM=255;}
      Serial.print("PWM = ");
      Serial.println(PWM);
      }
      //===============================================================
      else if(inByte == 'L'){
      Serial.println("speed down");
      PWM -= 15;
      if(PWM

  • @barbeerify
    @barbeerify Рік тому

    สุดยอดมากครับอาจารย์

  • @prasiths3bbb130
    @prasiths3bbb130  2 роки тому +2

    #include
    // software serial #1: RX = digital pin 11, TX = digital pin 12

    SoftwareSerial portOne(12, 11);
    //========================================================
    // Motor A
    int IN1 = 3; // input 3
    int IN2 = 5; // input 5
    // Motor B
    int IN3 = 6; // input 6
    int IN4 = 9; // inputv9
    //===============================================================
    int PWM = 255; // contron SPEED
    //===============================================================
    void setup() {
    Serial.begin(9600);
    // setup contron Motor
    pinMode(IN1,OUTPUT);
    pinMode(IN2,OUTPUT);
    pinMode(IN3,OUTPUT);
    pinMode(IN4,OUTPUT);
    while (!Serial) {
    }
    portOne.begin(9600);
    }
    //===============================================================
    void loop() {
    portOne.listen();
    while (portOne.available() > 0)
    //==============================================================
    {
    //==============================================================
    char inByte = portOne.read();
    Serial.println(inByte); //read
    //===============================================================
    if(inByte == '8'){
    Serial.println("Forword");
    // Motor A
    analogWrite(IN1, 0);
    analogWrite(IN2, PWM);
    // Motor B
    analogWrite(IN3, PWM);
    analogWrite(IN4, 0);
    }
    //===============================================================
    else if(inByte == '2'){
    Serial.println("Blackword");
    // Motor A
    analogWrite(IN1, PWM);
    analogWrite(IN2, 0);
    // Motor B
    analogWrite(IN3, 0);
    analogWrite(IN4, PWM);
    }
    //===============================================================
    else if(inByte == '4'){
    Serial.println("Left");
    // Motor A
    analogWrite(IN1, 0);
    analogWrite(IN2, PWM);
    // Motor B
    analogWrite(IN3, 0);
    analogWrite(IN4, PWM);
    }
    //===============================================================
    else if(inByte == '6'){
    Serial.println("Right");
    // Motor A
    analogWrite(IN1, PWM);
    analogWrite(IN2, 0);
    // Motor B
    analogWrite(IN3, PWM);
    analogWrite(IN4, 0);
    }
    //===============================================================
    else if(inByte == '0'){
    Serial.println("Stop");
    // Motor A
    analogWrite(IN1, 0);
    analogWrite(IN2, 0);
    // Motor B
    analogWrite(IN3, 0);
    analogWrite(IN4, 0);
    }
    //===============================================================
    else if(inByte == 'H'){
    Serial.println("speed up");
    PWM += 15;
    if(PWM >= 255){PWM=255;}
    Serial.print("PWM = ");
    Serial.println(PWM);
    }
    //===============================================================
    else if(inByte == 'L'){
    Serial.println("speed down");
    PWM -= 15;
    if(PWM

  • @user-wi2kv8bz8f
    @user-wi2kv8bz8f 2 роки тому

    ขอบคุณคราบ

  • @meme-qu6wr
    @meme-qu6wr 2 роки тому

    สอนการใช้ esp 32 งานร่วมกับ Arfuino uno r3 หรือ Mega หน่อยได้มั้ยครับ

  • @whitneydesignlabs8738
    @whitneydesignlabs8738 2 роки тому

    Nice work. Thanks for the tutorial.

  • @mech_shorts
    @mech_shorts Рік тому +1

    Sir how can I get the app to control the car

  • @jaynelgenerosa3294
    @jaynelgenerosa3294 2 роки тому

    Hi sir good day if you dont mind, I want to make this same project can you send to me the full details of this project? thank you sir.

  • @suksarit
    @suksarit 2 роки тому

    rpwm ,lpwm เป็นอนาล็อกใช่มั้ยครับ เห็นคลิปคนอื่นเอาไดรเวอร์เซอร์โว 5 V มาต่อคร่อม ไม่ต้องใช้อาดูโน่เลย

    • @prasiths3bbb130
      @prasiths3bbb130  2 роки тому

      ขออภัยครับตอบช้า
      ข้อที่ 1.ใช้ได้ 2 แบบครับ
      ข้อที่ 2 ตัวอย่างนี้ผมทำแบบควบคุมความเร็วครับ
      ข้้อที่ 3 ถ้าเอาไปต่อตรงไม่สามารถ ควบคุมความเร็วได้ครับ วิ่งได้แต่ถ้ามีตัวควบคุม พัสล์ ก็จะคุมความเร็วได้ครับ

    • @suksarit
      @suksarit 2 роки тому

      @@prasiths3bbb130 เห็นเขาใช้ไดรเวอร์จากเซอร์โวรถกระป๋อง แบบ 360 องศา รถกระป๋องมันเร่งความเร็วและถอยหลังได้ ตามพัลส์ที่ไดรเวอร์รับมาจากรีซีฟ เหมือนกับว่ามันเป็น h bridqe เหมือนกันเลย แถมใช้แรงดัน 5 V ถ้าขา LR pwm ของ bts7960 เป็นอนาล็อก ใช้แรงดัน 0-5 V เหมือนกัน แสดงว่าก็ต้องใช้ได้จริง แต่งงว่าเขาต่อ vcc และกราวด์ยังไงนั่นแหล่ะครับ

    • @suksarit
      @suksarit 2 роки тому

      ปล ในคลิป นาที 2 hight ,hight =burn มอเตอร์จะเบรคหรือไหม้ครับ (บรรยายว่าเบรค)

    • @prasiths3bbb130
      @prasiths3bbb130  2 роки тому +1

      @@suksarit เบรค ครับ ล้อจะล็อก การที่ล้อ ล็อกนานๆ จะทำให้ล้อไหม้ ได้ครับ เราจะใช้ที่ความเร็วไม่มาก แล้ว ให้หยุด แบบล็อกล้อ เป็นการหยุดแบบมีข้อแม้ ครับ อยู่ที่ผู้เขียนโปรแกรม มีเทคนิค ทราบปัญหา ที่เกิด และการนำไปใช้ ของแต่ละวิธีครับ

  • @narkornchaiwong9114
    @narkornchaiwong9114 Рік тому

    ผมว่าไม่ทนครับ

  • @dreamboy931
    @dreamboy931 2 роки тому

    Hallo Sir I want to talk with you