Този урок има за основна цел да даде на нашите читатели необходимите знания, за да могат да добавят към нашия Arduino функцията да могат да комуникират безжично с други устройства чрез Bluetooth модули и да могат да започват да ги включват в нашите проекти за електроника и роботика, в допълнение към използването им по-късно в поредицата уроци, които NAYLAMP MECHATRONICS е подготвил за своята любителска аудитория.
Необходимо е да се знае, че има различни модели Bluetooth модули, сред най-популярните са HC-06 и HC05, а сред тях различни модели.
Bluetooth-модул HC-06 се държи като роб, изчаквайки заявки за връзка. Ако някое устройство се свърже, HC-06 му предава всички данни, които получава от Arduino и обратно.
И така, какви са разликите между Bluetooth модула HC-06 и HC-05?
Модулът HC-06 е практически идентичен с невъоръжено око с останалите модули на пазара.
Проста разлика е, че модулът HC-06 работи като Slave, а HC-05 като Master и Slave (което може да обърка някои).
Физически те се различават по броя на щифтовете. В HC-06 той има 4-пинов конектор, докато HC-05 има 6-пинов конектор
HC-06 (отгоре) и HC-05 (отдолу)
За този урок ще работим върху модул HC06, но той е валиден и за модул HC-05 в режим Slave, което е конфигурацията по подразбиране.
HC-06 има 4 щифта:
- Vcc, Положително захранващо напрежение, тук трябва да бъдете внимателни, защото има модули, които поддържат само напрежения 3.3V, но повечето от тях вече са обусловени да работят в диапазона 3.3V до 6V, но е добре да прегледате техническите данни на нашия модул, преди да направите връзките
- GND, Отрицателно захранващо напрежение, те трябва да бъдат свързани към GND на Arduino или към GND на платката, която се използва.
- TX, Пин за предаване на данни, чрез този пин HC-06 предава данните, които пристигат от компютъра или мобилния чрез Bluetooth, този пин трябва да бъде свързан към RX пина на Arduino
- RX, Пин за приемане, чрез този пин HC-06 ще получи данните от Arduino, които ще бъдат предадени чрез Bluetooth, този пин е свързан към TX пина на Arduino
С това обяснено, за да започнем тестването и да проверим дали нашият HC-06 работи правилно, използвайки мъжки и женски кабели Dupont, ние продължаваме да правим следните връзки между нашия Bluetooth модул и нашия Arduino UNO R3 (същите връзки могат да бъдат осъществени и с Arduino Mega, Arduino Nano и др. И щеше да върви перфектно).
За да заредим програмата в Arduino, ще разкачим щифтовете RX0 и TX0 от Arduino, тъй като вътрешно Arduino работи със същите щифтове за зареждане на програмата и ако са свързани към Bluetooth модула, няма да ни позволи да заредим ( за да избегнете това неудобство, можете да използвате серийния софтуер и да използвате други щифтове).
Сега в IDE на Arduino копираме следния код и след това го качваме в нашия Arduino.
След приключване на зареждането отново свързваме щифтовете RX и TX отново.
Програмата, която сме заредили в Arduino, основно ще върне всички данни, получени чрез нея чрез Bluetooth.
Сега ще разгледаме как да се свържете от компютъра чрез Bluetooth:
За нашия пример ще използваме Windows 8, (но процедурата е подобна за W7 и XP)
Ако за първи път Bluetooth модулът ще се свърже с компютъра, е необходимо първо да го свържете, за това в компютъра правим търсене на Bluetooth устройствата
При търсенето нашият Bluetooth модул трябва да се появи с името HC-06 или Linvor. За да го свържете, той ще ни поиска ключ или код за сдвояване, обикновено е 1234.
Името и кода на връзката, които споменаваме, са тези, които идват по подразбиране, както и скоростта на предаване, която идва по подразбиране от 9600, всички тези параметри могат да бъдат конфигурирани с AT команди, това е обяснено в този друг урок (AT команди за HC-06)
След като се свържем, трябва да разберем кой COM порт е присвоен на Bluetooth модула, за това кликваме върху иконата на Bluetooth и отваряме конфигурацията, като цяло има два порта, свързани с модула, един входящ и един изходящ, изходящ .е този, който инициира връзката, така че ще използваме порта, в нашия пример това е COM6.
За да се свържем с Bluetooth модула от компютъра, ще използваме Хипертерминал (Връзка за изтегляне в края)
Отваряме и присвояваме всяко име на връзката и след това избираме COM порта, принадлежащ на Bluetooth, който в нашия случай е COM6
Като кликнете върху Приемане на хипертерминал, той ще осъществи връзката с HC-06, когато връзката се установи, HC-06 ще спре да мига и в долната част на хипертерминала ще покаже СВЪРЗАН, сега можем да изпратим всеки символ чрез клавиатура и Arduino ще върне изпратения герой
Също така можем да осъществим връзката от Proteus, Proton, Micro Code Studio, Java, Labview и др.
Сега ще свържем Bluetooth модула hc-06 от мобилен телефон или друго мобилно устройство:
Първо трябва да инсталираме приложение, което изпълнява функцията на сериен терминал, в случая на Android може да се използва Син срок (Връзка за изтегляне в края), има и други приложения, но с това приложение ще бъде направен пример.
Преди да започнем да използваме приложението, трябва да свържем мобилния си телефон с HC-06, това както в компютъра се прави само веднъж, за това отиваме в Настройки-> Bluetooth и Търсене на устройства, в търсенето трябва да се появи нашето HC06, когато го избира, той ще ни поиска кода за свързване, който, както си спомняме обясненото в началото, обикновено е 1234.
След като свържем, отваряме приложението Blue Term, преди да осъществим връзката, с бутона за меню въвеждаме предпочитания и активираме опцията Echo Local, така че символите, въведени от клавиатурата, да се показват на екрана, които са тези, които се изпращат.
Също така, ако искаме, можем да променим размера и цвета на шрифта.
След като конфигурациите са готови, връщаме се и влизаме в менюто -> свързване с устройство
В списъка се показват всички устройства, свързани с нашия мобилен телефон, ние избираме HC-06, Приложението ще се опита да се свърже с HC-06, ако постигне връзката, състоянието на свързаното трябва да се появи в горната част.
След като се свържем, можем да започнем да изпращаме данните, добре е да споменем, че приложението изпраща знака веднага след натискането на клавиша.
Тъй като програмата в нашия Arduino връща получените данни, ако всичко е наред, нашето приложение трябва да показва натиснатите клавиши.
Надяваме се, че урокът е помогнал на онези, които тепърва започват да използват Bluetooth модула, всички въпроси или въпроси не забравяйте да оставите вашите коментари.
Връзки за изтегляне
- Изтеглете Hyperterminal
- Магазин за игра на Blue Term
Купете материали
- Bluetooth модул HC-06
- Bluetooth-модул HC-05
- Arduino UNO R3
- Мъжко-женски кабели Dupont
Свързани уроци:
- Конфигуриране на Bluetooth модул HC-06 с помощта на AT команди
- Конфигуриране на Bluetooth модул HC-05 с помощта на AT команди
26 Коментара
Поздрави . Имам притеснение, искам да направя проект за домашна автоматизация, но искам да контролирам всяка крушка в къщата си с независими arduinos и да ги управлявам чрез Bluetooth. Искам да знам дали е възможно да се използва arduno с hc - 05 като главен и 5 независими arduinos с hc - 05 в подчинен режим.
Здравейте Габриела, HC-05 като мастер може да бъде свързан или сдвоен само с един slave в даден момент, това, което можете да направите, е да използвате AT команди за конфигуриране на модула, така че да може да се свърже с определен slave, трябва да направите това всеки път, когато искате да се свържете с различен slave, конфигурацията ще трябва да бъде в реално време, което ще отнеме известно време, преди да можете да изпратите информация до slave. Препоръчва се да се използва мастер за всеки роб, ако комуникацията ще бъде непрекъсната.
Добър ден . Приятел, извинете, имам въпрос. След като hc устройството е свързано към arduino и е сдвоено към телефона, как мога да видя стойностите, изпратени на серийния монитор за използване при програмиране? Питам, защото ми дава само шаблон, кодиран в квадрати и цифри, не знам как да го доведа до числова стойност, която може да се използва в скицата
Здравейте Мигел, Arduino и компютърът комуникират чрез щифтовете RX0 и TX0, ако използвате серийния монитор, вече няма да можете да използвате тези щифтове за Bluetooth модула, трябва да внедрите SoftwareSerial на други щифтове за Bluetooth. Можете да използвате скицата, която използвахме в нашия урок: Конфигурация на Bluetooth модул HC-06, използвайки AT команди
Въпрос, подобен на първия. Имам проект за включване на товар (имам своя релеен модул за Arduino) да речем крушка. Но искам, когато свържа смартфона си към подчинения модул HC 06, без да ми се налага да натискам повече бутони, да включа светлината. Има ли някакъв начин или код, който да добави, че в допълнение към модула, свързващ се с телефона, той включва крушката, без да натиска повече бутони? Благодаря
Здравейте, Дамиен, можете да използвате държавния щифт на HC-05, състоянието на този щифт се променя, когато е свързан Bluetooth.
Здравейте, използвам приложението, но когато свържа приложението, то спира да мига, но се изключва и започва да мига на всеки 5 секунди. Защо се случва това и как може да се поправи?
Здравейте, Себастиан, начинът, по който мига, ще зависи от това дали е HC-06 или HC-05, ако е HC06 без връзка мига и когато е свързан, той остава включен и ако е HC05 без връзка той мига бързо, когато е свързан, прави двойно мигане.
Приятелю, имам същия проблем като теб, бих искал да знам дали можеш да решиш проблема си и как го направиш, чакам твоя отговор, благодаря.
Здравейте, опитвам се да симулирам два arduinos с две Bluetooth устройства, където едното предава, а другото получава, свързвам го с виртуалния терминал в протеус, но не мога да намеря начин другият да го получи и не го правя не знам какво да конфигурирам в proteus към него. Какво мога да направя. Това, което искам, е начин да симулирам bluetooth модула в proteus с arduino и ако мога да го комуникирам с клетката по-добре, преди да монтирам arduino с модула. Друг въпрос, симулирам с HC-05, но това, което имам физически, е ftb-06, ще бъде същото.
Добро утро, тествам модула blouthoo. Зареждам програмата, тя казва, че е качена, свързвам се с приложението, казва свързано, появява се син екран, давам му всяко въведено писмо, но не връща нищо. Какво можех да знам? Благодаря
Добро утро, тествам модула blouthoo. Зареждам програмата, тя казва, че е качена, свързвам се с приложението, казва свързано, появява се син екран, давам му всяко въведено писмо, но не връща нищо. Какво можех да знам? Благодаря
Проблемът ми е подобен, мобилният се свързва с модула HC-06, но не получава и не предава нищо, моля, коментирайте, ако сте решили това
Здравейте, имам blutooth n-05 модул и той не реагира, когато го свържа към телефона си командите и не знам какво може да бъде
Хипертерминалният файл на Mega вече не е достъпен. Можете да го актуализирате или да ми го изпратите по пощата. Благодаря много
Здравейте, имам безжична клавиатура и искам да я конвертирам в Bluetooth. Възможно ли е да го направите само като замените модула за предаване/приемане с модула HC-06? Благодаря!
Здравейте, добър ден, първо, благодаря за целия материал, показан на тази страница, защото ми помогна много, но не приключи с решаването им. Проблемът, пред който се намирам, е следният: Искам да мога да контролирам включването и изключването на някои светодиоди, които биха могли да бъдат намерени в тениска, чрез мобилния телефон от buettoth
Лека нощ. Имам HC 05, конфигуриран като Master. Имам POS58 bluetooth принтер с неговия bluetooth адрес. Как бихте могли да го сдвоите, така че HC 05 да се свърже директно с принтера, ако този принтер (или друго устройство) има ключ за сдвояване. Благодаря много
Моля, имам нужда от някой, който да ми каже какво да правя, модулът HC06, когато не взаимодействам с него след 30 секунди се прекъсва . ще има някакво решение, аз вече опитах с няколко и всичко същото, докато изпращам данни всички добре, много благодаря Reinaldo.
Добро утро Naylamp, имам arduino, който отнема 2 вида измерване (разстояние (HC-SR04) и температура (LM35)), когато arduino е свързан към малиновия pi чрез USB кабела, предаването на данни през серийния порт е добро, Прочетох данните, предадени от arduino през малиновата пи част с питон скрипт, който е отговорен за това да ми показва данните в съответната конзола. Когато откачам arduino от малина и го поставя на разстояние 10mts. приблизително Това ми дава грешка в серийния порт, очевидно е, че вече не е свързан, сега arduino трябва да бъде свързан чрез безжична връзка (модул bluetrooth HC-05), мисля, че освен да го свържа към телефони, идеята ми изглежда страхотна, душата на този модул е да може да направи типа на връзката, която предлагам, и да има скрипт на python да чете данните, които се предават от HC-05, и бих искал да знам как да го направя, надявам се можете да ми помогнете с моя нерешен проблем. Благодаря Ви предварително за вниманието. Поздрави.
Някои приложения, които контролират Bluetooth без arduino и могат да контролират 220v крушки
Здравейте, опитвам се да направя така, че когато се чуе зумер, сигнал да достигне до телефона, към който е свързан Bluetooth модулът, както правя аз?
Здравейте; Имам проблем с няколко HC-06, конфигурирани към 19200bau и при сдвояването му с моя компютър не създава изходящ порт "SPP Dev", а нормален сериен порт. Как мога да разреша това? Поздравления
Здравейте. Въпросът ми е, ако искам да свържа своя arduino-bluetooth към външно устройство като звуков плейър, мога ли да го направя от arduino, тоест да се свържа от arduino-bluetooh към друго устройство, а не от друго устройство към arduino-bluetooth като в случая с използването на мобилния телефон за осъществяване на връзката?