Arduino bluetooth-ն աշխատում է համակարգի հետ առանց ծրագրերի։ Bluetooth սարքերի միացում և անջատում Arduino-ի միջոցով (տեսանյութ)

Bluetooth- Սա, թերեւս, կարճ հեռավորությունների համար հաղորդակցության ամենատարածված տեսակն է, որն օգտագործվում է ժամանակակից էլեկտրոնային սարքերի մեծ մասի կողմից: Հեռախոսի ականջակալներ, ականջակալներ, ստեղնաշարեր և մկնիկներ, տպիչներ և Աստված գիտի, թե ինչ այլ գաջեթներ: Որոշ ժամանակ առաջ bluetooth-ը հայտնի դարձավ որպես հեռախոսների միջև ֆայլեր փոխանցելու միջոց։ BT-ի հիմնական առավելությունները ներառում են լայնաշերտ միջամտության լավ դիմադրություն և իրականացման հեշտություն: Առաջինը նշանակում է, որ մի վայրում տեղակայված սարքերի մի փունջ կարող է միաժամանակ շփվել միմյանց հետ՝ չխանգարելով միմյանց: Երկրորդը օգնեց DIY միջավայրում և ընդհանրապես բոլոր միջավայրերում Bluetooth-ի լայն տարածմանը: Անձամբ ես օգտագործում եմ BT՝ իմ սմարթֆոնից ռոբոտներին կառավարելու համար: Google Play-ն արդեն ունի մի քանի հավելվածներ՝ օգտատերերի համար հարմար ինտերֆեյսով, հատուկ այդ նպատակների համար: Մեր MakeItLab hackspace-ի մասնակիցներն օգտագործում են Bluetooth՝ հեռակա կարգով կառավարելու լույսը և հավաքում են հեռաչափությունը կվադրոկոպտերներից: Այսօրվա ամենամատչելի Bluetooth մոդուլները կարելի է անվանել HC-05 և HC-06: Դրանք առատորեն առկա են չինական առցանց խանութներում և ebay-ում։ Նրանց միջև տարբերությունն այն է, որ առաջինը կարող է գործել և՛ ստրուկ, և՛ վարպետ ռեժիմներով: Երկրորդը զուտ ստրուկ սարք է (բայց դա կարելի է ուղղել): Այլ կերպ ասած, HC-06-ը չի կարող ինքնին հայտնաբերել զուգակցված սարքը և կապ հաստատել դրա հետ, այն կարող է ենթարկվել միայն վարպետին. Երկու սարքերն էլ հիմնված են CSR BC417 չիպի վրա, որն ապահովում է Bluetooth 2.0 տարբերակը մինչև 3 Մբիթ/վ արագությամբ: Այս մոդուլներն են, որոնք կքննարկվեն հետագա:

1. Կատարման տարբերակներ

Սովորաբար, մոդուլները վաճառվում են որպես երկու տախտակներ, որոնք զոդված են միասին: Ավելի փոքրը գործարանային մոդուլ է, որը լայնորեն օգտագործվում է տարբեր էլեկտրոնային սարքերում: Մեծ - հատուկ դիզայնի շարֆ DIY-ի համար: Ահա թե ինչ տեսք ունի BC417 չիպով ավելի փոքր տախտակը.
Եվ ահա DIY մոդուլները HC-05 և HC-06:
Իմ խորամանկ նպատակների համար ես սովորաբար վերցնում եմ HC-05-ը, քանի որ դրանք գնով շատ չեն տարբերվում HC-06-ից և թույլ են տալիս առանց որևէ դժվարության միացնել երկու սարքերը: Օրինակ, դուք կարող եք դրա համար ռոբոտ և հեռակառավարման վահանակ պատրաստել: Ես սովորաբար ստանում եմ մոդուլներ Չինաստանից, ճիշտ այնպես, ինչպես ձախ նկարում, բայց երբեմն առանց կոճակի: Շատ տարածված է նաև մակետի շարֆի մեկ այլ տարբերակ։ Ի տարբերություն վերը նշվածների, նրանք չունեն EN ոտք, բայց ունեն KEY ոտք, որը մի փոքր ավելի հարմարավետ է:
PinoutԱյսպիսով, ինչի՞ համար են պատասխանատու ոտքերը բոլոր մոդուլային տարբերակներում:
  • EN - միացնել/անջատել մոդուլը;
  • VCC - +5V էլեկտրամատակարարում;
  • GND - հիմք;
  • TXD, RXD - UART ինտերֆեյս վերահսկիչի հետ շփվելու համար;
  • STATE - կարգավիճակի ցուցիչ;
  • KEY - ոտք AT հրամանի ռեժիմ մուտք գործելու համար:
Մոդուլը կազմաձևված է AT հրամանի ռեժիմում, որն ակտիվանում է KEY ոտքի միջոցով: Հետևաբար, մոդուլի շատ երջանիկ սեփականատերերի մոտ կարող է հարց առաջանալ. ի՞նչ պետք է անեմ, եթե հանդիպեմ առանց բանալիի մոդուլի: Իրականում, իհարկե, կա այս ոտքը փոքր տախտակի վրա, այն պարզապես չի ուղղվում մեծ տախտակի վրա: Աստված գիտի, թե ինչու են չինացիներն այդպես վարվել, բայց խնդիրը հեշտությամբ լուծվում է։ KEY ոտքը աճում է այստեղից.

2. Միացում Arduino Uno-ին

Ոտքերը շատ չեն, այնպես որ դուք չեք շփոթվի։ Մենք Bluetooth-ին միանում ենք Arduino Uno-ին հետևյալ սխեմայով.
Bluetooth GND VCC TXD RXD ԲԱՆԱԼԻ
Arduino Uno GND +5 Վ 10 11
Մենք միացնում ենք TX-ը և RX-ը GPIO 10 և 11 ոտքերին, քանի որ 0 և 1 ոտքերի ապարատային UART-ը զբաղված կլինի համակարգչի հետ հաղորդակցվելով: Գործառնական ռեժիմում KEY-ը ոչ մի տեղ միացված չէ, ուստի աղյուսակում ես այն չեմ միացրել GPIO-ին Arduino ոտքերով:

3. Զուգակցման լարման մակարդակները

Փոքր Bluetooth մոդուլի տախտակն ունի 3,3 վոլտ տրամաբանական լարում: Սա նշանակում է, որ Arduino Uno-ն կարող է կա՛մ այրել իր նավահանգիստները, կա՛մ պարզապես ազդանշաններ փոխանցել սխալ: Բարեբախտաբար, շատ դեպքերում մեծ տախտակն ունի ամեն ինչ՝ դրանից խուսափելու համար: Վերոնշյալ մոդուլները հեշտությամբ կարելի է միացնել Arduino-ին, առանց ավելորդ քաշքշուկների: Նույնիսկ չնայած այն հանգամանքին, որ արտադրողներն իրենք նախազգուշացում են գրել շարֆի վրա 3,3 վոլտ ազդանշանի մակարդակի մասին: Այնուամենայնիվ, որոշ իրավիճակներում կարող է անհրաժեշտ լինել Arduino TX - BT RX գծի վրա լարման բաժանարար տեղադրել՝ տրամաբանական մակարդակներն իջեցնելու համար: Իրականում, նույնիսկ եթե ամեն ինչ աշխատում է առանց բաժանարարի, կարգի համար ավելի լավ է տեղադրել այն: Բաժանարար սխեման հետևյալն է.

4. Արդուինոյի պատրաստում

Կարգավորումը սկսելու համար մենք պետք է ներբեռնենք օժանդակ ուրվագիծ Arduino-ում: Ըստ էության, դա կրկնվող ծրագիր է, որը տվյալների փոխանակում կկատարի համակարգչի տերմինալի և Bluetooth մոդուլի միջև: Ծրագիրը չափազանց պարզ է՝ #include #ներառում int gLedPin = 13; int gRxPin = 10; int gTxPin = 11; SoftwareSerial BTSerial (gRxPin, gTxPin); void setup() (# 38400 - No. 1 մեթոդի համար, 9600 - մեթոդի համար No 2 BTSerial.begin(38400); Serial.begin(9600); delay(500); ) void loop() ( if (BTSerial. հասանելի( )) ( Serial.write(BTSerial.read()); ) if (Serial.available()) ( BTSerial.write(Serial.read()); ) ) Վերբեռնեք էսքիզը Arduino-ում և անցեք հաջորդին քայլ.

5. Տերմինալի պատրաստում

Դուք կարող եք որպես տերմինալ օգտագործել Arduino IDE-ում ներկառուցված պորտի մոնիտորը, կամ կարող եք օգտագործել ցանկացած այլ: Ես օգտագործել եմ երրորդ կողմի տերմինալ՝ TeraTerm: Նախքան միանալը, դուք պետք է կատարեք երկու կարևոր կարգավորում.
  • Baud տոկոսադրույքը` 9600;
  • տողերի հոսքի նիշ՝ CR+LF:
Ահա թե ինչ տեսք ունեն կարգավորումները TeraTerm-ում.
Երբ ամեն ինչ ճիշտ կազմաձևված է, միացեք COM պորտին և ստուգեք կապը: Ռացիոնալ է բոլոր հետագա մանիպուլյացիաները բաժանել երկու մասի` HC-06 ստրուկ մոդուլի և գլխավոր HC-05-ի համար:

6. HC-06-ի կարգավորում

Կապի ստուգում

Մոդուլին էլեկտրաէներգիայի մատակարարումից հետո LED-ը կսկսի ուժեղ թարթել.
Այժմ գնացեք տերմինալ և գրեք հրամանը. AT Ի պատասխան՝ մոդուլը պետք է մեզ ասի. լավ Մեր հաջորդ հրամանը մոդուլից կխնդրի իր տարբերակը. AT+VERSION? Մենք ստանում ենք նման բան. OKLinvor1.5 Տեղի է ունեցել? Եթե ​​ոչ, ապա ստուգեք.
  1. Մոդուլի հետ կապի արագությունը, որը սահմանված է թարգմանիչ ծրագրում. ստրուկի հետ հաղորդակցվելու համար արագությունը պետք է լինի 9600։
  2. Գծի սնուցման նիշերի կարգավորումներ. մի մոռացեք CR+LF-ի մասին:
  3. Ամեն հրամանից հետո սեղմո՞ւմ ենք Enter: Դու երբեք չես իմանա...

Օգտակար հրամաններ

Bluetooth ստրուկ մոդուլն ունի ընդամենը երեք պարամետր՝ կարգավորելու համար.
  • Սարքի գաղտնաբառը փոխելու հրաման. AT+PIN<пароль>
  • արագության փոփոխություն. AT+BAUD<скорость>
  • փոխել սարքի անունը. AT+NAME<имя>
Օրինակ՝ գաղտնաբառը փոխելու համար գրում ենք. AT+PIN4321 Ընդհանուր առմամբ, այն պատրաստ է: Այժմ դուք կարող եք միանալ մոդուլին, օրինակ, սմարթֆոնից: Սա կքննարկվի իմ պատմության երկրորդ մասում:

7. HC-05-ի կարգավորում

Անցում AT հրամանի ռեժիմին

Հիմնական մոդուլի կարգավորումներին մուտք գործելու համար այն պետք է միացվի AT հրամանի ռեժիմին: Այս ռեժիմը մտնելու համար կարող եք օգտագործել երկու եղանակ (ես միշտ օգտագործում եմ առաջինը): Առաջին մեթոդ.
  1. Անջատեք մոդուլը սնուցման աղբյուրից:
  2. Մենք կիրառում ենք +3.3V ազդանշան KEY ոտքի վրա:
  3. Մենք միացնում ենք մոդուլը:
Այս տարբերակում մոդուլի հետ փոխարժեքը սահմանվում է 38400: Երկրորդ մեթոդ
  1. Մենք միացնում ենք մոդուլը:
  2. Մենք կիրառում ենք +3.3V KEY ազդանշան ոտքին;
Այս դեպքում մոդուլի հետ փոխարժեքը հավասար կլինի պարամետրերով սահմանված ստանդարտին: Լռելյայն 9600-ն է: AT հրամանի ռեժիմը հաջողությամբ մտնելուց հետո մոդուլի լուսադիոդը կսկսի թարթել երկու վայրկյանը մեկ անգամ:

HC կապի ստուգում

Եկեք ստուգենք HC-05-ի հրամանի ռեժիմը այնպես, ինչպես ստրուկ մոդուլի դեպքում՝ >>: AT <<: լավ >>: AT+VERSION? <<: +ՏԱՐԲԵՐԱԿ:2.0-20100601

HC-05-ի կարգավորումը որպես ստրուկ

Մոդուլը ստրուկի վերածելու համար ձեզ հարկավոր է մի քանի հրամաններ գործարկել. Վերականգնել նախորդ կարգավորումները. AT+ORGL Զուգակցված սարքերի վերակայում. AT + RMAAD Գաղտնաբառի սահմանում. AT+PSWD=1234 Միացնելով ստրկական ռեժիմը. AT+ROLE=0 Բացի այդ, դուք կարող եք պարզել սարքի հասցեն (անհրաժեշտ է զուգակցված մոդուլը կարգավորելու համար). AT+ADDR? Ի պատասխան մենք ստանում ենք հասցեն. ADDR=12:6:143117 Կարգավորումից հետո անջատեք KEY ոտքը +3,3 Վ-ից և վերագործարկեք մոդուլը: Պատրաստ.

HC-05-ի տեղադրում որպես վարպետ

Մոդուլը գալիս է գործարանից՝ որպես ստրուկ, և այն վարպետ դարձնելու համար ձեզ հարկավոր է գործարկել հետևյալ հրամանները։ Վերականգնել նախորդ կարգավորումները. AT+ORGL Զուգակցված սարքերի վերակայում. AT + RMAAD Հիմնական ռեժիմի միացում. AT+ROLE=1 Վերագործարկեք դերի փոփոխությունից հետո. AT+RESET Եթե ​​ցանկանում ենք միացնել ստրուկը և վարպետը, ապա գրում ենք հետևյալ հրամանները. AT+PSWD=1234 Նշեք զուգակցված սարքը. AT+PAIR=<адрес>,<таймаут> (օրինակ: AT+PAIR=12,6,143117,5) Մենք կապվում ենք կոնկրետ հասցեի հետ. AT+BIND=<адрес> (օրինակ: AT+BIND=12,6,143117) Մենք արգելում ենք միանալ այլ հասցեներին. AT+CMODE=0 Պատրաստ. Այժմ մոդուլը միացված է ստրուկին, և ամեն անգամ միացնելով այն կփորձի միանալ դրան։

Շատ հաճախ ձեր նախագծերում անհրաժեշտություն է առաջանում հեռակառավարման կամ տվյալների փոխանցման ձեր հեռախոսային գործիքներից:

Bluetooth-ի միջոցով տվյալների փոխանակման ամենատարածված և տարածված մեթոդներից մեկը .

Այսօր մենք կդիտարկենք պարզ օրինակներ, թե ինչպես միացնել Bluetooth-ը մոդուլ դեպի Arduino և կարգավորեք հեռակառավարումը ձեր հեռախոսից:

Մեզ անհրաժեշտ կլինի.

  • MALE-MAMA լարերի հավաքածու
  • HC-06 Bluetooth

Միացրեք Bluetooth-ը Arduino միկրոկառավարիչի մոդուլն առավել հարմար է MALE-MAMALE լարերի միջոցով:

Արդուինո Bluetooth
Փին 1 (TX) RXD
Pin 0 (RX) TXD
GND GND
5 Վ VCC

Զգույշ եղեք, դուք պետք է միացնեք Տեխաս -> RXD ,RX -> TXD .

Այժմ դուք պետք է գրեք ծրագրի թեստային կոդը.

Էսքիզը բեռնելիս անհրաժեշտ է, որ Bluetooth մոդուլն անջատված լինի arduino միկրոկառավարիչից։ Հակառակ դեպքում ուրվագիծը չի ձայնագրվի Bluetooth-ի հետ կապի պատճառով Մոդուլը հաղորդակցվում է նույն RX և TX պորտերի միջոցով, ինչ USB-ն:

Int val; int LED = 13; void setup() (Serial.begin(9600); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); ) void loop() ( if (Serial.available()) (val = Serial.read();/ / Երբ նիշը «1» է, միացրեք LED-ը, եթե (val == «1») ( digitalWrite(LED, HIGH); ) // Երբ նիշը «0» է, անջատեք LED-ը, եթե (val == «0») (թվային գրել (LED, LOW); )))

Էսքիզը ձայնագրվելուց հետո և Bluetooth-ը Մոդուլը միացված է Arduino-ին, կարող եք անցնել հաջորդ քայլին:

Bluetooth-ի միացում ձեր հեռախոսին

Ցանկալի է օգտագործել ոչ թե USB որպես arduino-ի էներգիայի աղբյուր, այլ արտաքին 9 Վ սնուցման աղբյուր:

  1. Միացրեք Bluetooth-ը ձեր հեռախոսում և փնտրեք նոր սարքեր
  2. Մենք գտնում ենք խանգարումների ցանկում» HC-06" և միացեք դրան:
  3. Հեռախոսը կպահանջի PIN կոդ: դուք պետք է մուտքագրեք « 1234 " կամ " 0000 "
  4. Ուռա։ Սարքը միացված է:

Այժմ դուք պետք է ներբեռնեք Bluetooth տերմինալը ձեր հեռախոսում: Մենք կանդրադառնանք Android պլատֆորմի օրինակին:



Կարող եք տեղադրել տարբեր bluetooth տերմինալներ, որպես կանոն դրանք տարբերվում են միայն տարբեր դիզայնով, ֆունկցիոնալությունը չի փոխվում։ Կարող եք նաև գտնել տերմինալ iOS-ի արտադրանքների համար:

Տերմինալը տեղադրելուց հետո մենք գործարկում ենք այն, ընտրում ենք մեր bluetooth մոդուլը HC-06 և միանում ենք դրան:

Ժամանակն է փորձարկել նախագիծը գործողության մեջ: Տերմինալում գրում ենք «0» թիվը և ուղարկում։ LED L-ը, որը գտնվում է arduino տախտակի վրա, 13-րդ կապի կողքին, պետք է դուրս գա: Այժմ մենք ուղարկում ենք «1» թիվը տերմինալի միջոցով, և L LED-ը պետք է լուսավորվի:

Աշխատանքի ցուցադրում.


Տնային աշխատանք:

  • Փոխեք էսքիզն այնպես, որ լուսադիոդը վառվի և մարի՝ օգտագործելով նույն հրամանը, օրինակ՝ «G»:
  • Լրացրեք էսքիզը և սովորեցրեք նրան փոխակերպել bluetooth-ի միջոցով ստացվող տեքստային տվյալները թվային տվյալների և կիրառել դիմեր, լուսավորել LED-ը PWM-ի միջոցով՝ 0-ից մինչև 254 տրված պայծառությամբ, որը գալիս է Bluetooth-ի միջոցով:

Այս հոդվածում մենք կանդրադառնանք Arduino-ի միացմանը և կառավարմանը Bluetooth-ի միջոցով:

Լայնորեն օգտագործվող HC-06-ը կօգտագործվի որպես Bluetooth մոդուլ։

Մեր նախագծում մենք կմիացնենք և կանջատենք 13-րդ պորտին միացված լուսադիոդը Bluetooth-ի միջոցով:

Սկսենք Android սմարթֆոնի համար հավելված գրելուց։ Հավելվածը գրվելու է հարմար և պարզ ծրագրավորման միջավայրում՝ App Inventor-ում։ Ծրագրերը կկազմվեն առցանց։

Հետևեք http://ai2.appinventor.mit.edu/ հղմանը: Այնտեղ ձեզ կառաջարկվի մուտք գործել Google հաշիվ, որը դուք պետք է ստեղծեք, եթե արդեն չունեք:

Մուտք գործելուց հետո դուք կտեղափոխվեք ծրագիր, որտեղ կարող եք ստեղծել նախագիծ՝ սեղմելով «սկսել նոր նախագիծը»: Դուք պետք է մուտքագրեք նախագծի անունը: Եկեք այն անվանենք led_control:

Կբացվի հայտի դատարկ պատուհան:

Այստեղ մենք կտեղադրենք անհրաժեշտ բաղադրիչները։ Ձախ կողմում գտնվող պատուհանից ընտրեք ListPicker և թողեք այն նախագիծ:

Աջ կողմում գտնվող պատուհանի ListPicker բաղադրիչի համար գտեք Text հատկությունը և փոխեք «Text for ListPicker1»-ը «Select a BT device»:

Ձախ կողմում գտնվող պատուհանում բացեք Layout ներդիրը, տեղադրեք HorizontalArrangement բաղադրիչը հավելվածում, փոխեք դրա Width հատկությունը «Լրացնել ծնողը»: HorizontalArrangement-ին ավելացրեք 2 կոճակ, դրանցից յուրաքանչյուրի Width հատկությունը սահմանեք «Լրացնել ծնողը»: Այն պետք է այսպիսի տեսք ունենա.

Եկեք փոխենք կոճակների պիտակները՝ առաջինի վրա գրվելու է LED ON, երկրորդի վրա՝ LED OFF:

Ստորև մենք կավելացնենք պիտակ և մաքրենք դրա տեքստը:

Մնում է ավելացնել Bluetooth-ի միջոցով տվյալների փոխանցումը կազմակերպող բաղադրիչ: Բացեք Connectivity ներդիրը և տեղադրեք BluetoothClient-ը նախագծում: Այս բաղադրիչը չի հայտնվի հեռախոսի էկրանին, այլ դրա տակ, քանի որ դա տեսողական չէ:

Այժմ դուք կարող եք սկսել գրել ծրագիրը: Ծրագրի վերին աջ մասում ընտրեք Blocks ռեժիմը:

Այստեղ գրաֆիկական բլոկներից ծրագիր կկազմվի։ Ձախ կողմում սեղմեք ListPicker1 բաղադրիչի վրա և ընտրեք ListPicker1.BeforePicking:

Կրկին կտտացրեք ListPicker1-ին և ընտրեք սահմանել ListPicker1.Elements-ը

Տեղադրեք այն, ինչպես սքրինշոթում:

Սա մեզ տալիս է զուգակցված Bluetooth սարքերի ցանկ: Այժմ եկեք միանանք ընտրված սարքին: Գրեք բլոկը, ինչպես ստորև ներկայացված սքրինշոթում:

Կապված պիտակավորված վարդագույն բլոկը Տեքստ ներդիրի առաջին բլոկն է: Դատարկ վանդակում մուտքագրեք Connected:

Հիմա եկեք գրենք կոճակի կարգավորիչ: Երբ սեղմում եք առաջին կոճակը, կուղարկվի «led_on» տեքստը, իսկ երկրորդի վրա սեղմելով՝ «led_off» տեքստը: Կփոխվի նաև Label1-ի մակագրությունը։

Մնում է միայն ներբեռնել նախագիծը ձեր սմարթֆոնի մեջ: Սեղմեք Կառուցել և ընտրեք ներբեռնման եղանակ:

Առաջին տարբերակի համար ձեզ հարկավոր է ինտերնետ և QR կոդ ընթերցող: Սեղմեք և սպասեք մինչև նախագիծը հավաքվի և QR կոդը ստեղծվի, ապա բացեք QR կոդ ընթերցողը ձեր սմարթֆոնի վրա և կարդացեք կոդը: Մնում է միայն ներբեռնել և տեղադրել ֆայլը:

Երկրորդ տարբերակում .apk ձևաչափով նախագիծը կպահվի ձեր համակարգչում և այն կարող եք ներբեռնել սմարթֆոնի մեջ ցանկացած հարմար եղանակով (օրինակ՝ USB-ի միջոցով):

Այժմ սկսենք Arduino ծրագրից:

Տվյալների ընդունումը և փոխանցումն իրականացվում է COM պորտի միջոցով, ուստի մենք կօգտագործենք Serial-ը: Մենք ազդանշաններ կստանանք նիշ առ նիշ, կկազմենք տող և այնուհետև կհամեմատենք ստեղծված տողը led_on և led_off հրամանների հետ:

Արդուինո

String val = ""; void setup() ( Serial.begin(9600); pinMode(13, OUTPUT); ) void loop() ( while (Serial.available()) ( // մինչ տվյալները հասնում են char c = Serial.read(); // կարդալ դրանք val += c; ) else if (val == "led_off") (digitalWrite(13, LOW); val = "" )

String val = "" ;

void setup() (

Սերիալ. սկիզբ (9600);

pinMode (13, OUTPUT);

void loop() (

մինչդեռ (Serial . հասանելի () ) ( // մինչ տվյալները հասնում են

char c = Սերիական: կարդալ (); //կարդա դրանք

val += c ; //և ստեղծել տող

ուշացում (3);

}

Վերբեռնեք կոդը Arduino-ում:

Այժմ դուք կարող եք միացնել HC-06 Bluetooth մոդուլը: Այն կապում է շատ պարզ.

Vcc 5v (3,3 վ հնարավոր է)

ԵԹԵ ՓՈՐՁԵՔ ԲԵՌՆԵԼ ԾՐԱԳԻՐԸ ARDUINO ՄԵՋ ՄԻԱՑՎԱԾ ՄՈԴՈՒԼԻ ՄԵՋ, ՈՐՈՎՀԵՏՎՈՎ ՍԽԱԼ ԿՀԱՍՆՎԻ. ԵՎ ՄՈԴՈՒԼԸ, ԵՎ ԾՐԱԳՐԻ Բեռնումը ՕԳՏԱԳՈՐԾՈՒՄ ԵՆ RX ԵՎ TX նավահանգիստները:

Կիրառեք հոսանք Arduino-ին: Bluetooth մոդուլի լուսադիոդը պետք է թարթվի, սա նշանակում է, որ այն սպասում է միացման: Վերցրեք ձեր սմարթֆոնը, կարգավորումներում գտեք bluetooth, միացրեք այն և սկսեք որոնումը։ Գտեք hc-06 անունով սարքը և միացեք դրան: Հնարավոր է, որ առաջին անգամ չստացվի: Մեկ անգամ հաջող զուգավորումից հետո կարող եք ծրագիրը գործարկել ձեր սմարթֆոնի վրա:

Նախ, սեղմեք «Ընտրեք BT սարքը» և ընտրեք մոդուլը զուգակցված սարքերից: Հաջորդը, սեղմեք LED միացման և անջատման կոճակները: Եթե ​​ամեն ինչ ճիշտ արվի, ամեն ինչ կստացվի։

Մենք շատ պարզ հավելված ենք պատրաստել՝ օգտագործելով Bluetooth՝ առանց դիզայնի կամ նույնիսկ ստուգելու՝ միացված ենք մոդուլին, թե ոչ։ Հետևյալ դասերում մենք կպատրաստենք ավելի բարդ հավելվածներ և ավելի լավ կծանոթանանք App Inventor-ի հետ։

Այս հոդվածը ցույց է տալիս Arduino-ի էսքիզներում ռելեների կառավարման տարբեր տարբերակներ: Օրինակները փորձարկվել են Arduino Uno-ի վրա, բայց դրանք հեշտությամբ կարող են կիրառվել Arduino այլ տախտակների վրա՝ Uno, Mega, Nano:

Միացման դիագրամ

Այս օրինակում մենք օգտագործում ենք ստանդարտ մեկը, որի վրա արդեն տեղադրված են դրան միանալու բոլոր անհրաժեշտ տարրերը: Միացման սխեման շատ պարզ է. Այս դեպքում, պարզության համար, մենք նույնիսկ չենք կարող իրական բեռ միացնել. ռելեը կկտտացնի յուրաքանչյուր վիճակի փոփոխության հետ, մենք կլսենք այս սեղմումները և կհասկանանք, որ էսքիզն աշխատում է:

Էսքիզ ռելեների հետ աշխատելու համար

/* * Արդուինոյի միջոցով ռելե կառավարելու ուրվագիծ * Մենք օգտագործում ենք SONGLE SRD-05VDC ռելեը * Ռելեը ԲԱՑՎՈՒՄ Է, երբ ազդանշանի ցածր մակարդակը (ՑԱԾՐ) կիրառվում է կառավարման փին: * Ռելեը ՓԱԿՎՈՒՄ Է, երբ ազդանշանի բարձր մակարդակը (ԲԱՐՁՐ) կիրառվում է հսկիչ փին: * * Այս օրինակում մենք ուղղակի բացում և փակում ենք ռելեը 5 վայրկյանը մեկ անգամ: * * PIN_RELAY-ը պարունակում է ռելեի միացված պտուտակի համարը, որը մենք կկառավարենք * * Setup ֆունկցիայի մեջ մենք սահմանում ենք ռելեի սկզբնական դիրքը (փակ) * Եթե ռելեին միացված է բեռ (օրինակ. , լամպ), այնուհետև էսքիզը գործարկելուց հետո այն կմիանա և կանջատվի յուրաքանչյուր 5 վայրկյանը մեկ * * Թարթելու ժամանակահատվածը փոխելու համար անհրաժեշտ է փոխել delay() ֆունկցիայի պարամետրը՝ սահմանելով 1000 միլիվայրկյան, դուք ստանում եք 1 վայրկյան։ delay * * Իրական նախագծերում ռելեը միացված է ի պատասխան սենսորների միացման միջոցով ցանկացած արտաքին իրադարձությունների հայտնաբերման * */ #define PIN_RELAY 5 // Սահմանել ռելեը միացնելու համար օգտագործվող փին // Այս ֆունկցիայում մենք սահմանում ենք. սկզբնական կարգավորումները void setup() ( pinMode (PIN_RELAY, OUTPUT); // Ռելեի փին հայտարարեք որպես ելքային թվայինWrite(PIN_RELAY, HIGH); // Անջատեք ռելեը - ուղարկեք բարձր ազդանշան) void loop() ( digitalWrite(PIN_RELAY) , LOW // Միացնել ռելեը - ուղարկել ազդանշանի ցածր մակարդակի հետաձգում(5000); )

Շարժման սենսորով ռելեի կառավարման ուրվագիծ

Իրական նախագծերում ռելեի վիճակի փոփոխությունը պետք է տեղի ունենա ի պատասխան շրջակա միջավայրի ինչ-որ ռեակցիայի: Օրինակ, ի պատասխան շարժման ցուցիչի ազդանշանի, դուք կարող եք միացնել լույսը՝ փակելով շղթան ռելեի միջոցով: Այս ուրվագիծում մենք կանդրադառնանք կապի այս տարբերակին:

Ռելեների միացման դիագրամ

Պետք է հասկանալ, որ իրական նախագծերում նրանք ընդհանրապես անում են առանց Arduino-ի, պարզապես սենսորի ազդանշանի ելքը միացնելով ռելեին:

Էսքիզային օրինակ

Այս օրինակում մենք կավելացնենք հանգույցի հանգույցին PIR սենսորի վիճակի ստուգում՝ օգտագործելով digitalRead() ֆունկցիան: Եթե ​​մենք ստանում ենք HIGH, ապա դա նշանակում է, որ սենսորը գործարկվել է, և մենք կատարում ենք գործողություն՝ միացնել ռելեը: Եթե ​​դրա վրա լամպ ամրացնեք, այն կլուսավորվի: Բայց, ինչպես նախորդ օրինակում, դուք կարող եք պարզապես լսել սեղմումները:

/* PIR սենսորի միջոցով Arduino ռելեի կառավարման ուրվագիծը PIN_RELAY պարունակում է այն փին թիվը, որին միացված է ռելեը, որը մենք կկառավարենք, PIN_PIR պարունակում է կապի համարը միացված PIR սենսորով Setup ֆունկցիայի մեջ մենք սահմանում ենք սկզբնական դիրքը: ռելեի (փակ) Օղակային ֆունկցիայի մարմնում մենք ստուգում ենք սենսորից բարձր ազդանշանի առկայությունը՝ օգտագործելով digitalRead ֆունկցիան Սենսորի ընթացիկ արժեքը վրիպազերծելու համար այն դուրս բերեք պորտի մոնիտորի պատուհանում */ #define PIN_RELAY 8 / / Սահմանեք ռելեին միացնելու համար օգտագործվող փին #define PIN_PIR 5 // Սահմանեք PIR սենսորը միացնելու համար օգտագործվող փին // Այս ֆունկցիայի մեջ մենք սահմանում ենք սկզբնական կարգավորումները void setup() ( Serial.begin(9600); pinMode(PIN_RELAY, OUTPUT // Հռչակել ռելեի փին որպես ելքային թվային Գրել (PIN_RELAY, HIGH // Անջատել ռելեը - ուղարկել բարձր ազդանշան ) void loop() ( int val = digitalRead (PIN_PIR); // Կարդալ արժեքը ից); շարժման սենսորը վերածվում է առանձին փոփոխականի, if (val == HIGH) ( Serial.println ("Sensor triggered"); digitalWrite (PIN_RELAY, LOW); // Միացնել ռելեը - ուղարկել ազդանշանի ցածր մակարդակ ) else ( digitalWrite(PIN_RELAY, HIGH); // Անջատել ռելեը - ուղարկել ազդանշանի բարձր մակարդակ ) delay(1000); // Ստուգեք արժեքները վայրկյանում մեկ անգամ: )