Страница 1 из 1

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

СообщениеДобавлено: 16 дек 2014, 04:13
Jarlaxle
Всем доброго времени суток! Пожалуйста, помогите с кодом. Нужно сделать так, чтобы когда значение на аналоговом входе становится больше 350 загорался светодиод и серва меняла свое положение. Светодиод работает, а вот серву все время клинит в одну сторону.

Код: Выделить всё

#include <Servo.h>
int analogPin = 1;   
int EMG = 0;         
Servo ARM; // servo for ARM


void setup()

{
ARM.attach(9); // Analog pin 0
Serial.begin(9600);
pinMode(13, OUTPUT);
}

void loop()
{
EMG = analogRead(analogPin);   
Serial.println(EMG);
if (EMG > 350)
{
  ARM.write(90);
  digitalWrite(13, HIGH);
}
else
{
  ARM.write(0);
  digitalWrite( 13, LOW );
}
}


Буду рад любой помощи :)

Re: Пожалуйста, помогите найти ошибку в коде.

СообщениеДобавлено: 16 дек 2014, 09:26
admin
а работу самой сервомашинки стандартными примерами проверяли? :)

Re: Пожалуйста, помогите найти ошибку в коде.

СообщениеДобавлено: 16 дек 2014, 12:29
Jarlaxle
Спасибо, уже разобрался :)

Такой вопрос, а если я хочу сделать так, чтобы определенное действие выполнялось в цикле, пока величина аналогового сигнала одна, но при переходе этой величины через какую-нибудь границу - выполнялось бы другое действие?