arduino智能小车为什么有的引脚可以不定义输入输出 100

#include<Servo.h>#defineSERVO3#defineINT_A19#defineINT_B18#defineINT_A211#defineINT_B... #include<Servo.h>
#define SERVO 3
#define INT_A1 9
#define INT_B1 8
#define INT_A2 11
#define INT_B2 10
#define Triq 5
#define Echo 4
#define LASER 6
#define LASER_ON digitalWrite(LASER,1)
#define LASER_OFF digitalWrite(LASER,0)
Servo myservo;
float distance;
byte BT_COM;
byte BT_PWM=75;
byte LASER_Flag;
void BT_SERVO_REDUCE()
{
while(!Serial.available())
{
BT_PWM=2;
if(BT_PWM<5)BT_PWM=5;
myservo.write(BT_PWM);
delay(50);
}
}
void BT_SERVO_ADD()
{
while(!Serial.available())
{
BT_PWM+=2;
if(BT_PWM>150)BT_PWM=150;
myservo.write(BT_PWM);
delay(50);
}
}
void LASER_ON_SWITCH()
{
LASER_Flag=1;
while(!Serial.available())
{
LASER_ON;
}
}
void LASER_OFF_SWITCH()
{
LASER_Flag=0;
while(!Serial.available())
{
LASER_OFF;
}
}
void MY_DISTANCE()
{
digitalWrite(Triq,LOW);
delayMicroseconds(2);
digitalWrite(Triq,HIGH);
delayMicroseconds(10);

distance=pulseIn(Echo,HIGH);
distance=distance*0.018;
Serial.print("distance=");
Serial.print(distance);
Serial.println("cm");
}
void turnleft()
{
digitalWrite(INT_A1,0);
digitalWrite(INT_B1,1);
digitalWrite(INT_A2,1);
digitalWrite(INT_B2,0);
}
void turnright()
{
digitalWrite(INT_A1,1);
digitalWrite(INT_B1,0);
digitalWrite(INT_A2,0);
digitalWrite(INT_B2,1);
}
void forward()
{
digitalWrite(INT_A1,0);
digitalWrite(INT_B1,1);
digitalWrite(INT_A2,0);
digitalWrite(INT_B2,1);
}
void backup()
{
digitalWrite(INT_A1,1);
digitalWrite(INT_B1,0);
digitalWrite(INT_A2,1);
digitalWrite(INT_B2,0);
}
void stopcar()
{
digitalWrite(INT_A1,0);
digitalWrite(INT_B1,0);
digitalWrite(INT_A2,0);
digitalWrite(INT_B2,0);
}
void BiZhang()
{
while(!Serial.available())
{
MY_DISTANCE();
delay(50);
if(distance>20&&distance<40)turnleft();
else if(distance<20)backup();
else if(distance>40)forward();
}
}

void setup()
{
pinMode(Triq,OUTPUT);
pinMode(Echo,INPUT);
pinMode(LASER,OUTPUT);
myservo.attach(3);
Serial.begin(9600);
// put your setup code here, to run once:

}

void loop()
{
if(Serial.available())
{
BT_COM=Serial.read();
switch(BT_COM)
{
case 'a': forward();
break;
case 'b': turnright();
break;
case'c': backup();
break;
case'd': turnleft();
break;
case'e': stopcar();
break;
case'f': BT_SERVO_REDUCE();
break;
case'g': BT_SERVO_ADD();
break;
case'h': BiZhang();
break;
case'i': MY_DISTANCE();
break;
case'j': if(LASER_Flag==0)LASER_ON_SWITCH();
else if(LASER_Flag==1)LASER_OFF_SWITCH();
break;
}
}
}
8,9,10,11为什么不定义输入输出 求大神指导
展开
 我来答
2925059
2016-07-04 · TA获得超过4136个赞
知道大有可为答主
回答量:1.1万
采纳率:51%
帮助的人:1743万
展开全部
代码写的有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德晟智能
2024-09-04 广告
舵机应该如何选型?今天由我们德晟智能科技有限公司说到舵机,相信不少工程师都非常熟悉了,但是如果说到舵机的产品选型,可能不少工程师都是一知半解的,甚至大部分的人都是纯靠扭矩来进行舵机选型的。“舵机”,顾名思义就是用来控制舵面控制的伺服器,而随... 点击进入详情页
本回答由德晟智能提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式