当前位置:   article > 正文

Arduino超声波智能循迹避障小车简易教程_arduino小车超声波

arduino小车超声波

在开始教程之前,首先需要准备以下材料:

一、硬件:

-Arduino UNO开发板
- L298N电机驱动模块
- 超声波传感器
- 两个直流电机
- 4个轮子
- 电池盒和电池
- 面包板和杜邦线

二、软件:

- Arduino IDE

接下来,需要连接硬件电路。首先,将L298N电机驱动模块连接到Arduino UNO开发板。

连接方式如下:

1、 将L298N电机驱动模块的IN1、IN2、IN3和IN4引脚分别连接到Arduino UNO开发板的数字引脚8、9、10和11。
2、 将L298N电机驱动模块的ENA和ENB引脚连接到Arduino UNO开发板的数字引脚5和6。
3、 将电池盒的正极和负极分别连接到L298N电机驱动模块的+12V和GND引脚。
4、 将两个直流电机分别连接到L298N电机驱动模块的OUT1和OUT2以及OUT3和OUT4引脚。
5、 将超声波传感器的VCC引脚连接到Arduino UNO开发板的5V引脚,GND引脚连接到GND引脚,Trig引脚连接到数字引脚2,Echo引脚连接到数字引脚3。

接下来,我们需要编写代码。以下是代码示例:

  1. //智能循迹避障小车
  2. // 定义引脚
  3. #define ENA 5
  4. #define ENB 6
  5. #define IN1 8
  6. #define IN2 9
  7. #define IN3 10
  8. #define IN4 11
  9. #define trigPin 2
  10. #define echoPin 3
  11. // 定义变量
  12. int distance;
  13. int speed = 200;
  14. void setup() {
  15. // 初始化引脚
  16. pinMode(ENA, OUTPUT);
  17. pinMode(ENB, OUTPUT);
  18. pinMode(IN1, OUTPUT);
  19. pinMode(IN2, OUTPUT);
  20. pinMode(IN3, OUTPUT);
  21. pinMode(IN4, OUTPUT);
  22. pinMode(trigPin, OUTPUT);
  23. pinMode(echoPin, INPUT);
  24. Serial.begin(9600);
  25. }
  26. void loop() {
  27. // 发送超声波信号
  28. digitalWrite(trigPin, LOW);
  29. delayMicroseconds(2);
  30. digitalWrite(trigPin, HIGH);
  31. delayMicroseconds(10);
  32. digitalWrite(trigPin, LOW);
  33. // 接收超声波信号
  34. distance = pulseIn(echoPin, HIGH) / 58;
  35. // 判断距离
  36. if (distance > 0 && distance < 20) {
  37. // 避障
  38. digitalWrite(IN1, LOW);
  39. digitalWrite(IN2, HIGH);
  40. digitalWrite(IN3, HIGH);
  41. digitalWrite(IN4, LOW);
  42. analogWrite(ENA, speed);
  43. analogWrite(ENB, speed);
  44. } else {
  45. // 循迹
  46. digitalWrite(IN1, HIGH);
  47. digitalWrite(IN2, LOW);
  48. digitalWrite(IN3, HIGH);
  49. digitalWrite(IN4, LOW);
  50. analogWrite(ENA, speed);
  51. analogWrite(ENB, speed);
  52. }
  53. // 输出距离
  54. Serial.print("Distance: ");
  55. Serial.print(distance);
  56. Serial.println(" cm");
  57. }

三、主要思路

通过超声波传感器获取前方障碍物的距离,如果距离小于20厘米,则小车会停下并向左转,以避免碰撞。如果距离大于等于20厘米,则小车会向前行驶,同时保持在黑色线路上行驶。

最后,将代码上传到Arduino开发板上,然后将小车放在黑色线路上,它就会自动行驶了。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号