Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11

Ошибка при подключении HC-05

17.05.2015, 16:45. Показов 5571. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Пытаюсь подключить Bluetooth-модуль HC-05 (полный, вместе с Base Board) к Arduino Uno. Сопряжение с телефоном проходит нормально, но когда пытаюсь загрузить скетч:

Code
1
2
3
4
5
6
7
8
9
10
11
12
int cnt = 0;    // счетчик
 
void setup() {
   Serial.begin(9600);   // инициализация порта
}
 
void loop() {
   cnt++;
   Serial.print("Hello BB from Arduino! Counter:");  // выводим надпись
   Serial.println(cnt);    // выводим значение счетчика и переводим на новую строку
   delay(1000);   // ждем 1 секунду
}
вылезает это:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

Подскажите чайнику в чем проблема) Другие модули работают нормально, скетчи загружаются
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2015, 16:45
Ответы с готовыми решениями:

Ошибка при подключении "В удаленном подключении отказано"
Что может означать следующая ошибка? Пороль и имя правильны! Еще появляется такое сообщение

Wudfusbcciddriver ошибка -вот такая ошибка иногда выходит при подключении юсб устройства
Подключаем юсб устройство к леново моноблоку по юсб. И иногда не работает устройство, подключаем на другой порт работает. В просмотре...

Ошибка Windows не удается подключиться к принтеру В ходе операции произошла ошибка 0x0000011b при подключении сетевого п
Ошибка Windows не удается подключиться к принтеру В ходе операции произошла ошибка 0x0000011b при подключении сетевого принтера? Как...

19
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
17.05.2015, 17:40
Потому что вы наверняка навесили его на уже задействованный UART под нужды программирования по USB через имеющийся на плате модуля конвертор. Лично я использую либо второй аппаратный UART (RX/TX) для HC-05, либо SoftUART на любых двух дискретных I/O и все работает, не влияя друг на друга.

Кликните здесь для просмотра всего текста




1
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
17.05.2015, 22:25  [ТС]
Если честно, я пока плохо понимаю вами написанное)

Схема такая. Кроме HC-05 к ардуино ничего не подключено

http://arduino-project.net/wp-... -HC-05.jpg
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
17.05.2015, 23:14
Т.е. вы тупо повторили нарисованное даже не ознакомившись, что куда подключили? Однако.

Что непонятного в сказанном, что у вас подключено на один UART два устройства одновременно? Представьте себе, что вы окликнули в толпе человека по имени, а вам одновременно ответили два с одинаковым именем. Аналогия такая доходчива?

Если нет - вперед в закрепленную тему, она не для красивых глаз висит.
0
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
18.05.2015, 14:14  [ТС]
Я так понял мне нужно использовать библиотеку SoftwareSerial, чтобы назначить два цифровых вывода как TX и RX, верно?
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.05.2015, 14:38
Да, все верно.
0
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
18.05.2015, 14:40  [ТС]
Так, в общем, я не силен и поэтому тапками не кидайте.

Взял скетч из библиотеки SoftwareSerial, залил в ардуино. Проверил через терминал на телефоне, данные принимаются и отправляются.


Сразу после я залил этот скетч, теперь он загрузился нормально. В мониторе порта показывает что данные отправляются, но на телефоне в терминале пусто.... В чем моя беда, подскажите((

Code
1
2
3
4
5
6
7
8
9
10
11
12
int cnt = 0;    // счетчик
 
void setup() {
   Serial.begin(9600);   // инициализация порта
}
 
void loop() {
   cnt++;
   Serial.print("Hello BB from Arduino! Counter:");  // выводим надпись
   Serial.println(cnt);    // выводим значение счетчика и переводим на новую строку
   delay(1000);   // ждем 1 секунду
}
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.05.2015, 14:50
...потому что у вас HC-05 подключено на SoftUART, так понимаю вы теперь правильно сделали. Но в скетче используете отправку счетчика на аппаратный UART.



Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/* Control pin0...12 + Sound
 * For my robot over Arduino-Nano Atmega328p
 * H-page: http://raxp.radioliga.com
 * Author: Badlo Sergey
 */
 
#include <SoftwareSerial.h>
 
 
// загрузчик 
//int ledPin0 = 0; // RX0
//int ledPin1 = 1; // TX0
 
const int analogInPin = A0;
int sensorValue = 0;
int outputValue = 0;
 
 
// светодиод состояния
int led = 13;
int ledPin2 = 2;
// спикер
int speaker = 3; 
//int ledPin3 = 3;
 
// I/O
int ledPin4 = 4;
int ledPin5 = 5;
int ledPin6 = 6;
int ledPin7 = 7;
int ledPin8 = 8;
int ledPin9 = 9;
int ledPin10 = 10;
 
// блютуз HC-05
//int ledPin11 = 11; // TX1
//int ledPin12 = 12; // RX1
SoftwareSerial mySerial(11, 12); // RX1, TX1
 
 
String inString;
 
// Названия нот и соответствующие им полупериоды  
byte names[] ={ 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'};  
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
  
int ledState = LOW;
int count = 0;
 
void setup() {
  pinMode(speaker,  OUTPUT); 
  pinMode(led,      OUTPUT);
 
  pinMode(ledPin2,  OUTPUT);   
  pinMode(ledPin4,  OUTPUT); 
  pinMode(ledPin5,  OUTPUT); 
  pinMode(ledPin6,  OUTPUT); 
  pinMode(ledPin7,  OUTPUT);  
  pinMode(ledPin8,  OUTPUT); 
  pinMode(ledPin9,  OUTPUT); 
  pinMode(ledPin10, OUTPUT); 
  
  // задействуем Serial-Software на 11-12 pin
  // для платы Arduino-Nano Atmega328p один Serial: RX(0)/TX(1)
  Serial.begin(9600);
  Serial.flush();
 
  mySerial.begin(9600);
  mySerial.flush();
  
  inString = "";
  // гасим светодиод состояния
  digitalWrite(led, LOW);  
}
 
 
void sound(char sp) {
ledState = !ledState;         // поменять состояние светодиода
digitalWrite(led, ledState);  // послать сигнал на светодиод  
  
digitalWrite(speaker, LOW);  
// воспроизведение звука от Kurt в оригинале скетча 
for (count=0; count<=8; count++) {  // найти ноту
 if (names[count] == sp) {  // ага, нашли
  for( int i=0; i<100; i++ ) {   // играть её 50 циклов
   digitalWrite(speaker, HIGH);
   delayMicroseconds(tones[count]);
   digitalWrite(speaker, LOW);
   delayMicroseconds(tones[count]);
   }
  }
 }
}
 
void aread() {
 // read the analog in value:
 sensorValue = analogRead(analogInPin);
 // map it to the range of the analog out:
 outputValue = map(sensorValue, 0, 1023, 0, 255);
}
 
 
void command() {
// разбор данных вида H2...H13, L2...L13: H - включен, L - выключен
   if (inString[0] == 'H') {
     switch (inString[1])
     {
      case 2: digitalWrite(ledPin2,   HIGH); break;
      case 3: digitalWrite(speaker,   HIGH); break;  
      case 4: digitalWrite(ledPin4,   HIGH); break;
      case 5: digitalWrite(ledPin5,   HIGH); break;
      case 6: digitalWrite(ledPin6,   HIGH); break;
      case 7: digitalWrite(ledPin7,   HIGH); break;
      case 8: digitalWrite(ledPin8,   HIGH); break;
      case 9: digitalWrite(ledPin9,   HIGH); break;
      case 10: digitalWrite(ledPin10, HIGH); break;
      case 13: digitalWrite(led,      HIGH); break;
     } 
   }
   
   if (inString[0] == 'L') {
     switch (inString[1])
     {
      case 2: digitalWrite(ledPin2,   LOW); break;
      case 3: digitalWrite(speaker,   LOW); break;    
      case 4: digitalWrite(ledPin4,   LOW); break;
      case 5: digitalWrite(ledPin5,   LOW); break;
      case 6: digitalWrite(ledPin6,   LOW); break;
      case 7: digitalWrite(ledPin7,   LOW); break;
      case 8: digitalWrite(ledPin8,   LOW); break;
      case 9: digitalWrite(ledPin9,   LOW); break;
      case 10: digitalWrite(ledPin10, LOW); break;
      case 13: digitalWrite(led,      LOW); break;
     } 
   } 
   
   inString = "";
}
 
 
void loop() {
 
 // работа с портом загрузки для тестов
 while (Serial.available()) {
  char inChar = Serial.read(); // читаем побайтно
  Serial.write(inChar);        // эхо
  
  aread();
  Serial.write(outputValue); 
 
  if (inChar!= 13) {
   inString += inChar;          // формируем строку
   sound(inChar);
  } 
  if (inChar == 13) {
   command();
   Serial.flush();
  }
 } 
 
 // работа с прозрачным UART over BlueTooth HC-05
 // через программный UART 
 while (mySerial.available()) {
  char inChar = mySerial.read(); // читаем побайтно
  mySerial.write(inChar);        // эхо
  
  aread();
  mySerial.write(outputValue);   
 
  if (inChar!= 13) {
   inString += inChar;          // формируем строку
   sound(inChar);
  } 
  if (inChar == 13) {
   command();
   mySerial.flush();
  }
 } 
 
 
}
0
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
18.05.2015, 15:14  [ТС]
Не могу догнать, что нужно изменить в коде, чтобы отправка была на SoftUART...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX1, TX1
 
int cnt = 0;    // счетчик
 
void setup() {
   Serial.begin(9600);   // инициализация порта
}
 
void loop() {
   cnt++;
   Serial.print("Hello BB from Arduino! Counter:");  // выводим надпись
   Serial.println(cnt);    // выводим значение счетчика и переводим на новую строку
   delay(1000);   // ждем 1 секунду
}
Пробовал так.. не робит
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.05.2015, 20:04
Лучший ответ Сообщение было отмечено Hampines как решение

Решение

...конечно не робить. Объявили софтовый mySerial, а продолжаете дергать исходный Serial.
1
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
22.05.2015, 14:08  [ТС]
Теперь при компиляции выдает ошибку(
collect2.exe: error: ld returned 5 exit status

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX1, TX1
 
int cnt = 0;    // счетчик
 
void setup() {
   mySerial.begin(9600);   // инициализация порта
}
 
void loop() {
   cnt++;
   mySerial.print("Hello BB from Arduino! Counter:");  // выводим надпись
   mySerial.println(cnt);    // выводим значение счетчика и переводим на новую строку
   delay(1000);   // ждем 1 секунду
}
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
22.05.2015, 15:47
У меня всё успешно скомпилировалось. Попробуйте создать новый проект и перенести туда код.
Миниатюры
Ошибка при подключении HC-05  
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
22.05.2015, 18:02
...TC, проверьте что правильно положили каталог с либой SoftwareSerial в libraries, все компилируется без эксцессов.
0
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
22.05.2015, 19:27  [ТС]
У меня уже была установлена эта библиотека, она вроде с версии 1.0 идет уже вместе
0
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
24.05.2015, 12:50  [ТС]
Скачал версию ардуино 1.0.5, теперь скомпилировалось и загрузилось, но там какая-то ошибка(



В мониторе порта пусто, терминал тоже не принимает ничего
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
24.05.2015, 13:43
Лучший ответ Сообщение было отмечено Hampines как решение

Решение

Давайте начнём сначала. У вас есть модуль наподобие изображённого на фотографии.

Этот модуль подключен к пинам 10 и 11.

Что именно вы хотите? Какие данных хотите принимать и откуда? От компьютера? От беспроводного модуля?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX1, TX1
 
void setup() {
   mySerial.begin(9600);   // инициализация порта
   Serial.begin(9600);   // инициализация порта
}
 
void loop() {
  if (mySerial.available() > 0) {  //если есть доступные данные
    Serial.print(mySerial.read());
  }
  if (Serial.available() > 0) {  //если есть доступные данные
    mySerial.print(Serial.read());
  }
}
Миниатюры
Ошибка при подключении HC-05  
1
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
24.05.2015, 15:51  [ТС]
Да, модуль точно такой. Подключен к пинам 10 и 11.

Вообще, блютуз нужен для другого проекта. Сейчас я его просто пытаюсь заставить работать, хотя бы с тестовым скетчем

Исходя из скетча что я кидал выше, hc-05 должен посылать сообщение. Принять я его хочу с помощью смартфона и терминала, установленного на нем
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
24.05.2015, 16:42
Да, этот Ошибка при подключении HC-05 скетч посылает сообщение на модуль. Проверьте подключение, поменяйте провода 10 и 11 местами. И принимаемые данные смотрите на телефоне, а не на компьютере.
1
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
24.05.2015, 16:45
Лучший ответ Сообщение было отмечено Hampines как решение

Решение

...по скрину с ошибкой, задайте правильно порт и выберите плату в IDE.
1
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 11
24.05.2015, 20:53  [ТС]
С этим разобрался! Выбрал порт COM3 вместо COM1. Загрузка прошла без ошибок, сообщение принял в Bluetooth-терминале.

Спасибо всем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2015, 20:53
Помогаю со студенческими работами здесь

Ошибка при подключении к SQL базе данных при переносе программы
Я добавил базу данных SQL &quot;*.mdf&quot; к проекту. Если использовать параметры строки подключения типа: &quot;Data...

При подключении DLL: Ошибка при создании объекта из компоненты
Создана DLL. При попытке подключения из 1С получаем сообщение: Ошибка при создании объекта из компоненты c:Program FilesMicrosoft...

Ошибка при подключении Windows.h при переносе проекта в vs2012
Возникла очень плохая проблема, которая мешает доделать работу Беру проект написанный vs2010 на формах, на других компах он нормально...

Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой
Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это...

Ошибка при отладке, при подключении статической библиотеки
У меня при отладке вылетают ошибки. Все проблемы видны на скринах. Не пойму в чем ошибки


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru