Სარჩევი:

OldMan და Bluetooth2: 4 ნაბიჯი
OldMan და Bluetooth2: 4 ნაბიჯი

ვიდეო: OldMan და Bluetooth2: 4 ნაბიჯი

ვიდეო: OldMan და Bluetooth2: 4 ნაბიჯი
ვიდეო: black line (old man) ერეცი და მერეცი 2024, ივლისი
Anonim
OldMan და Bluetooth2
OldMan და Bluetooth2

ამ ზარმაცი ძველმა გიკმა (L. O. G.) საბოლოოდ მიიღო Bluetooth HC05 მოდული AliExpress.com– დან. მე შევუკვეთე ერთი ამ ინსტრუქციის დაწერის შემდეგ:

www.instructables.com/id/OldMan-and-Blueto…

ისე, მე გავატარე რამოდენიმე საათი იმის მცდელობაში, რომ ეს მუშაობდეს ბრძანების რეჟიმში, უშედეგოდ. მე კი გავანადგურე HC05 მოდული (ალბათ არასწორი ძაბვის გამოყენება), ასე რომ მომიწია ყიდვა სხვა.

რჩევა: ბრძანების რეჟიმი თავად HC05 ან HC06 მოდულთან საუბრობს. კომუნიკაციის რეჟიმი საუბრობს სხვა Bluetooth მოწყობილობაზე.

რაც აღმოვაჩინე არის ბევრი განსხვავება HC05 და HC06 შორის. HC05 შეიძლება იყოს მთავარი ან მონა, HC06 არის მხოლოდ მონა. ძირითადად, ბატონს შეუძლია მონას ესაუბროს, ორ მონას არ შეუძლია ერთმანეთთან საუბარი. HC05 და HC06 აქვს განსხვავებული ბრძანებები. HC05 უნდა იყოს ტექნიკურად კონფიგურირებული ბრძანების რეჟიმში გადასასვლელად, მას შეიძლება ჰქონდეს განსხვავებული სიჩქარე კომუნიკაციისა და ბრძანების რეჟიმში.

HC06 ყოველთვის კომუნიკაციისა და ბრძანების რეჟიმშია. ერთისთვის ბაუდის მაჩვენებლის დადგენა მეორეს შეცვლის.

რჩევა: თვალყური ადევნეთ ამას, როგორც მე არ მქონდა და მქონდა პრობლემები.

რჩევა: განსხვავებული HC05 და HC06 შეიძლება განსხვავდებოდეს მათგან, რაც მე მივიღე.

HCO6 შეასრულებს ბრძანებებს, მაგრამ ყოველთვის არ აჩვენებს შეცვლილ შედეგებს, მაგ. სახელის შეცვლა.

ნაბიჯი 1: შეფასება/მოდიფიკაცია

შეფასება/მოდიფიკაცია
შეფასება/მოდიფიკაცია
შეფასება/მოდიფიკაცია
შეფასება/მოდიფიკაცია
შეფასება/მოდიფიკაცია
შეფასება/მოდიფიკაცია

მიმაგრებულია ჩემი მსგავსი HC05 სქემატური სქემა. ორი განსხვავება, რაც მე ვიცი, არის ის, რომ არის 2.2K რეზისტორი PIO11 (34) - სა და EN pin- ს შორის და 3.3v რეგულატორი არის 3 პინიანი პაკეტი და არ აქვს CE პინი. თანდართული სურათი მონიშნული სქემატურია იმისა, რაც მე ვფიქრობ, რომ მაქვს.

პროგრამირების მიზნით, მნიშვნელოვანია ის, რომ 34 პუნქტი Key დაკავშირებულია EN პინთან 2.2K რეზისტორის საშუალებით. (ის ასევე დაკავშირებულია ღილაკზე, მეორე მხარე უკავშირდება 3.3 ვ)

საფონდო HC05 მოითხოვს 5V სიმძლავრეს, თუმცა ის მუშაობს 3.3V სიგნალებით, ამიტომ მე შევცვალე ჩემი HCO5, რომ გამოვიყენო 3.3V. 3.3V რეგულატორი ამოვიღე და VCC პინიდან გადახტა jumper პირდაპირ 3.3V. ეს ნაჩვენებია მოდიფიცირებულ სქემატურ და ჩემს მოდიფიცირებულ HC05 სურათზე.

სხვათა შორის, თანდართულ HC05 Command Set.pdf– ს აქვს მნიშვნელოვანი ინფორმაცია HC05– ის გამოყენების შესახებ, სამწუხაროდ, ის არ არის ძალიან მეგობრული.

ნაბიჯი 2: პროგრამირება HC05

HC05 პროგრამირება
HC05 პროგრამირება
HC05 პროგრამირება
HC05 პროგრამირება

მე გადავწყვიტე, რომ HC05– ის გამოყენების უმარტივესი გზა იყო მისი დაკავშირება ჩემს ერთ CP2102 3.3V სერიულ გადამყვანთან, როგორც ეს გავაკეთე Old Man And Bluetooth Instructable– ით HC06– ით. იხილეთ სურათი და სქემატური.

მნიშვნელოვანი რჩევა: HC05 ბრძანების რეჟიმში გააქტიურების მიზნით, PIO11 pin (34) უნდა იყოს მაღალი 3.3V– ის გამოყენებამდე. ჩემი HC05– ის EN pin არის დაკავშირებული PIO11– თან 2.2K რეზისტორის საშუალებით, ამიტომ ის უბრალოდ უნდა იყოს მიბმული 3.3 ვ. სქემატური აჩვენებს ამას, როგორც პროგრამის ქინძისთავები, მაგრამ უბრალოდ მოათავსეთ მხტუნავი 3.3V– დან EN pin– მდე. დარწმუნდით, რომ ეს გააკეთეთ ენერგიის გამოყენებამდე. ჩემზე, თქვენ შეგიძლიათ თქვათ ბრძანების რეჟიმში ხართ თუ არა, რადგან HC05 LED ნელა აციმციმდება. თუ ის სწრაფად ციმციმებს, მაშინ დაწყვილების რეჟიმში ხართ და ხელახლა უნდა სცადოთ.

რჩევა: HC05 ბრძანების რეჟიმში ყოველთვის საუბრობს 38400 ბაუდზე. ყველა ბრძანება კაპიტალიზებულია და მათ უნდა მოჰყვეს CR და LF. (ეს განსხვავდება HC06– ისგან)

რჩევა: ბრძანების ფორმატი ძალიან მკაცრია. ყოველთვის გამოიყენეთ ქუდები. ისინი ყველა იწყება "AT" - ით მიჰყევით მათ ზუსტად, თქვენ არ შეგიძლიათ დაამატოთ ის ადგილები, სადაც ისინი არ არის ნაჩვენები.

დაიწყეთ არდუინო. გადადით "ინსტრუმენტები" "პორტში" და შეარჩიეთ Com პორტი, რომელთანაც დაკავშირებულია CP2102.

გახსენით სერიული მონიტორი. ამ ფანჯრის ბოლოში აირჩიეთ "ორივე NL და CR" და "38400 baud". (NL ნიშნავს ახალ ხაზს, რაც იგივეა რაც LF, რაც არის Line Feed).

ზევით, არის ყუთი გაგზავნის ღილაკის გვერდით, დააწკაპუნეთ მასზე.

თქვენს კომპიუტერში ჩართეთ Caps Lock

ტიპი AT

დიდ ფანჯარაში უნდა იყოს ნაჩვენები "OK".

თქვენ ურთიერთობთ ბრძანების რეჟიმში

ზოგიერთი ბრძანება, რომელიც მუშაობს ჩემზე

AT

AT+გადატვირთვა

AT+VERSION?

AT+NAME?

AT+ADDR? ADDR: 98D3: 31: F5CB41

AT+NAME = BT1 ეს ცვლის სახელს BT1

AT+ROLE? 0 = მონა 1 = ოსტატი

ნაბიჯი 3: გადახედეთ HC06

HC06 გადამოწმებული
HC06 გადამოწმებული

HC05- სა და HC06- ს შორის ერთ -ერთი მთავარი განსხვავება ისაა, რომ HC05 შეიძლება იყოს მთავარი ან მონა, ხოლო HC06 მხოლოდ მონაა. ეს ნიშნავს, რომ თქვენ შეგიძლიათ ისაუბროთ HC05 და HC06 შორის. თუმცა ბევრი სხვაობაა.

მიუხედავად იმისა, რომ შემეძლო Arduino გამოვიყენო ჩემი HC06– ის დასაყენებლად, მე ავირჩიე 3.3v CP2102– ის გამოყენება. იხილეთ სურათი

კავშირები

CP2102 HC06

გნდ გნდ

Vcc Vcc

TXD RXD

RXD TXD

ეს არის ძირითადად იგივე როგორც HC05 გარდა ჩემი HC06 მხოლოდ ოთხი ქინძისთავები.

ჩემი CP2102 შეცვლილია, რომ უზრუნველყოს 3.3V

ჩემი HC06 შეცვლილია მიიღოს 3.3V

CP2102 USB დაკავშირებულია ჩემს კომპიუტერთან. ჩემს კომპიუტერში მე ვიყენებ Arduino IDE- ს.

აირჩიეთ სწორი "პორტი" და გახსენით სერიული მონიტორი.

ჩემს HC06– ზე, წითელი LED სწრაფად ანათებს, რაც მიუთითებს, რომ ის მზად არის დაწყვილებისთვის, მაგრამ ასევე შეუძლია მიიღოს ბრძანებები.

ამ ინფორმაციის ნაწილი მოვიდა მარტინ კერიდან:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

ასე რომ, თითოეული ტიპის HC06 შეიძლება განსხვავებული იყოს, ჩემი ბრუნდება VERSION linvorV1.5

ჩემი HC06– ისთვის (და ალბათ ყველა მათგანისთვის), არ არსებობს სპეციალური პროცედურა ბრძანების რეჟიმში გადასასვლელად. როგორც ჩანს, თუ ის არ არის დაწყვილებული, ყოველთვის შეგიძლიათ ბრძანებების გაგზავნა სერიული პორტის საშუალებით.

რჩევა: თქვენ არ შეგიძლიათ ბრძანებების გაგზავნა Bluetooth– ის ნებისმიერ მოდულში (რაც მე ვიცი) Bluetooth– ის საშუალებით.

გახსენით სერიული მონიტორი

დააწკაპუნეთ სერიულ მონიტორის ქვედა პირველ ყუთზე და დააყენეთ "ხაზის დასრულების გარეშე"

თავიდან ჩემი ბაუდი იყო 9600 ბაუდი

თქვენს კომპიუტერში ჩართეთ Caps Lock

ზედა ყუთში ჩაწერეთ AT

ჩაწერეთ Enter ან დააჭირეთ ღილაკს "გაგზავნა"

ეკრანი უნდა აჩვენოს OK

რჩევა: თუ თქვენ ვერ მიიღებთ OK- ს, ეს შეიძლება იყოს იმიტომ, რომ baud მაჩვენებელი შეიცვალა ან განსხვავებულია. შეგიძლიათ სცადოთ სხვადასხვა, სანამ, იმედია, არ იპოვით სწორს.

შენიშვნა: მრავალი ბრძანების გაგზავნა, პასუხის მონაცემები არ გადადის შემდეგ სტრიქონზე. ბოლოში, შეგიძლიათ დააწკაპუნოთ გასასვლელის გასუფთავებაზე.

ბრძანებები, რომლებიც მუშაობს ჩემთვის:

ბრძანების პასუხი

AT+VERSION OKlinvorV1.5

AT+NAME ფრედი returnOKsetname

(ის არ გეუბნება სახელს, მაგრამ თუ დაკავშირებულია Bluetooth– ით, ის გამოჩნდება.)

შენიშვნა: თუ თქვენ შეცვლით სახელს, ძველი სახელი გამოჩნდება თქვენს სმარტფონზე სანამ არ გააწყვილებთ და ხელახლა დააწყვილებთ.

AT+PINxxx არ მიცდია. ნაკლოვანება არის 1234

AT+BAUD8 ცვლის ბაუდის განაკვეთს 115200 -მდე

პასუხი არის ბოდის მაჩვენებელი, მაგ. 115200

(ბაუდის სიჩქარის შეცვლის შემდეგ, თქვენ უნდა შეცვალოთ სერიული მონიტორის სიჩქარე 115200 -მდე, შემდგომი ბრძანებების გასაგზავნად.

ბოდის განაკვეთის პარამეტრები

1 1200

2 2400

3 4800

4 9600 (ნაგულისხმევი)

5 19200

6 38400

7 57600

8 115200

9 230400

460800

B 921600

C 1382400

შენიშვნა: მე არ მიცდია 8 115200 -ზე მაღალი. მე მსმენია ადამიანების მცდელობისას მაღალი მაჩვენებლები ცუდი შედეგებით.

სხვა ბრძანებები, რომლებიც უნდა მუშაობდნენ, მაგრამ არ გამოსცადეს:

AT+PN არ არის პარიტეტული შემოწმება (ნაგულისხმევი)

AT+PO უცნაური პარიტეტული შემოწმება

AT+PE თანაბარი პარიტეტული შემოწმება

მნიშვნელოვანია: ამ ეტაპზე, მე გირჩევთ, აირჩიოთ უნიკალური სახელი და ჩაწეროთ იგი. ასევე გირჩევთ, გადაწყვიტოთ ბოდის სიჩქარე, რომელზეც გსურთ კომუნიკაცია, ჩადოთ იგი და აღნიშნოთ თქვენი HC06.

ნაბიჯი 4: HC05– ის დაყენება HC06– ზე

კარგი, ეს ინსტრუქცია ყველაზე მეტად დამეხმარა:

www.instructables.com/id/How-to-Configure-…

ჩემი დაყენება:

SLAVE მოძიების მისამართი

HC06 CP2102– ით (ავტომატურად ბრძანების რეჟიმში)

შეაერთეთ CP2102 USB კაბელი HC06– ის დასატენად.

HC06 LED სწრაფად უნდა ანათებდეს (დაწყვილების რეჟიმი).

თქვენს სმარტფონზე გახსენით პარამეტრები

გადადით Bluetooth– ზე

მოძებნეთ ახალი მოწყობილობა

თუ ხედავთ HC06- ის მსგავსს ან თქვენს მიერ დასახელებულ სახელს, აირჩიეთ ეს.

თქვენ სავარაუდოდ დაინახავთ რიცხვების სტრიქონს, როგორიცაა 00: 12: 09: 27: 19: 13, ეს ალბათ ეს არის.

ჩაწერეთ ეს მისამართი. (ნომერი არის მისი უნიკალური მისამართი)

აირჩიეთ იგი

როდესაც ითხოვენ პინს, ჩაწერეთ 1234.

სახელი უნდა იყოს ნაჩვენები.

თუ თქვენ ჯერ კიდევ არ გაქვთ მისამართი, "ადრე დაკავშირებული მოწყობილობების" პუნქტში აირჩიეთ სახელი.

დააწკაპუნეთ ინფორმაციაზე, მისამართი უნდა იყოს ნაჩვენები. ჩამოწერეთ.

თუ ის არ ჩანს, გამოდით კონფიგურაციიდან და გახსენით Bluetooth ტერმინალის HC-05 აპი.

დაწყვილებული მოწყობილობების ქვეშ იპოვნეთ სახელი, მისამართი უნდა იყოს ქვემოთ, ჩაწერეთ.

მონების დაყენება

თუ HC06 LED არ ციმციმებს, ჩართეთ ენერგია დააბრუნეთ დაწყვილების რეჟიმში.

დაიწყეთ არდუინო

"ინსტრუმენტები" განყოფილებაში "პორტი" აირჩიეთ სწორი Com პორტი

გახსენით სერიული მონიტორი

ამ ფანჯრის ბოლოში

აირჩიეთ "ხაზის დასრულების გარეშე" და "9600 baud"

მაგისტრი

HC05 CP2102 ბრძანებით რეჟიმში (EN jumpered high)

შეაერთეთ USB კაბელი CP2102– დან კომპიუტერში

აღმოვაჩინე, რომ შემიძლია გავხსნა ორი არდუინო

მეორე Arduino– ზე აირჩიეთ სწორი Com პორტი HC05– ისთვის

გახსენით სერიული მონიტორი

ფანჯრის ბოლოში

აირჩიეთ "ორივე NL&CR" და "38400 baud"

ქვემოთ მოცემულია ზემოთ მითითებული ინსტრუქციიდან

სამაგისტრო კონფიგურაცია

კონფიგურაციის დასაყენებლად საჭირო AT ბრძანებები:

ბრძანების პასუხი რას აკეთებს

AT+ROLE = 1 OK დააყენეთ HC05 როგორც მთავარი

AT+CMODE = 1 OK დაკავშირება კონკრეტულ მისამართთან

შენიშვნა: HC06 მისამართი ალბათ ასეა ფორმატირებული 00: 12: 09: 27: 19: 13

BIND ბრძანება ელოდება ამას 0012, 09, 27193 (თქვენ ამოიღეთ მსხვილი ნაწლავი, მიიღეთ პირველი ოთხი რიცხვი, შემდეგ მძიმით, მომდევნო ორი რიცხვი, შემდეგ მძიმე, შემდეგ ბოლო ექვსი რიცხვი)

AT+BIND = 0012, 09, 271913 OK აკავშირებს/აკავშირებს HC06– თან

(სხვათა შორის AT +BIND? პასუხობს +BIND: 12: 9: 271913)

(გსურთ HC05 კომუნიკაციის სიჩქარე იყოს იგივე, რაც HC06) მაგალითად:

AT+UART = 115200, 0, 0 OK Baud განაკვეთი 115200 (პირველი ბიტი, პარიტეტის გარეშე)

კომუნიკაციის შესამოწმებლად:

ამოიღეთ HC05 EN jumper, დენის ციკლი.

როდესაც ეს ორი ერთმანეთთან არის დაკავშირებული, HC05 LED აციმციმდება ორჯერ ყოველ რამდენიმე წამში, HC06 LED დარჩება უწყვეტად.

დააყენეთ ორივე com პორტი ერთსა და იმავე სიჩქარეზე (რასაც თქვენ დააყენებთ)

დააყენეთ ორივე "ორივე NL&CR"

ჩაწერეთ რამე სერიულ მონიტორზე 1, სერიულმა მონიტორმა 2 უნდა აჩვენოს იგი.

ჩაწერეთ რამე სერიულ მონიტორზე 2, სერიულმა მონიტორმა 1 უნდა აჩვენოს იგი.

გილოცავთ, თქვენ ურთიერთობთ Bluetooth– ით

ახლა ზემოთ მოცემულ Instructable– ს აქვს ესკიზები, თუ როგორ გამოიყენოთ მოდულები Arduino– სთან. ამ ინსტრუქციისთვის, მე არ ჩავწვდები ამაში.

გირჩევთ: