Новичок, помогите

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Misty, 5 дек 2018.

  1. Misty

    Misty Нуб

    Всем салют, начал делать робота управляемый через блютуз на Ардуино, без мотор шилда, да знаю , долго не проживет) вообще проблема заключается в другом, есть скетч, он работает, но только через монитор порт , если вводить буквы, а нужно через блютуз модуль HC-06, я его подключил ну и с помощью приложения на телефоне блютуз терминал попытался подать переменные в итоге нифига, прошу помощи:)
    // подключите один мотор к клемме: M1+ и M1-
    // а второй к клемме: M2+ и M2-
    // Motor shield использует четыре контакта 4, 5, 6, 7 для управления моторами
    // 4 и 7 — для направления, 5 и 6 — для скорости
    #define SPEED_1 5
    #define DIR_1 4

    #define SPEED_2 6
    #define DIR_2 7
    int mashinka;

    void setup()
    {
    Serial.begin(9600);
    // настраиваем выводы платы 4, 5, 6, 7 на вывод сигналов
    for (int i = 4; i < 8; i++)
    {
    pinMode(i, OUTPUT);
    }
    }

    void loop()
    {
    if (Serial.available())
    {
    mashinka=Serial.read();
    if (mashinka == 'S')// При нажатии клавиши "S", движение назад
    {
    digitalWrite(DIR_1, LOW);
    analogWrite(SPEED_1, 255);
    digitalWrite(DIR_2, LOW);
    analogWrite(SPEED_2, 255);
    }
    if (mashinka == 'W')// При нажатии клавиши "W", движение вперед
    {
    digitalWrite(DIR_1, HIGH);
    analogWrite(SPEED_1, 0);
    digitalWrite(DIR_2, HIGH);
    analogWrite(SPEED_2, 0);
    }
    if (mashinka == 'A')//При нажатии клавиши "A", движение влево
    {
    digitalWrite(DIR_1, LOW);
    analogWrite(SPEED_1, 0);
    digitalWrite(DIR_2, HIGH);
    analogWrite(SPEED_2, 0);
    }
    if (mashinka == 'D')//При нажатии клавиши "D", движение направо
    {
    digitalWrite(DIR_1, HIGH);
    analogWrite(SPEED_1, 0);
    digitalWrite(DIR_2, LOW);
    analogWrite(SPEED_2, 0);
    }
    if (mashinka == 'T')//при нажатиип клавиши "Т", он останавливается
    {
    digitalWrite(DIR_1, LOW);
    analogWrite(SPEED_1, 0);
    digitalWrite(DIR_2, LOW);
    analogWrite(SPEED_2, 0);
    }
    }
    }
     
  2. что за приложение
     
  3. Может дело в нем
     
  4. А как подключил блютуз
     
  5. Misty

    Misty Нуб

    Проблем в подключении нет , приложение обычное Bluetooth Terminal.
     
  6. А само приложение в приложении корректно работает ? Из кода видно что проверяется строчные буквы
     
  7. Ariadna-on-Line

    Ariadna-on-Line Гуру

    1. TX и RX контакты ардуины (они же - линии процессора) соединены с мостом USB-UART. То есть они уже задействованы, и у вас - конфликт линий Tx моста и зуба (присоединены к Rx ардуины). Вы должны организовать программный последовательный порт SoftSerial на свободных выводах.
    2. Синему зубу не надо какой-нибудь инициализации от ардуины ? Типа библиотеку ?!
     
    Последнее редактирование: 16 дек 2018