Combo xe 3 bánh tránh vật cản Arduino

Thương hiệu : Khác

Giá

:

450,000đ


Share:

Đang cập nhật

Miễn phí vận chuyển với đơn hàng lớn hơn 1.000.000 đ

Giao hàng ngay sau khi đặt hàng (áp dụng với TP. HCM)

Đổi trả trong 3 ngày, thủ tục đơn giản

Nhà cung cấp xuất hóa đơn cho sản phẩm này

Combo xe tránh vật cản 3 bánh tự động tránh vật khi bị cản trở, thường được sử dụng trong dạy học STEM, thi đấu, giải trí, mạch khả năng hoạt động lên tới 3h, khi không còn sử dụng vào mục đích chính người dùng có thể thay đổi sang combo khác như: kết hợp với module bluetooth làm xe điều khiển từ xa,  kết hợp với module dò line làm xe dò line, dò line tránh vật cản

Danh sách sản phẩm sử dụng trong combo

  • Khung xe robot 3 bánh
  • Arduino UNO R3 SMD chip dán (kèm cáp)
  • Mạch Điều Khiển Động Cơ DC L298N
  • Cảm Biến Siêu Âm HC-SR04
  • Đế module cảm biến siêu âm HC-SR04
  • Động cơ servo SG90 180 độ
  • Hộp Pin 18650 2 cell có nắp và công tắc
  • Pin cell 18650 2000mAh x2
  • Jack DC đực có dây
  • Dây Cắm Test Board Đực Đực 30cm ( 10 sợi )
  • Dây Cắm Test Board Đực Cái 30cm ( 20 sợi )

Thông số kỹ thuật của Combo tự làm xe 3 bánh tránh vật cản Arduino

  • Dòng tiêu thụ trung bình: 0.5A
  • Dòng chờ: 0.06A
  • Số giờ hoạt động: liên tục 3h trong điều kiện pin được sạc đầy
  • Trọng lượng: 500g

Lưu ý: combo này là tự ráp, quý khách chỉ cần đấu nối và nạp code theo đúng sơ đồ là chạy, quý khách có thể chỉnh sửa lại code để tối ưu hơn

Sơ đồ đấu nối của Combo tự làm xe 3 bánh tránh vật cản Arduino

  • Cấp nguồn

Arduino + L298N sẽ lấy nguồn từ bộ 2 pin 18650

Servo + SR04 sẽ lấy nguồn từ L298N

2 động cơ sẽ lấy nguồn từ L298N

Sơ đồ đấu nối của Combo tự làm xe 3 bánh tránh vật cản ArduinoSơ đồ đấu nối của Combo tự làm xe 3 bánh tránh vật cản Arduino
  • Đấu dây tín hiệu

Chân trig của SR-04 = 7
Chân echo của SR-04 = 4

Chân IN1 Module L298 = 13 // để điều chỉnh hướng
Chân IN2 Module L298 = 12
Chân IN3 Module L298 = 11
Chân IN4 Module L298 = 10

Chân ENA Module L298 = 6 // để điều chỉnh tốc độ
Chân ENB Module L298 = 5

Sơ đồ đấu nối của Combo tự làm xe 3 bánh tránh vật cản Arduino

Sơ đồ đấu nối của Combo tự làm xe 3 bánh tránh vật cản Arduino

Code mẫu

#include <Servo.h>          //Servo motor library. This is standard library
#include <NewPing.h>        //Ultrasonic sensor function library. You must install this library

//our L298N control pins
const int LeftMotorForward = 13; // banh ben trai tien
const int LeftMotorBackward = 12; // banh ben trai lui
const int RightMotorForward = 11; // banh ben phai tien
const int RightMotorBackward = 10; // banh ben phai lui

const int ena = 6; 
const int enb = 5;

//sensor pins SR04
#define trig_pin 7 
#define echo_pin 4

#define maximum_distance 200
boolean goesForward = false;
int distance = 100;

NewPing sonar(trig_pin, echo_pin, maximum_distance); //sensor function
Servo servo_motor; //our servo name

void setup(){
Serial.begin(9600);
  pinMode(RightMotorForward, OUTPUT);
  pinMode(LeftMotorForward, OUTPUT);
  pinMode(LeftMotorBackward, OUTPUT);
  pinMode(RightMotorBackward, OUTPUT);

 pinMode(ena, OUTPUT);
 pinMode(enb, OUTPUT);
  
  servo_motor.attach(9); //our servo pin

  servo_motor.write(90);
  delay(2000);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);

 analogWrite(ena, 200);  // chinh toc do dong co ben trai
 analogWrite(enb, 200); // chinh toc do dong co ben trai

}

void loop(){
  
  int distanceRight = 0;
  int distanceLeft = 0;
  delay(50);

  if (distance <= 20){
    moveStop(); // dung lai
    delay(300);
    moveBackward(); // lui ve sau
    delay(400);
    moveStop();// dung lai
    delay(300);
    distanceRight = lookRight(); // lay khoang cach ben trai
    delay(300);
    distanceLeft = lookLeft(); // lay khoang cach ben phai
    delay(300);

    if (distance >= distanceLeft){ // neu khoang cach toi da >= khoang cach ben trai 
      turnRight(); //re phai
      moveStop();
    }
    else{ // ko thi
      turnLeft(); // re trai
      moveStop();
    }
  }
  else{
    moveForward();  // ko phai 2 truong hop tren thi chay thang
  }
    distance = readPing();
}

int lookRight(){  // nhin phai lay khoang cach
  servo_motor.write(10);
  delay(500);
  int distance = readPing();
  delay(100);
  servo_motor.write(90);
  return distance;
}

int lookLeft(){ // nhin trai lai khoang cach 
  servo_motor.write(170);
  delay(500);
  int distance = readPing();
  delay(100);
  servo_motor.write(90);
  return distance;
  delay(100);
}

int readPing(){
  delay(70);
  int cm = sonar.ping_cm();
  if (cm==0){
    cm=250;
  }
  return cm;
}

void moveStop(){ // dung lai
  
  digitalWrite(RightMotorForward, LOW);
  digitalWrite(LeftMotorForward, LOW);
  digitalWrite(RightMotorBackward, LOW);
  digitalWrite(LeftMotorBackward, LOW);
}

void moveForward(){ // di thang

  if(!goesForward){

    goesForward=true;
    
    digitalWrite(LeftMotorForward, HIGH);
    digitalWrite(RightMotorForward, HIGH);
    digitalWrite(LeftMotorBackward, LOW);
    digitalWrite(RightMotorBackward, LOW); 
  }
}

void moveBackward(){

  goesForward=false;

  digitalWrite(LeftMotorBackward, HIGH);
  digitalWrite(RightMotorBackward, HIGH);
  
  digitalWrite(LeftMotorForward, LOW);
  digitalWrite(RightMotorForward, LOW);
  
}

void turnRight(){

  digitalWrite(LeftMotorForward, HIGH);
  digitalWrite(RightMotorBackward, HIGH);
  
  digitalWrite(LeftMotorBackward, LOW);
  digitalWrite(RightMotorForward, LOW);
  
  delay(300);
  
  digitalWrite(LeftMotorForward, HIGH);
  digitalWrite(RightMotorForward, HIGH);
  
  digitalWrite(LeftMotorBackward, LOW);
  digitalWrite(RightMotorBackward, LOW);
 
  
  
}

void turnLeft(){

  digitalWrite(LeftMotorBackward, HIGH);
  digitalWrite(RightMotorForward, HIGH);
  
  digitalWrite(LeftMotorForward, LOW);
  digitalWrite(RightMotorBackward, LOW);

  delay(300);
  
  digitalWrite(LeftMotorForward, HIGH);
  digitalWrite(RightMotorForward, HIGH);
  
  digitalWrite(LeftMotorBackward, LOW);
  digitalWrite(RightMotorBackward, LOW);
}
Chưa có mô tả cho sản phẩm này
Product category