HC-06 и серводвигатель

Тема в разделе "Проводная и беспроводная связь", создана пользователем TOP_GUN, 29 июн 2015.

  1. TOP_GUN

    TOP_GUN Нуб

    Товарищи, я приступил к изучению блютоза и пытаюсь управлять сервом, отправляя сообщения на блютуз. В сообщении должно быть число равное количеству градусов, на которое должен повернуться серво. И тут я столкнулся с полосой кромешного стыда. Как не меняю этот простой посути код - ничего не получается, от серва нет ответа. Помогите мне, пожалуйста. Прилагаю код.
    #include <Servo.h>
    Servo servo1;
    String message;
    void setup() {
    Serial.begin(9600);
    servo1.attach(4);
    }
    void loop() {
    while (Serial.available())
    {
    char dat = Serial.read();
    int k = servo1.read();
    message += dat;
    int m = message.toInt();
    if (dat == '\n')
    {
    if (m>k && m<180)
    {
    for (int i=k;i<m;i=i+1)
    {
    servo1.write(i);
    delay(5);
    }
    }
    else if (m<=k && m>=0)
    {
    for (int i=k;i>m;i=i-1)
    {
    servo1.write(i);
    delay(5);
    }
    }
    }
    }
    }
     
    Последнее редактирование: 29 июн 2015
  2. Limoney

    Limoney Гик

    Код (Text):
    #include <Servo.h>

    Servo servo1;
    String message;
    int angle = 0;

    void setup() {
      Serial.begin(9600);
      servo1.attach(4);
      delay(100);
      servo1.write(angle);
    }

    void loop() {
      while (Serial.available() > 0)
      {
        angle = Serial.parseInt();

        if (Serial.read() == '\n') {
          angle = constrain(angle, 0, 180);
          servo1.write(angle);
          delay(100);
        }
        Serial.println(angle, DEC);
      }
    }
     
  3. TOP_GUN

    TOP_GUN Нуб

    Спасибо Вам Огромное!
     
  4. Limoney

    Limoney Гик

    Пожалуйста