Talaan ng mga Nilalaman:

Mga Arduino Smartphone Coms / Serial Monitor Sa Pamamagitan ng Bluetooth HC-05, HC-06: 4 Mga Hakbang (na may Mga Larawan)
Mga Arduino Smartphone Coms / Serial Monitor Sa Pamamagitan ng Bluetooth HC-05, HC-06: 4 Mga Hakbang (na may Mga Larawan)

Video: Mga Arduino Smartphone Coms / Serial Monitor Sa Pamamagitan ng Bluetooth HC-05, HC-06: 4 Mga Hakbang (na may Mga Larawan)

Video: Mga Arduino Smartphone Coms / Serial Monitor Sa Pamamagitan ng Bluetooth HC-05, HC-06: 4 Mga Hakbang (na may Mga Larawan)
Video: #15 HC 05 Bluetooth Modbus Android HMI | Outseal Arduino PLC 2024, Hulyo
Anonim
Ang Mga Arduino Smartphone Coms / Serial Monitor Sa pamamagitan ng Bluetooth HC-05, HC-06
Ang Mga Arduino Smartphone Coms / Serial Monitor Sa pamamagitan ng Bluetooth HC-05, HC-06

Ito ay hindi kapani-paniwalang kapaki-pakinabang kung nais mong subukan ang iyong sketch sa isang tunay na kapaligiran sa mundo, malayo sa iyong PC. Ang kinalabasan ay ang iyong smartphone na kumikilos pareho sa serial monitor ng Arduino sa iyong PC. Ang mga HC-05 at HC-06 Bluetooth module ay magagamit para sa humigit-kumulang £ 3 sa ebay at maraming mga libreng smartphone apps upang pumili mula sa. Mayroong ilang mga pitfalls na sana ay maiiwasan mo sa pamamagitan ng pagsunod sa mga halimbawa dito. Ang libreng smartphone app na ginamit dito ay maaari ring i-save ang text na natanggap sa isang file para magamit sa paglaon. Walang kinakailangang pagbabago sa iyong mga sketch tulad ng parehong mga serial pin na ginamit.

Una kong ginamit ito noong sinusubukan ang isang aparato na sumusukat sa mga distansya na ibinibigay ng mga kotse kapag naabutan ako sa aking bisikleta. Nakapagtala ako ng mga pagsukat sa distansya na kinuha ng 30 beses sa isang segundo papunta sa aking telepono kung saan nai-save ito sa isang file. Sinuri ko ito mamaya sa video na naitala ko rin gamit ang isang sports cam at ang aking app sa pagsubaybay na nagbigay ng aking bilis at lokasyon.

Kakailanganin mong:

  • Ang iyong paboritong Arduino (Uno na ginamit dito)
  • HC-05 o HC-06 Bluetooth module
  • Isang smartphone (ginagamit ang Android phone dito) at libreng Bluetooth app

Mga Hakbang:

  • Mag-install ng libreng Bluetooth app
  • I-configure ang module ng Bluetooth
  • Ikonekta ang Bluetooth sa Arduino
  • Mag-load ng halimbawa ng sketch
  • Sistema ng pagsubok

Hakbang 1: I-install ang Bluetooth App

Maraming magagamit na mga Bluetooth app at marami ang libre. Gumagamit ako ng mga teleponong Android ngunit inaasahan kong pareho ang kaso para sa iba pang mga system. Napagpasyahan kong gamitin ang BlueTerm 2 dahil nagbibigay din ito ng pagpipilian upang i-log ang natanggap na data sa file. Natagpuan ko rin itong napaka prangka na gamitin. Kaya pumunta sa Google Play at humiling ng pag-download ng BlueTerm 2.

Kapag na-install mo ang app maaari kang kumonekta sa mga aparatong Bluetooth. Tandaan na ang Bluetooth aparato ay unang kailangang ipares sa telepono bago magamit ang mga ito sa anumang mga app:

I-on ang BlueTooth: Dumadaan ako sa Mga Setting> Bluetooth.

Ililista ng telepono ang mga nakapares na aparato at pagkalipas ng ilang segundo pagkatapos ay ipakita ang Mga magagamit na aparato. Ang pangalan ay maaaring unang ipakita bilang isang hanay ng mga numero sa halip na ang pangalan ng aparato. Gayunpaman ang pagpili nito pagkatapos ay ipinapakita ang pangalan at humihiling para sa PIN na karaniwang 1234.

Simulan ngayon ang BlueTerm 2. I-click ang mga setting, pagkatapos ay i-click ang Kumonekta aparato at piliin ang kinakailangan. Maaari mo lamang paganahin ang isang module na HC-05 / HC-06 sa yugtong ito at suriin ang proseso ng pagpapares kung nais mo (ilakip ang negatibong supply sa lupa at 5v sa Vcc).

Larawan
Larawan

Hakbang 2: I-configure ang Module ng Bluetooth - Bahagi 1 - Mga Koneksyon at HC-06

Kung nahihirapan kang magamit ang default na pangalan at rate ng baud maaari mong laktawan ang hakbang na ito. Ang mga default ay pangalan: HC-05 o HC-06 at baud: 9600. Ang pakinabang ng muling pag-configure ng module ay ang mas mabilis na mga rate ng baud ay maaaring mapili at ang pangalan ay maaaring itakda sa isang bagay na mas madaling makilala.

Kailangan ng pag-configure ang mga utos upang maipadala mula sa isang PC patungo sa module sa pamamagitan ng isang serial na koneksyon. Ang isang FDTI USB serial link ay perpekto, lalo na kung mayroon itong pagpipilian na 3.3v. Gayunpaman ang mga board ng Arduino ay may isang USB sa serial converter at kaya maaari rin itong magamit at ito ang pamamaraang ipinakita dito. Upang magawa ito, pinakamahusay na huwag paganahin ang pangunahing port ng Arduino na serial port upang makapag-usap kami sa pagitan ng PC at ng Bluetooth module nang walang pagkagambala.

Ang sketch upang huwag paganahin ang serial ng Arduino ay mayroon lamang mga tagubilin:

pinMode (0, INPUT):

pinMode (1, INPUT);

sa seksyon ng pag-set up {}.

Inilakip ko ang sketch na NoSerial.ino. Lumikha ng isang folder na tinatawag na 'NoSerial' sa iyong mga sketch folder at idagdag ito sa NoSerial.ino. Simulan ang Arduino IDE, mag-navigate sa File> Sketchbook> sketch> NoSerial upang buksan ang sketch. Piliin ang uri ng board at Port mula sa menu ng Mga Tool at i-click ang pindutang i-download.

Koneksyon para sa pagsasaayos

Sa pag-load ng sketch maaari na nating ikonekta ang module ng Bluetooth sa Arduino board. Ang mga koneksyon ng Tx at Rx ay napalitan kumpara sa kung ano ang gagawin namin sa paglaon tulad ng nais naming makipag-usap sa PC port para sa Serial Monitor at hindi sa pangunahing processor ng Arduino. Ang PC Tx ay konektado sa Arduino Rx at vice versa.

Tandaan na ang mga module ng Bluetooth ay may mga antas ng 3.3v para sa Tx at Rx. Samakatuwid isang divider ng boltahe ang dapat gamitin para sa pag-input ng Bluetooth Rx kapag kumokonekta sa mga 5v system. Ang output ng Bluetooth 3.3v Tx ay kadalasang napapansin ng pagmultahin ng 5v system at samakatuwid ay maaaring direktang konektado.

Nalaman ko na ang isang voltage divider na gumagamit ng 3k3 at 6k8 resistors ay gumagana hanggang sa 115200 serial rate ng baud.

Ang mga module ng HC05 at HC06 ay may on-board voltage regulator at samakatuwid ay tumatakbo sa Vcc na konektado sa 5v.

Kaya kumonekta:

  • 3k3 risistor sa D0
  • 6k8 risistor sa lupa
  • Ikonekta ang iba pang mga dulo ng dalawang resistors, at sa Rx pin sa module ng Bluetooth
  • Ikonekta ang Bluetooth module na Tx pin sa D1
  • Ikonekta ang ground module ng Bluetooth pin sa GND Ikonekta ang Bluetooth module ground pin sa GND
  • Ikonekta ang Bluetooth module Vcc pin sa 5v

Tingnan ang larawan para sa detalye.

Larawan
Larawan

Upang mai-configure ang module kailangan itong itakda sa mode na AT. Ang pamamaraan ay naiiba para sa mga module ng HC-05 at HC-06.

HC-06

Ito ang pinakamadali. Itinakda nila ang kanilang sarili sa AT mode kung hindi sila ipinares sa anumang aparato. Gayunpaman ang setting ng baud ay magiging anuman ang itinakda sa normal na operating baud. Karaniwan itong 9600 kapag naibigay. Kung hindi ito gumana subukan ang 38400 o iba pang karaniwang mga rate.

Ikonekta ang USB lead mula sa PC patungong Arduino at simulan ang Arduino IDE. Ang Bluetooth LED ay mabilis na mag-flash (~ 4Hz) kapag nasa mode na AT.

Buksan ang Arduino Serial monitor sa pamamagitan ng Mga Tool> Serial Monitor. Itakda ang baud sa 9600 at itakda ang 'Walang linya na nagtatapos'.

Ngayon ipasok ang AT at i-click ang Ipadala. Kung gumagana ang lahat makikita mo ang 'OK' na bumalik sa monitor. Kung walang bumalik na dobleng suriin ang mga kable at subukan ang iba't ibang mga setting ng Baud.

Sa isang OK na nagpapatunay ng mahusay na mga komunikasyon maaari naming baguhin ang pangalan at magtakda ng sariling rate ng Baud.

Ipasok ang AT + NAMEARDUINO at i-click ang send. Itinatakda nito ang pangalan ng module sa ARDUINO. Ang anumang iba pang teksto ay maaaring magamit. Tandaan walang puwang sa utos.

Ang sagot ay dapat na OKsetname. Naidagdag ito sa OK na ipinadala nang mas maaga

Ngayon ipasok ang AT + BAUD8. Itinatakda nito ang baud sa 115200.

Ang sagot ay dapat na OK115200. Kung ang anumang mga utos na AT ay ipapadala ang setting ng Serial Monitor baud ay dapat baguhin sa 115200.

Ang ibang mga rate ay maaaring itakda. Ang Baud4 ay 9600, ang Baud5 ay 19200, Baud6 38400, Baud7 57600. Mayroong mas mataas na mga setting kaysa sa 115200 ngunit suriin muna na ang iyong PC at Arduino ay maaaring tanggapin ang mga ito (ang minahan ay hindi maaaring lumagpas sa 128000). Tandaan - Kung magtakda ka ng isang rate na masyadong mataas hindi ka makikipag-usap dito upang maibalik ito !!!

Larawan
Larawan

Hakbang 3: I-configure ang Module ng Bluetooth - Bahagi 2 - HC-05 at Paunang Pagsubok

HC-05

Ang mga ito ay ang komplikasyon na kinakailangang manu-manong maitakda sa mode na AT. Sinasabi ng manu-manong kung ang mode na AT ay napalitaw pagkatapos ng power up ang setting ng Baud ay magpapatuloy sa rate na itinakda para sa normal na mga komunikasyon. Hindi ko ito magawang gumana! Kung gayunpaman ang AT mode ay itinakda sa lakas sa baud ay nakatakda sa 38400. Samakatuwid ang huling pagpipilian na ito ay ang pinaka maaasahan dahil maaari nating siguraduhin na ang baud ay 38400.

Buksan ang Arduino Serial monitor sa pamamagitan ng Mga Tool> Serial Monitor. Itakda ang baud sa 38400 at itakda ang 'Carriage Return'.

Ang susunod na hakbang ay ang kumuha ng board sa AT mode. Dito lumitaw ang karamihan sa mga problema dahil sa mga pagkakaiba sa mga board ng carrier.

Ang pangunahing proseso ay upang hawakan ang 'Key' pin (pin 34) mababa ng ilang segundo sa power-up.

Ang aking board ay may isang pindutan upang magawa ito (ang dalawang karagdagang mga pin ng koneksyon ay EN at STATE). Idiskonekta ang Vcc wire mula sa module ng Bluetooth. Pagkatapos, habang pinipigilan ang pindutan na pinindot, muling ilapat ang 5v sa Vcc. Ang LED ay dapat na flash sa humigit-kumulang na 2 segundo na agwat. Hinahawakan ko ang pindutan hanggang sa pangalawang flash.

Ang ilang mga board ay may isang Key pin bilang isa sa 6 na mga pin sa module. Kung gayon itali ito sa 3.3v sa panahon ng pag-power up.

Ang ilang mga board ay hindi alinman at ang mga gumagamit ay kailangang maghinang ng isang pindutan sa pagitan ng Key pin (34) at 3.3v (pin 12). Tingnan ang nakalakip na manwal.

Sa dahan-dahan na pag-flashing ng LED maaari nating suriin ang mga komunikasyon. Ipasok ang AT at i-click ang Ipadala. Ang sagot ay dapat maging OK. Nalaman ko na ang tugon na ito ay patuloy na inuulit hanggang sa nagpadala ako ng isang blangko na linya - i-click lamang ang ipadala. Kung nakakuha ka ng ERROR: (0) pagkatapos ay magpadala ng isang blangko na linya at pagkatapos ay ipadala ang AT.

Magtakda ngayon ng isang bagong pangalan. Ipasok SA + NAME = ARDUINO Ang sagot ay dapat maging OK. Gayunpaman sa aking kaso ang module ay nai-reset sa labas ng AT mode (mabilis na kumikislap na LED). Hindi ko mahanap ang dahilan at nangyari rin ito kapag gumagamit ng isang FDTI serial na koneksyon kaysa sa Arduino. Bumalik ako sa mode ng AT tulad ng dati: Ididiskonekta ang power wire sa board at muling kumonekta habang pinindot ang pindutan. Ipinakita ng mga tseke pagkatapos na ang pangalan ay binago.

Susunod na itakda ang Baud. Ipasok SA + UART = 115200, 1, 0 Ang sagot ay dapat maging OK. Gayunpaman minsan ay tumalon ito sa AT mode tulad ng nasa itaas.

Ang setting ng UART ay maaaring suriin sa pamamagitan ng utos: AT + UART? Ang sagot ay dapat na OK at + UART = 115200, 1, 0

Paunang pagsubok

Sa yugtong ito mayroon kaming PC na may isang serial na koneksyon sa module ng Bluetooth. Kaya't isang paunang, opsyonal na pagsubok ay maaaring gawin sa pamamagitan ng pagsisimula ng smartphone BlueTerm 2 app (sa pag-aakalang ang module ay naipares na sa telepono). Kumonekta sa ARDUINO. Itakda ang Arduino Serial Monitor sa 115200 baud. I-type ang 'Hello World' at i-click ang ipadala. Ito ay dapat na lilitaw ngayon sa BlueTerm 2. Ngayon i-type ang 'Hello to you' sa BlueTerm 2. Ito ay dapat na lilitaw ngayon sa Serial Monitor.

Larawan
Larawan
Larawan
Larawan

Hakbang 4: Ikonekta ang Module ng Bluetooth sa Arduino

Kailangan naming i-load muna ang aming Arduino test sketch. Ang naka-attach na BTtest.ino ay nagpapadala ng isang numero bawat 0.5s at pagkatapos ay dagdagan ito, lumiligid sa 0 mula sa 255. Lumikha ng isang folder na tinatawag na BTtest sa iyong folder ng mga sketch at idagdag ang BTtest.ino

Ginagamit din ang Arduino serial connection para sa pag-download ng mga sketch. Kaya't ang dalawang wires sa module ng Bluetooth ay dapat na idiskonekta upang hindi ito makagambala.

Matapos i-download ang sketch ay ikonekta muli ang module ng Bluetooth. Gayunpaman tandaan na ang Tx at Rx sa Arduino ay kailangang maipalit kumpara sa naunang pag-setup ng pagsasaayos.

Kaya kumonekta:

  • 3k3 risistor sa D1
  • 6k8 risistor sa lupa
  • Ikonekta ang iba pang mga dulo ng dalawang resistors, at sa Rx pin sa module ng Bluetooth
  • Ikonekta ang Bluetooth module na Tx pin sa D0
  • Ikonekta ang ground module ng Bluetooth pin sa GND Ikonekta ang Bluetooth module ground pin sa GND
  • Ikonekta ang Bluetooth module Vcc pin sa 5v

Tingnan ang larawan para sa detalye.

Larawan
Larawan

Ngayon ay palakasin ang Arduino. Hindi ito kailangang konektado sa isang PC.

Ipares ang board sa smartphone kung hindi pa nakakonekta (tingnan ang I-install ang Bluetooth app sa itaas). Pagkatapos simulan ang BlueTerm 2, i-click ang mga setting, pagkatapos ay i-click ang Kumonekta aparato at piliin ang ARDUINO. Dapat mong makita ang punan ng screen ng mga numero na nagdaragdag mula 0 hanggang 255.

Larawan
Larawan

Inaasahan kong makita mo itong kapaki-pakinabang tulad ng mayroon ako.

Mike

Hamon ng Bluetooth
Hamon ng Bluetooth
Hamon ng Bluetooth
Hamon ng Bluetooth

Runner Up sa Bluetooth Challenge

Inirerekumendang: