прошу помощи с сервой
- Войдите на сайт для отправки комментариев
Чт, 29/10/2015 - 23:06
добрый день, помогите пожалуйста с сервой, задача следующая:
имеется 2 цифровых входа по умолчянию лог. 0 на обоих
если вход1=0 и вход2=0 тогда серва на 80 (начальная позиция)
если вход1 = 1 тогда серва на 150 (как только пропадает лог.1 серва возращается на начало (80))
если вход2 = 1 тогда серва на 10 (как только пропадает лог.1 серва возращается на начало (80))
попытался написать с одним входом работает, с двумя нет,
#include <Servo.h>
Servo myservo;
const int inputPin1 = 5; //вход 1
const int inputPin2 = 6; //вход 2
int inputState1= 0;
int inputState2 = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
inputState1 = digitalRead(inputPin1);
if (inputState1 == HIGH) {
myservo.write(130);
}
else {
myservo.write(80);
}
}
вот с таким кодом вроде работает, хочу выслушать Ваши коментарии, и укажите как можно оптимизировать и сделать проще.
спасибо
#include <Servo.h> Servo myservo; const int inputPin1 = 5; //вход 1 const int inputPin2 = 6; //вход 2 int inputState1= 0; int inputState2 = 0; void setup() { myservo.attach(9); myservo.write(90); } void loop() { if ((digitalRead(inputPin1)==0) && (digitalRead(inputPin2)==1)){ myservo.write(130); } else if ((digitalRead(inputPin1)==1) && (digitalRead(inputPin2)==0)){ myservo.write(30); } else { myservo.write(80); } }