HC-06 + Стрела

Тема в разделе "Arduino & Shields", создана пользователем Марк2005, 9 фев 2019.

  1. Марк2005

    Марк2005 Нерд

    Всем здраствуйте. Возникла проблема с подключением HC-06 к Стреле. Подключение 5V -> 5V, GND -> GND, RX -> TX, TX -> RX. Скетч такой:

    Код (C++):
    #include <Wire.h>
    #include <Strela.h>

    void setup(){
        Serial.begin(9600);
    }

    void loop() {
    if(Serial.available()) {
        char dataIn = Serial.read();
        if(dataIn == 'W') {
          digitalWrite(P1, HIGH);
        } else if(dataIn == 'w') {
          digitalWrite(P1, LOW);
        }
    }
     
    При подключении к БТ модулю с помощью смартфона модуль его видит, но команды не принимает. Надеюсь на вашу помощь. Спасибо.
     
  2. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Не понимаю, зачем библиотека Wire.h?
    А если вместо char использовать string?
     
  3. Марк2005

    Марк2005 Нерд

    Так это же Стрела! Там вроде нужна Wire.h и Strela.h... или нет?
     
  4. Марк2005

    Марк2005 Нерд

    Хорошо, я убрал все что не надо, и загрузил прошивку. И... ничего.
     
  5. BAR__MEN

    BAR__MEN Иномирянин Команда форума

     
  6. Марк2005

    Марк2005 Нерд

    Я так и сделал, но... ничерта не вышло.
     
  7. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Попробуйте вывести то, что получает стрела из bt
     
  8. Марк2005

    Марк2005 Нерд

    Ничего ровным счетом. Пу - сто - та.
     
  9. fogary

    fogary Гик

    Вроде же, если не Мега, должно быть так:
    Код (C++):
    if(Serial.available() > 0) {
     
  10. Марк2005

    Марк2005 Нерд

    Всё равно не работает. Я пробовал с блютуз терминала, не сработало.
     
  11. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Попробуй этот код
    Код (C++):

    #include <Wire.h>
    #include <Strela.h>

    int command;

    void setup() {
      Serial.begin(9600);
      pinMode(P1, OUTPUT);
    }

    void loop() {
      if (Serial.available() > 0) {
        command = Serial.read();
        switch (command)
        {
          case 'W':
            digitalWrite(P1, HIGH);
            break;
          case 'w':
            digitalWrite(P1, LOW);
            break;
        }
      }
    }
     
  12. Марк2005

    Марк2005 Нерд

    И снова провал.
     
  13. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    &*#%#!!!

    Странно, у меня работало.... :|
     
  14. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Ой! Совсем забыл, это же Leonardo..
    Тогда так:
    Код (C++):
    #include <Wire.h>
    #include <Strela.h>

    int command;

    void setup() {
      Serial1.begin(9600);
      pinMode(P1, OUTPUT);
    }

    void loop() {
      if (Serial1.available() > 0) {
        command = Serial1.read();
        switch (command)
        {
          case 'W':
            digitalWrite(P1, HIGH);
            break;
          case 'w':
            digitalWrite(P1, LOW);
            break;
        }
      }
    }
     
  15. Марк2005

    Марк2005 Нерд

    Вот *%$@&!!! Не работает!
     
  16. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Почему мне кажется, что с модулем что-то не так...
    USB-TTL переходник есть?
    Или arduino uno..
     
  17. Марк2005

    Марк2005 Нерд

    Есть Искра Нео, переходника нет.
     
  18. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Можешь в вк написать?
    Лень страницу каждый раз перезагружать...