помогите пожалуйста найти ошибку, написал программу для роота ардуино уно с ультразвуковым датчиком, находит ошибку

ale98293853
Offline
Зарегистрирован: 16.12.2017
#include <Servo.h>
#include <iarduino_HC_SR04.h>
// пины контроллера L298N:
const int LeftMotorForward = 7;
const int LeftMotorBackward = 6;
const int RigtMotorForward = 5;
const int RigtMotorBackward = 4
  int echoPin = 9;                        ошибка  expected "," or";" before "int"
  int trigPin = 8;
  void setup(){  
  Serial.begin (9600);   
  pinMode(trigPin, OUTPUT);   
  pinMode(echoPin, INPUT); 
}
void loop() {
  int duration, cm;  
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2);   
  digitalWrite(trigPin, HIGH);   
  delayMicroseconds(10);  
  digitalWrite(trigPin, LOW);  
  duration = pulseIn(echoPin, HIGH);  
  cm = duration / 58;  
  Serial.print(cm);   
  Serial.println(" cm");  
  delay(100);
}

написал программу для ардуино уно с ультразвуковым датчиком, при проверке находит ошибку

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Посмотри в конец 7 строки. Чем она отличается от строк 4, 5, 6 ? Потом прочитай ещё раз ошибку.

ale98293853
Offline
Зарегистрирован: 16.12.2017

ok, спасибо

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ale98293853 пишет:

написал программу для ардуино уно

Мощно! Правда, точно такая же, и даже с теми же именами переменных валяется в 100500 местах в сети, но ... написал не написал, а вот ошибочную строку точно сам добавил! :)))

А если серьёзно, Вы понимаете то чозначает там число 58? Если понимаете, то должны также понимать, что это число там уместно только при точном делении, а при целоичсленном ... в обще не хотите брать погрешность песередине, а не с краю, что бы у Вас полуалось 115 / 58 = 2, а не 1 как получается у Вас сейчас?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ЕвгенийП пишет:

...что бы у Вас полуалось 115 / 58 = 2, а не 1 как получается у Вас сейчас?

Не получится.Датчик на таких расстояниях не работает.

А на тех, что работает, погрешность уже соизмерима с погрешностью от того, что не учитывается зависимость от температуры.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

От 2 см. работает. Т.е. 173/58 он выдаст 2, а не 3, что вдвое превышает погрешность самого датчика.

ale98293853
Offline
Зарегистрирован: 16.12.2017

это в строке 23?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так Вы ж "написали" код! Кому ж его знать, как не Вам? :-))))))))))

ale98293853
Offline
Зарегистрирован: 16.12.2017

ясно