Не правильный скечч

Исмаил
Offline
Зарегистрирован: 13.03.2021

Всем привет ,я подключил водяной датчик и сервопривод к ардуино ,когда вода попадает на датчик ,сервопривод крутится один раз ,на 180 градусов ,но ни чего не работает ,я думаю это неправильный скечч .Если не сложно ,пожалуйста помогите .

#include <Servo.h> 
Servo servo; 
int water = analogRead(A1); ;
void setup()
{
  pinMode(A1, INPUT);  
  servo.attach(8); 
}

void loop() 
{
   if (water > 0) { digitalWrite(8,HIGH); } 
   servo.write(180); 
        }

 

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

Скетч работает в точности так, как написан.

kalapanga
Offline
Зарегистрирован: 23.10.2016

Исмаил, посмотрите пример "Knob" от библиотеки Servo. И про оператор IF хотя бы здесь: http://arduino.ru/Reference/If Найдите разницу с тем, что у Вас.

Исмаил
Offline
Зарегистрирован: 13.03.2021

спасибо 

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

Исмаил пишет:

когда вода попадает на датчик ,сервопривод крутится один раз ,на 180 градусов

Так, если он крутится, то что Вам ещё нужно? Проблема-то в чём?

b707
Offline
Зарегистрирован: 26.05.2017

да там практически в каждой строчке ошибка. Причем в первую очередь ошибки в логике, а не в синтаксисе.

Главный вопрос к ТС - откуда, по вашему, берется значение переменной water в строке 12?

Дим-мычъ
Offline
Зарегистрирован: 20.03.2021

Исмаил, я начинающий, но попробую помочь :

[code]
#include <Servo.h>
Servo myservo;

const int sens = A1;

void setup()

{

  myservo.attach(8);

}



void loop()

{

  int water = analogRead(sens);

  if (water > 0) {  // не знаю, насколько чувствительный датчик, может придётся повысить порог немного

    myservo.write(180);

    delay(200);//паузу подобрать по месту...)))
  }
}
[/code]

 

Исмаил
Offline
Зарегистрирован: 13.03.2021

Спасибо огромное