超声波自动避障碍小车

所谓纸上得来终觉浅,须知此事要躬行。学完ARDUINO自己动手做几个感兴趣的小项目可以提高学习兴趣同时将知识应用
硬件部分可参考我的另一篇文章蓝牙遥控小车
由于时间问题我只用了最简单的HCSR04和舵机实现最简单的功能,感兴趣的可以加上蜂鸣器作为运行提醒和LCD显示障碍物距离。我这个程序有个很明显的缺点就是当走进一个胡同时走不出来,可以加上一个掉头,当前方以及左右都有障碍物时掉头即可。
这里介绍一下我的控制程序就可以了
首先有个很重要的东西:BUTTON接到中断口,用外部中断作为小车运动开关,按下开关,小车开始运行,再次按下开关小车停止。不知道中断怎么回事的看这里
外部中断使用
接通电源,按下开关小车开始运行同时检测前方距离,当距离小于30厘米时刹车并停止,舵机右转测右边距离,舵机左转测左边距离,若右大于左:右转反之左转

#include "SR04.h"
#include <Servo.h>
#define FILTER_N 3
#define leftmotor1 3
#define leftmotor2 4  // to control the left motor
#define leftpwm 5
#define rightmotor1 7
#define rightmotor2 8
#define rightpwm 6 //to control right motor
#define servopin 9    //to control servo 
#define trigpin 10       //sr04
#define echopin 11
#define myspeed 85//setup the speed of car
bool button_state = false;

int frontdis,leftdis,rightdis;

SR04 mysr04 = SR04(10,11);
Servo myservo;
void setup() {
   
  // put your setup code here, to run once:
  pinMode(leftmotor1,OUTPUT);
  pinMode(leftmotor2,OUTPUT);
  pinMode(rightmotor1,OUTPUT);
  pinMode(rightmotor2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值