Съдържание:

Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06: 4 стъпки (със снимки)
Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06: 4 стъпки (със снимки)

Видео: Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06: 4 стъпки (със снимки)

Видео: Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06: 4 стъпки (със снимки)
Видео: #16 DT 06 WIFI Android Modbus HMI | Outseal Arduino PLC 2024, Ноември
Anonim
Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06
Coms за смартфон Arduino/сериен монитор чрез Bluetooth HC-05, HC-06

Това е изключително полезно, ако искате да тествате скицата си в реална среда, далеч от вашия компютър. Резултатът е, че вашият смартфон действа същото като серийния монитор Arduino на вашия компютър. Bluetooth модулите HC-05 и HC-06 се предлагат за около 3 паунда в ebay и има много безплатни приложения за смартфони, от които да избирате. Надяваме се, че ще избегнете няколко клопки, като следвате примерите тук. Използваното тук безплатно приложение за смартфон също може да запише получения текст във файл за по -късна употреба. Не се изисква промяна на вашите скици, тъй като се използват същите серийни щифтове.

За първи път използвах това, когато тествах устройство, което измерва разстоянието, което колите дават, когато ме изпреварват на велосипеда. Успях да запиша измервания на разстояние, направени 30 пъти в секунда, на телефона си, където бяха записани във файл. По -късно анализирах това с видео, което също записах със спортна камера и моето приложение за проследяване, което даваше моята скорост и местоположение.

Ще имаш нужда:

  • Вашият любим Arduino (Uno се използва тук)
  • HC-05 или HC-06 Bluetooth модул
  • Смартфон (тук се използва телефон с Android) и безплатно приложение за Bluetooth

Стъпки:

  • Инсталирайте безплатно приложение за Bluetooth
  • Конфигурирайте Bluetooth модул
  • Свържете Bluetooth към Arduino
  • Заредете примерна скица
  • Тестова система

Стъпка 1: Инсталирайте Bluetooth приложението

Налични са много Bluetooth приложения и много от тях са безплатни. Използвам телефони с Android, но очаквам същото да важи и за другите системи. Реших да използвам BlueTerm 2, тъй като предоставя и възможност за регистриране на получените данни във файл. Също така го намерих за много лесен за използване. Затова отидете в Google Play и поискайте изтегляне на BlueTerm 2.

Когато инсталирате приложението, можете да се свържете с Bluetooth устройства. Обърнете внимание, че Bluetooth устройството първо трябва да бъде сдвоено с телефона, преди да може да се използва във всякакви приложения:

Включете BlueTooth: Отивам през Настройки> Bluetooth.

Телефонът ще изброи вече сдвоени устройства и след няколко секунди ще покаже наличните устройства. Първоначално името може да се показва като набор от числа, а не като име на устройството. Избирането му обаче показва името и иска PIN, който обикновено е 1234.

Сега стартирайте BlueTerm 2. Щракнете върху настройки, след това щракнете върху Свързване на устройство и изберете според нуждите. Можете просто да включите модул HC-05/HC-06 на този етап и да проверите процеса на сдвояване, ако желаете (свържете отрицателно захранване към земята и 5v към Vcc).

Образ
Образ

Стъпка 2: Конфигуриране на Bluetooth модул - Част 1 - Връзки и HC -06

Ако сте щастливи да използвате името по подразбиране и скоростта на предаване, можете да пропуснете тази стъпка. По подразбиране са име: HC-05 или HC-06 и обмен: 9600. Ползата от преконфигурирането на модула е, че могат да се избират по-бързи скорости на предаване и името да се зададе на нещо по-лесно разпознато.

Конфигурацията изисква команди да бъдат изпратени от компютър към модула чрез серийна връзка. FDTI USB серийна връзка е идеална, особено ако има опция 3.3v. Платките Arduino обаче имат USB към сериен конвертор и следователно това също може да се използва и това е методът, показан тук. За да направите това, най -добре е да деактивирате серийния порт на основния процесор на Arduino, за да можем да комуникираме между компютър и Bluetooth модул без смущения.

Скицата за деактивиране на сериала Arduino просто има инструкциите:

pinMode (0, INPUT):

pinMode (1, INPUT);

в секцията за настройка {}.

Прикачих скицата NoSerial.ino. Създайте папка, наречена „NoSerial“в папката с скици и добавете NoSerial.ino към това. Стартирайте Arduino IDE, отворете Файл> Sketchbook> скици> NoSerial, за да отворите скицата. Изберете типа платка и Порт от менюто Инструменти и щракнете върху бутона за изтегляне.

Връзка за конфигуриране

С заредена скица вече можем да свържем Bluetooth модула към дъската Arduino. Връзките Tx и Rx се разменят в сравнение с това, което ще направим по -късно, тъй като искаме да комуникираме с порта на компютъра за серийния монитор, а не за основния процесор Arduino. PC Tx е свързан към Arduino Rx и обратно.

Имайте предвид, че Bluetooth модулите имат нива на 3.3v за Tx и Rx. Следователно разделител на напрежение трябва да се използва за Bluetooth Rx вход при свързване към 5v системи. Bluetooth 3.3v Tx изходът обикновено се открива добре от 5v системи и следователно може да бъде свързан директно.

Открих, че делителят на напрежение, използващ резистори 3k3 и 6k8, работи до 115200 серийни скорости на предаване.

Модулите HC05 и HC06 имат вградени регулатори на напрежението и следователно работят с Vcc, свързан към 5v.

Така че свържете се:

  • 3k3 резистор към D0
  • 6k8 резистор към земята
  • Свържете другите краища на двата резистора заедно и към Rx щифта на Bluetooth модула
  • Свържете Tx щифта на Bluetooth модула към D1
  • Свържете заземяващия щифт на Bluetooth модула към GND Свържете заземяващия щифт на Bluetooth модула към GND
  • Свържете Vcc пина на Bluetooth модула към 5v

Вижте снимката за подробности.

Образ
Образ

За да конфигурирате модула, той трябва да бъде настроен в режим AT. Процедурата е различна за модулите HC-05 и HC-06.

HC-06

Това са най -лесните. Те се настройват в режим AT, ако не са сдвоени с нито едно устройство. Настройката за обмен обаче ще бъде такава, каквато е зададена нормалната оперативна скорост. Обикновено това е 9600, когато се доставя. Ако това не работи, опитайте 38400 или други общи тарифи.

Свържете USB кабела от компютър към Arduino и стартирайте Arduino IDE. Bluetooth светодиодът ще мига бързо (~ 4Hz), когато е в режим AT.

Отворете серийния монитор на Arduino чрез Инструменти> Сериен монитор. Задайте обмен на 9600 и задайте „Без завършване на ред“.

Сега въведете AT и щракнете върху Изпрати. Ако всичко работи, ще видите „OK“върнато на монитора. Ако нищо не се върне, проверете отново окабеляването и опитайте различни настройки на Baud.

С OK, потвърждаващ добра комуникация, можем да променим името и да зададем собствена скорост на предаване.

Въведете AT+NAMEARDUINO и щракнете върху изпрати. Това задава името на модула на ARDUINO. Може да се използва всеки друг текст. Забележете, че в командата няма интервали.

Отговорът трябва да бъде OKsetname. Това се добавя към OK, изпратен по -рано

Сега въведете AT+BAUD8. Това задава обмен на 115200.

Отговорът трябва да бъде OK115200. Ако трябва да се изпращат още AT команди, настройката за сериен монитор трябва да бъде променена на 115200.

Могат да се задават и други цени. Baud4 е 9600, Baud5 е 19200, Baud6 38400, Baud7 57600. Има по -високи настройки от 115200, но първо проверете дали вашият компютър и Arduino могат да ги приемат (моят не може да надвишава 128000). Забележка - Ако зададете твърде висок процент, няма да можете да общувате с него, за да го върнете обратно !!!

Образ
Образ

Стъпка 3: Конфигурирайте Bluetooth модул - част 2 - HC -05 и първоначален тест

HC-05

Те имат усложнението, че трябва да бъдат ръчно настроени в режим AT. Ръководството казва, че ако режимът AT се задейства след включване, настройката на Baud ще продължи със скоростта, която вече е зададена за нормални комуникации. Не успях да накарам това да работи! Ако обаче режимът AT е настроен на мощност, обменът е зададен на 38400. Следователно последната опция е най -надеждната, тъй като можем да сме сигурни, че скоростта е 38400.

Отворете серийния монитор на Arduino чрез Инструменти> Сериен монитор. Задайте бод на 38400 и задайте „Carriage Return“.

Следващата стъпка е да поставите платката в режим AT. Това е мястото, където възникват повечето проблеми поради различията в носещите платки.

Основният процес е да задържите щифта „ключ“(щифт 34) ниско няколко секунди при включване.

Моята платка има бутон за това (двата допълнителни щифта за свързване са EN и STATE). Изключете Vcc проводника от Bluetooth модула. След това, докато държите бутона натиснат, приложете отново 5v към Vcc. Светодиодът трябва да мига на приблизително 2 секундни интервали. Задържам бутона до втората светкавица.

Някои платки имат щифт за ключ като един от 6 -те пина към модула. Ако е така, свържете го с 3.3v по време на включване.

Някои платки нямат нито едно, нито друго и потребителите трябваше да запоят бутон между щифта за ключ (34) и 3.3v (щифт 12). Вижте приложеното ръководство.

С бавно мигащ светодиод можем да проверим комуникациите. Въведете AT и щракнете върху Изпрати. Отговорът трябва да е ОК. Открих, че този отговор се повтаря непрекъснато, докато не изпратя празен ред - просто щракнете върху изпрати. Ако получите грешка: (0), изпратете празен ред и след това изпратете AT.

Сега задайте ново име. Въведете AT+ИМЕ = ARDUINO Отговорът трябва да е ОК. В моя случай обаче модулът се нулира от режим AT (LED мига бързо). Не можах да намеря причината и това се случи и при използване на серийна връзка FDTI, а не на Arduino. Върнах се в режим AT както преди: Изключване на захранващия проводник към платката и повторно свързване, докато бутонът е бил натиснат. По -късните проверки показаха, че името е променено.

След това задайте Baud. Въведете AT+UART = 115200, 1, 0 Отговорът трябва да е ОК. Въпреки това понякога излизаше от режим AT, както по -горе.

Настройката на UART може да бъде проверена с командата: AT+UART? Отговорът трябва да е ОК и +UART = 115200, 1, 0

Първоначален тест

На този етап имаме компютъра със серийна връзка към Bluetooth модула. Така че първоначален, незадължителен тест може да се направи чрез стартиране на приложението BlueTerm 2 на смартфона (ако модулът вече е сдвоен с телефона). Свържете се с ARDUINO. Настройте серийния монитор на Arduino на 115200 бода. Въведете „Hello World“и щракнете върху send. Това трябва да се появи на BlueTerm 2. Сега въведете „Hello to you“в BlueTerm 2. Това вече трябва да се появи в Serial Monitor.

Образ
Образ
Образ
Образ

Стъпка 4: Свържете Bluetooth модула към Arduino

Първо трябва да заредим нашата скица за тестване на Arduino. Прикаченият BTtest.ino изпраща число на всеки 0,5 секунди и след това го увеличава, премествайки се на 0 от 255. Създайте папка, наречена BTtest, в папката си за скици и добавете BTtest.ino

Серийната връзка Arduino се използва и за изтегляне на скици. Така че двата проводника към Bluetooth модула трябва да бъдат изключени, така че да не пречи.

След като изтеглите скицата, свържете отново Bluetooth модула. Имайте предвид обаче, че Tx и Rx на Arduino трябва да бъдат разменени в сравнение с по -ранната конфигурация.

Така че свържете се:

  • 3k3 резистор към D1
  • 6k8 резистор към земята
  • Свържете другите краища на двата резистора заедно и към Rx щифта на Bluetooth модула
  • Свържете Tx щифта на Bluetooth модула към D0
  • Свържете заземяващия щифт на Bluetooth модула към GND Свържете заземяващия щифт на Bluetooth модула към GND
  • Свържете Vcc пина на Bluetooth модула към 5v

Вижте снимката за подробности.

Образ
Образ

Сега включете Arduino. Не е необходимо да бъде свързан към компютър.

Сдвоете дъската със смартфона, ако все още не е свързан (вижте Инсталиране на приложението Bluetooth по -горе). След това стартирайте BlueTerm 2, щракнете върху настройките, след това щракнете върху Свързване на устройство и изберете ARDUINO. Трябва да видите как екранът се запълва с числа, увеличаващи се от 0 до 255.

Образ
Образ

Надявам се да намерите това толкова полезно, колкото и аз.

Майк

Bluetooth предизвикателство
Bluetooth предизвикателство
Bluetooth предизвикателство
Bluetooth предизвикателство

На второ място в Bluetooth Challenge

Препоръчано: