如何解决如何在此处添加参数?
我使用了两个超声波传感器,我想比较它们测量的距离以激活伺服电机。错误说
函数的参数太少 long int readUltrasonicdistance(int,int)
我已经在谷歌中搜索过,但没有一个与我的错误相同,我对其进行了一些更改,但仍然相同。我不太擅长编程,这是一个项目。
#include <Servo.h>
int pos = 0;
Servo servo_9;
//int inches = 0;
int cm1 = 0;
int cm2 = 0;
//first ultrasonic sensor
long readUltrasonicdistance1(int triggerPin,int echoPin)
{
pinMode(triggerPin,OUTPUT); // Clear the trigger
digitalWrite(triggerPin,LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin,HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin,LOW);
pinMode(echoPin,INPUT);
// Reads the echo pin,and returns the sound wave travel time in microseconds
return pulseIn(echoPin,HIGH);
}
//second ultrasonic sensor
long readUltrasonicdistance2(int triggerPin,HIGH);
}
void setup()
{
Serial.begin(9600);
servo_9.attach(9);
}
void loop()
{
// measure the ping time in cm
cm1 = 0.01723 * readUltrasonicdistance1(7);
cm2 = 0.01723 * readUltrasonicdistance2(6);
// convert to inches by dividing by 2.54
//inches = (cm / 2.54);
if (cm1 <= 250 && cm2 >= 250){
//Serial.print(inches);
//Serial.print("in,");
Serial.print(cm1);
Serial.print("cm");
Serial.print(cm2);
Serial.println("cm");
delay(100); // Wait for 100 millisecond(s)
//for (pos = 0; pos <= 180; pos += 1) {
// tell servo to go to position in variable 'pos'
servo_9.write(180);
// wait 15 ms for servo to reach the position
//delay(5); // Wait for 15 millisecond(s)
//}
}
else {
//Serial.print(inches);
//Serial.print("in,");
Serial.print(cm1);
Serial.println("cm");
Serial.print(cm2);
Serial.println("cm");
delay(100); // Wait for 100 millisecond(s)
//for (pos = 0; pos <= 180; pos += 1) {
// tell servo to go to position in variable 'pos'
servo_9.write(0);
// wait 15 ms for servo to reach the position
// delay(1); // Wait for 15 millisecond(s)
//}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。