Модуль Bluetooth HC-05 мигает красным светом - Arduino Uno

Я искал в Google ответ на свои проблемы, но безрезультатно. Видео you tube, за которым я слежу, находится здесь: https://www.youtube.com/watch?v=f1v0IMegCvU Таким образом, в основном на Android я не вижу, как отображается устройство HC-05, а сам модуль мигает красным, в отличие от мигающего синего света видео. Я подключил схему точно так же, как он на видео, с 2 10-килограммовыми резисторами. Я использую то же приложение. Что случилось? Вот мой код, который я скопировал с видео.

void setup() 
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  Serial.println("Connection Successful!");
}
void loop() 
{
  if(Serial.available()>0){
    int data=Serial.read();
    switch(data){
      case 'a': LEDON();break;
      case 'b': LEDOFF();break;
      default : break;
    }
  }
  delay(50);
}
void LEDON(){
  Serial.println("Led On!");
  digitalWrite(13,HIGH);
}
void LEDOFF(){
  Serial.println("Led Off!");
  digitalWrite(13,LOW);
}

Я также получаю сообщение об ошибке avrdude: stk500_getsync() попытка 1 из 10: не синхронизировано: соотв.=0x00 при подключении через usb. Я не получаю никаких ошибок при простой прошивке arduino без каких-либо проводов, подключенных к arduino. Я знаю, что порт правильный. Любые идеи были бы полезны. Спасибо.

, 👍1

Обсуждение

Вы пишете “Я не получаю никаких ошибок при простой прошивке arduino без каких-либо проводов, подключенных к arduino”. Q1: Под "миганием" вы подразумеваете отправку скетча в Arduino? Вопрос 2: Как скетч попадает в Arduino, если к нему не подключены провода? Вопрос 3: Что еще подключено к Arduino, когда USB не синхронизируется? Например, подключен ли HC-05? Q4: “Я знаю, что порт правильный”, какой порт вы имеете в виду? Q5: В среде IDE, какой программатор платы или метод программирования вы выбрали в двух случаях? (Т. е. с подключением USB или без него), @James Waldby - jwpat7

Ответы: Q1=Нет, я имею в виду просто отсутствие чего-либо подключенного к arduino, кроме USB-кабеля, и выбор загрузки. Q2 отвечает Q1. Q3=заземление, 5 В, tx,rx, и они подключаются к схеме на макете, как в видео. Q4=порт 1 и, как говорится, является подлинным arduino. Q5=Не совсем понимаю, что вы имели в виду под этим вопросом. Я использую язык программирования Си, вы это имели в виду? Здесь я в замешательстве., @Bob G.

Re Q1-2-3, похоже, вы имеете в виду, что загрузка работает нормально, когда единственный провод, подключенный к Uno, - это USB-кабель, но если подключена схема приложения, это не так. Re Q4, какой текст появляется при наведении курсора мыши на строку Инструменты, порт? Re Q5, если вы нажмете "Инструменты" в IDE, что появится в поле "Программист"?, @James Waldby - jwpat7

Это Com 1. Затем в области программирования написано: "Плата разработки Atmel STK500"., @Bob G.

Могу я просто проверить, что у вас есть USB, подключенный к Arduino и ПК, и вы используете последовательный порт для подключения к Bluetooth. Если так, то это не сработает. Код, который у вас есть, не считывается с BT, он считывает ввод с клавиатуры ПК. Вам нужен "Программный материал", чтобы создать второй последовательный порт на Uno или использовать Mega для подключения к blue tooth, затем вы можете перевести HC-05 в режим сопряжения и все такое прочее., @Code Gorilla

Вы программируете его со своего телефона или с компьютера. (В любом случае приведенный выше комментарий остается в силе), @Code Gorilla

Я не пытаюсь подключиться к другому arduino, я пытаюсь подключиться к телефону Android. Когда вы говорите "программный материал", означает ли это, что мне нужно изменить все мои сериалы на этот "программный материал" в моем коде? В видео об этом ничего не говорится. Я программирую со своего компьютера, а затем загружаю код на arduino., @Bob G.


2 ответа


2

Необходимо рассмотреть несколько вопросов:
• Загрузка программы
• Последовательная связь HC-05
• Сопряжение по Bluetooth

Для первой проблемы: Последовательное соединение по USB между компьютером разработчика и Uno связывает аппаратные последовательные контакты RX и TX Uno. Возникнет конфликт, если компьютер разработчика передаст данные, когда TX HC-05 подключен к RX Uno. Это можно решить, отключив HC-05 TX при загрузке программы.

Для второй проблемы: На схеме Uno показаны резисторы 1 КОМ между TX и RX на ATmega328P и RX и TX на USB-чипе (т. Е. на ATmega16U2 или CH340 и т. Д.). Если TX-накопитель HC-05 достаточно мощный, он преодолеет накопитель от USB-чипа и будет работать нормально. Обратите внимание, что я бы опустил делитель напряжения (на линии HC-05 RX), который показан на видео.

Для третьей проблемы: HC-05 в видео, упомянутом в вопросе, имеет синий светодиод, который постоянно мигает, когда HC-05 не сопряжен, и мигает с большим интервалом, когда он сопряжен. Многие HC-05 имеют красные светодиоды вместо синих; цвет светодиода не является проблемой. Некоторые HC-05 вообще не мигают при сопряжении; это тоже не проблема. Проблема в том, что (согласно описанию, о котором идет речь) ваш HC-05 продолжает мигать, поэтому, по-видимому, он не соединен.

Сопряжение HC-05 с приложением для Android более или менее не зависит от того, подключен ли HC-05 к Arduino; вы должны иметь возможность сопрягать свой телефон с HC-05, когда к HC-05 подключены только Vcc и заземление. Если у вас возникли проблемы с сопряжением, попробуйте другое приложение; попробуйте включить и выключить HC-05; и попробуйте другой HC-05. Я упоминаю о попытке другого приложения, потому что одно приложение с последовательным терминалом, которое я установил на телефон Android, нуждалось в перезапуске приложения или HC-05 для сопряжения после потери сопряжения, а приложение с последовательным терминалом, которым я его заменил, не нуждалось в этих действиях. Примечание. Для сопряжения на телефоне требуется несколько шагов: в разделе Настройки / Беспроводная связь найдите устройства Bluetooth; выберите устройство; введите его код доступа; запустите приложение и сообщите приложению, какое устройство Bluetooth использовать.

,

Я прочитал ваш ответ и сделал то, о чем вы меня просили, или, по крайней мере, я думаю, что сделал. Итак, что я сделал здесь: Для первой проблемы я отключил HC-05 TX при загрузке, и он сделал это успешно, в отличие от предыдущего. После загрузки я снова подключил его, так как у arduino теперь есть код. Вторая проблема: я опустил резистор линии rx и просто вставил провод вместо того места, где раньше был резистор для этой линии. Третий вопрос: Принято к сведению. Я пробовал разные HC-05 и приложения, но после всех этих предложений у него все еще та же проблема. Еще Идеи?, @Bob G.

Под "той же проблемой" вы подразумеваете мигающий светодиод и отсутствие сопряжения? Этот аспект не зависит от того, что делает Arduino-все зависит от HC-05 и телефона. У вас есть другой телефон, чтобы попробовать? Вы включили возможность обнаружения BT телефона? [На данный момент я не помню всех тонкостей сопряжения, т. Е. Что важно, а что нет; возможно, вам потребуется выполнить поиск в Интернете по этой теме для вашей модели телефона.], @James Waldby - jwpat7

У меня точно такой же телефон, как на видео. Я провел исследование, и ничего. И да, та же проблема-мигающий светодиод и отсутствие сопряжения. У меня включен BT. Я попробовал 2 разных HC-05 с одинаковыми результатами мигания и отсутствия сопряжения. Что случилось? Я сделал то же самое, что и в видео, и это не работает? Просто не имеет никакого смысла, это сработало для него, и я точно следовал его указаниям, так что это должно сработать., @Bob G.

Обнаруживает ли ваш телефон HC-05, как показано на видео? Вы отправили код доступа 1234 или 0000? Это необходимые условия для сопряжения. Кроме этого, на данный момент у меня больше нет идей ... за исключением того, что я отклонил вопрос :), @James Waldby - jwpat7

Телефон не видит hc-05., @Bob G.


1

Попробуйте этот код(он проще):

char data ;
void setup()
{
    Serial.begin(9600);                             
    pinMode(13, OUTPUT);  
}
void loop()
{
   if(Serial.available() > 0)      
   {
      data = Serial.read();        
      Serial.print("\n");        
      if(data == '1')     
      {         
         digitalWrite(13, HIGH);
         Serial.print("on");
      }
      else if(data == '0')         
      {
        digitalWrite(13, LOW);  
        Serial.print("off");
      }
   }
}

Загрузите это на ардуино. Откройте телефон, перейдите в настройки Bluetooth и подключитесь к HC05 с паролем 1234. Загрузите приложение отсюда: https://github.com/Mayoogh/Arduino-Bluetooth-Basic Теперь ваша схема должна работать. Подключения Arduino к HC05: 5 В -> 5 В GND-> GND RX -> TX TX -> RX Подключение светодиода: подключите светодиод к контакту 13 и контакту GND рядом с ним(это нормально, если вы не используете резистор).

,