Пытаюсь сделать датчик движения безопасности с помощью peizer и hc-sr04, но я не могу найти ошибки, код ошибки полностью отключен
#define trigPin 10
#define echoPin 9
#define buzzer 12
long duration;
int distance;
void setup() {
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);
pinMode(buzzer,OUTPUT);
}
void loop() {
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration=pulseIn(echoPin,HIGH);
distance=duration*0.034/2;
Serial.print("DISTANCE=");
Serial.println(distance);
if (distance<=15){
tone(buzzer,450);
delay (500);
noTone(buzzer);
}
else{
noTone(buzzer);
}
}
это код ошибки
Arduino: 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Board: "Arduino Uno"
sketch_nov27a:9:15: error: stray '\342' in program
void setup() {
^
sketch_nov27a:9:16: error: stray '\200' in program
void setup() {
^
sketch_nov27a:9:17: error: stray '\213' in program
void setup() {
^
sketch_nov27a:9:18: error: stray '\342' in program
void setup() {
^
sketch_nov27a:9:19: error: stray '\200' in program
void setup() {
^
sketch_nov27a:9:20: error: stray '\213' in program
void setup() {
^
sketch_nov27a:14:2: error: stray '\342' in program
}
^
sketch_nov27a:14:3: error: stray '\200' in program
}
^
sketch_nov27a:14:4: error: stray '\213' in program
}
^
sketch_nov27a:14:5: error: stray '\342' in program
}
^
sketch_nov27a:14:6: error: stray '\200' in program
}
^
sketch_nov27a:14:7: error: stray '\213' in program
}
^
sketch_nov27a:18:14: error: stray '\342' in program
void loop() {
^
sketch_nov27a:18:15: error: stray '\200' in program
void loop() {
^
sketch_nov27a:18:16: error: stray '\213' in program
void loop() {
^
sketch_nov27a:18:17: error: stray '\342' in program
void loop() {
^
sketch_nov27a:18:18: error: stray '\200' in program
void loop() {
^
sketch_nov27a:18:19: error: stray '\213' in program
void loop() {
^
sketch_nov27a:28:19: error: stray '\342' in program
if (distance<=15){
^
sketch_nov27a:28:20: error: stray '\200' in program
if (distance<=15){
^
sketch_nov27a:28:21: error: stray '\213' in program
if (distance<=15){
^
sketch_nov27a:28:22: error: stray '\342' in program
if (distance<=15){
^
sketch_nov27a:28:23: error: stray '\200' in program
if (distance<=15){
^
sketch_nov27a:28:24: error: stray '\213' in program
if (distance<=15){
^
sketch_nov27a:32:2: error: stray '\342' in program
}
^
sketch_nov27a:32:3: error: stray '\200' in program
}
^
sketch_nov27a:32:4: error: stray '\213' in program
}
^
sketch_nov27a:32:5: error: stray '\342' in program
}
^
sketch_nov27a:32:6: error: stray '\200' in program
}
^
sketch_nov27a:32:7: error: stray '\213' in program
}
^
sketch_nov27a:33:6: error: stray '\342' in program
else{
^
sketch_nov27a:33:7: error: stray '\200' in program
else{
^
sketch_nov27a:33:8: error: stray '\213' in program
else{
^
sketch_nov27a:33:9: error: stray '\342' in program
else{
^
sketch_nov27a:33:10: error: stray '\200' in program
else{
^
sketch_nov27a:33:11: error: stray '\213' in program
else{
^
sketch_nov27a:36:1: error: stray '\342' in program
}
^
sketch_nov27a:36:2: error: stray '\200' in program
}
^
sketch_nov27a:36:3: error: stray '\213' in program
}
^
sketch_nov27a:36:4: error: stray '\342' in program
}
^
sketch_nov27a:36:5: error: stray '\200' in program
}
^
sketch_nov27a:36:6: error: stray '\213' in program
}
^
sketch_nov27a:36:8: error: stray '\342' in program
}
^
sketch_nov27a:36:9: error: stray '\200' in program
}
^
sketch_nov27a:36:10: error: stray '\213' in program
}
^
sketch_nov27a:36:11: error: stray '\342' in program
}
^
sketch_nov27a:36:12: error: stray '\200' in program
}
^
sketch_nov27a:36:13: error: stray '\213' in program
}
^
exit status 1
stray '\342' in program
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
@NEXE, 👍1
1 ответ
Там есть хорошая ошибка. Я скопировал ваш код в свою Arduino IDE, а также получил много ошибок с "stray X в программе".
Затем я просмотрел файл в текстовом редакторе vim и сделал видимыми все непечатаемые символы (то есть символы, которые нельзя увидеть, например, управляющие символы). Вот результат (в виде изображения, чтобы вы могли видеть непечатаемые символы)
Как вы видите, у вас есть несколько дополнительных символов, помеченных как <200b>
. Google дает мне описание для него следующим образом
пространство нулевой ширины
таким образом, символ пробела, который имеет нулевую ширину и, следовательно, не виден.
Компилятор не знает, как интерпретировать эти символы. Я удалил их, и компиляция прошла успешно. Здесь снова ваш код в виде текста без непечатаемых символов (и автоматически форматируется, чтобы его было легче читать):
#define trigPin 10
#define echoPin 9
#define buzzer 12
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("DISTANCE=");
Serial.println(distance);
if (distance <= 15) {
tone(buzzer, 450);
delay (500);
noTone(buzzer);
}
else {
noTone(buzzer);
}
}
Как эти непечатаемые символы попали в ваш код, можно только догадываться. Возможно, вы скопировали его части с какого-то веб-сайта, на котором были эти дополнительные символы. Возможно, вы случайно вставили их с помощью какого-то текстового редактора.
Для справки: Используемый раздел часто задаваемых вопросов vim с командами для отображения непечатаемых символов здесь:
11.5. Как мне выделить все непечатаемые символы в файле?
Вы можете использовать следующие команды и шаблон поиска, чтобы выделить все непечатаемые символы в файле:
:установить hlsearch /(\p|$)@!.
Для получения дополнительной информации читайте
:справка /\p
:справка / панель
:справка /$
:помощь /(
:помогите /@!
:справка "hlsearch"
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату