серва не слушается

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем джекте трис, 21 авг 2018.

  1. Всем привет хотел управлять сервой по блютуз отправляя цифры но серва шумит и не поворачивается
    вот скетч
    Код (C++):
    #include <Servo.h>
    int val;
    Servo servo;

    void setup()
    {
    Serial.begin(9600);
    servo.attach(9);
    }

    void loop()
    {
    if (Serial.available())
    {
    val = Serial.read();
    servo.write(val);
    }
    }
     
    Последнее редактирование: 22 авг 2018
  2. NikitOS

    NikitOS Король шутов Администратор

    код xf 1.png
     
    джекте трис нравится это.
  3. Mitrandir

    Mitrandir Гуру

    Могу предположить что надо цифры из строки перевести в числовой тип и уже числом передать стерве
     
    джекте трис нравится это.
  4. прости а точнее
     
  5. какой числовой тип
     
  6. Daniil

    Daniil Гуру

    Вставьте код, пожалуйста, корректно, как указали вам выше.
    Описание функций пробовали читать?
    Как вы отправляете "число"?
    Что принимает serial.read?
     
    джекте трис нравится это.
  7. Код (C++):
    #include <Servo.h>
    int val;
    Servo servo;

    void setup()
    {
    Serial.begin(9600);
    servo.attach(9);
    }

    void loop()
    {
    if (Serial.available())
    {
    val = Serial.read();
    servo.write(val);
    }
    }
     
  8. NikitOS

    NikitOS Король шутов Администратор

    Некоторым людям в 11 лет сложно объяснить что то с первого раза:)

    Автор этого поста относится к ним.
     
    джекте трис и Daniil нравится это.
  9. Daniil

    Daniil Гуру

    Когда принимаете символ, что-нибудь меняется?
    Символ "А" можно представить как число, может, у вас с этим загвоздка? (ascii таблица)
     
    джекте трис нравится это.
  10. Mitrandir

    Mitrandir Гуру

    Решил вчера вечером сам проверит в чем загвоздка, та же фигня.
    Сеовопривод fs90 от амперки.
    Красный подрубил в Vin коричневый в землю оранжевый в девятый пин
    Скетч
    Код (C++):
    #include <Servo.h>
    int val;
    Servo servo;

    void setup()
    {
    Serial.begin(9600);
    servo.attach(9);
    }

    void loop()
    {
    servo.write(50);
    delay (1000);
    servo.write(0);
      delay(1000);
    }
     
    Серва гудит но не крутится
    Дуня мега2560
    Питается от юсб порта компа
     
    джекте трис нравится это.
  11. Daniil

    Daniil Гуру

    Почему Vin, а не Vcc?
     
    джекте трис нравится это.
  12. Mitrandir

    Mitrandir Гуру

    Vin это же то что пришло на питание, а vcc это со стаба дуни.
    Юсб даёт пять вольт, зачем стабилизатор мучать? Или я ошибаюсь в схеме?
     
    джекте трис нравится это.
  13. parovoZZ

    parovoZZ Гуру

    для электронно-вычислительной машины, ибо других вариантов нет.
     
    джекте трис нравится это.
  14. parovoZZ

    parovoZZ Гуру

    джекте трис и Mitrandir нравится это.
  15. AlexU

    AlexU Гуру

    Vin -- это то, что пришло на питание через специальный разъём на плате. Если питаете только от USB, то на Vin ни чего не будет.
     
    джекте трис и Mitrandir нравится это.
  16. Mitrandir

    Mitrandir Гуру

    Понял свою ошибку. Vin не может соединяться с питанием от юсб, так как соединён с разъёмом питания а там может быть до 12
     
    джекте трис и Daniil нравится это.
  17. я попробую изменить переменную на byte(там от 0 до 255)
     
  18. Я пытался найти проблему в ютубе и нашел такой скетч. Только там две кнопки
    Код (C++):
    #include <Servo.h>
    Servo myservo;
    int button1, button2,     //Объявляем переменные состояния кнопокint
    pos=90;               //Объявляем переменную позиции сервопривода
    void setup(){
      pinMode(2, INPUT);
      pinMode(3, INPUT);
    myservo.attach(9);
    myservo.write(pos);      //Первоначальное позиционирование сервопривода
    }
    void loop(){
      button1 = digitalRead(2);
      button2 = digitalRead(3);
    if (button1 == LOW && pos >= 0)  (pos--);     //ЕСЛИ кнопка 1 нажата и переменная сервопривода не улетела за границы допустимых значений ТО уменьшается переменная позиции на 1
    if (button2 == LOW && pos <= 180) (pos++);    
    myservo.write (pos);
    }
     
  19. Mitrandir

    Mitrandir Гуру

    Числа из сериала откуда приходят? С монитора порта?
     
    джекте трис нравится это.
  20. нет не получилось он уперся в один угол и пытается повернутся