你好,我正在为我的第一个与 arduino 合作的项目尝试一些关于自动垃圾的事情
当一只手靠近她时打开,当我编码时我收到此错误
她就是代码
#include <Servo.h> //librarie de servo moteur
int echo = 7;
int trig = 6;
int sg90 = 8;
int distance;
int duration;
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
sg90.attach(8);
}
void loop() {
digitalWrite(trig, LOW);
delay(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = duration/58.2;
if(distance<30){
sg90.write( LOW);
delay(4500);
Serial.print(distance);
}
else {
sg90.write(180);
delay(50);
}
}
悲伤的错误:
error: request for member 'write' in 'sg90', which is of non-class type 'int'
sg90.write(180);
ps:我是编码初学者
有人可以帮我快点``
您不想盲目复制外星人代码。也许你想要
#include <Servo.h> //librarie de servo moteur
enum Pin {
int echo = 7,
int trig = 6,
int sg90 = 8,
};
int distance;
int duration;
Servo sg90;
void setup() {
pinMode(Pin::trig, OUTPUT);
pinMode(Pin::echo, INPUT);
sg90.attach(Pin::sg90);
}
void loop() {
digitalWrite(Pin::trig, LOW);
delay(2);
digitalWrite(Pin::trig, HIGH);
delayMicroseconds(10);
digitalWrite(Pin::trig, LOW);
duration = pulseIn(Pin::echo, HIGH);
distance = duration/58.2;
if(distance<30){
sg90.write( LOW);
delay(4500);
Serial.print(distance);
}
else {
sg90.write(180);
delay(50);
}
}