Բովանդակություն:
- Քայլ 1: Հաղորդիչի փոփոխություններ
- Քայլ 2. Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
- Քայլ 3: Մի քանի հղումներ…
- Քայլ 4. Եզրակացություններ և ապագա աշխատանք
Video: Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2: 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Այս հրահանգի առաջին մասում ես ցույց տվեցի, թե ինչպես ծրագրավորել PIC12F1822- ը ՝ օգտագործելով MPLAB IDE և XC8 կոմպիլյատոր, մի պարզ տող անլար ուղարկելու համար ՝ օգտագործելով էժան TX/RX 433MHz մոդուլներ:
Ստացողի մոդուլը միացված էր USB- ին UART TTL մալուխային ադապտեր համակարգչին, իսկ ստացված տվյալները ցուցադրվում էին RealTerm- ում: Հաղորդակցությունը կատարվել է 1200 բաուդ արագությամբ, իսկ առավելագույն հասած տարածությունը `պատերի միջով մոտ 20 մետր: Իմ թեստերը ցույց տվեցին, որ այն ծրագրերի համար, որտեղ տվյալների բարձր արագության և երկար հեռավորության կարիք չկա, և շարունակական փոխանցման համար, այս մոդուլները գործում էին բացառապես լավ:
Այս նախագծի երկրորդ մասը ցույց է տալիս, թե ինչպես ավելացնել ստացողի վրա PIC16F887 միկրոկոնտրոլերը և 16 × 2 նիշանոց LCD մոդուլը: Ավելին, հաղորդիչի վրա կատարվում է պարզ արձանագրություն `մի քանի նախնական բայթերի ավելացումով: Այս բայթերն անհրաժեշտ են, որպեսզի RX մոդուլը կարգավորի իր շահույթը ՝ նախքան բեռնվածությունը ստանալը: Ստացողի կողմից PIC- ը պատասխանատու է LCD էկրանին ցուցադրվող տվյալների ստացման և վավերացման համար:
Քայլ 1: Հաղորդիչի փոփոխություններ
Առաջին մասում հաղորդիչը մի քանի ms- ի համար ուղարկում էր մի պարզ տող `օգտագործելով ութ տվյալների բիթ, սկիզբ և կանգառի բիթ` վայրկյանում 1200 բիթ արագությամբ: Քանի որ փոխանցումը գրեթե շարունակական էր, ստացողը դժվարություն չուներ իր շահույթը կարգավորելու ստացված տվյալներին: Երկրորդ մասում որոնվածը փոփոխվում է այնպես, որ փոխանցումը կատարվում է յուրաքանչյուր 2.3 վայրկյանում: Դա ձեռք է բերվում դիտորդի ժամաչափի ընդհատման միջոցով (սահմանել 2.3 վրկ) `միկրոկոնտրոլերն արթնացնելու համար, որը յուրաքանչյուր հաղորդման միջև դրվում է քնի ռեժիմում:
Որպեսզի ստացողը ժամանակ ունենա իր եկամուտը ճշգրտորեն ճշգրտելու համար, մի քանի նախաբայթ բայթ կարճ LO ժամանակով "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" ուղարկվում են իրական տվյալներից առաջ: Payանրաբեռնվածությունն այնուհետև նշվում է սկզբնական «&» և «*» բայթերով:
Այսպիսով, պարզ արձանագրությունը նկարագրվում է հետևյալ կերպ.
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Բարև InstWorld!*
Ավելին, 10uF տարանջատող տանտալ կոնդենսատորը ավելացվում է ՌԴ մոդուլի V+-ի և GND- ի միջև `dc-dc step up մոդուլից առաջացած ալիքից ազատվելու համար:
Բաուդի արագությունը մնաց անփոփոխ, սակայն իմ թեստերը ցույց տվեցին, որ 2400 բաուդ արագությամբ փոխանցման տուփը նույնպես արդյունավետ էր:
Քայլ 2. Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի դիզայնը հիմնված էր PIC16F887- ի վրա, բայց դուք կարող եք օգտագործել այլ PIC ՝ փոքր փոփոխություններով: Իմ նախագծում ես օգտագործեցի այս 40 pin pin μC- ն, քանի որ այս դիզայնի վրա հիմնված ապագա նախագծերի համար ինձ կպահանջվեն լրացուցիչ կապիչներ: ՌԴ մոդուլի ելքը միացված է UART rx քորոցին, մինչդեռ 16x2 նիշ LCD (HD44780) միացված է PORTB կապումներով b2-b7 ստացված տվյալները ցուցադրելու համար:
Ինչպես 1 -ին մասի դեպքում, ստացված տվյալները նույնպես ցուցադրվում են RealTerm- ում: Դա ձեռք է բերվում UART tx կապի միջոցով, որը միացված է USB- ին UART TTL մալուխային ադապտեր համակարգչին:
Նայելով որոնվածը, երբ UART- ի ընդհատում է տեղի ունենում, ծրագիրը ստուգում է, արդյոք ստացված բայթը սկզբնական բայթ է ('&'): Եթե այո, ապա այն սկսում է գրանցել հաջորդ բայթերը, մինչև որևէ բայթ չբռնվի ('*'): Ամբողջ նախադասությունը ձեռք բերելուն պես, և եթե այն համապատասխանում է նախկինում նկարագրված պարզ արձանագրությանը, ապա այն ուղարկվում է LCD էկրանին, ինչպես նաև UART tx նավահանգստին:
Նախքան սկզբնական բայթ ստանալը, ստացողն արդեն ճշգրտել է իր շահույթը `օգտագործելով նախորդ նախաբայլի բայթերը: Դրանք չափազանց կարևոր են ստացողի անխափան աշխատանքի համար: Կատարվում է պարզ գերանցման և շրջանակման սխալի ստուգում, սակայն սա միայն UART- ի սխալի կառավարման հիմնական իրականացում է:
Սարքավորման առումով ստացողի համար անհրաժեշտ են մի քանի մասեր.
1 x PIC16F887
1 x HD44780
1 x ՌԴ Rx մոդուլ 433 ՄՀց
1 x 10 μF տանտալ կոնդենսատոր (անջատում)
1 x 10 K հարմարվողական (LCD տառատեսակի պայծառություն)
1 x 220 Ω 1/4 Վտ դիմադրություն (LCD լուսավորություն)
1 x 1 KΩ 1/4 Վտ
1 x Անտենա 433 ՄՀց, 3 դբի
Գործնականում ստացվածը բացառապես լավ էր աշխատում մինչև 20 մետր տարածքով պատերով:
Քայլ 3: Մի քանի հղումներ…
Համացանցում կան բազմաթիվ բլոգեր, որոնք խորհուրդներ են տալիս PIC ծրագրավորման և խնդիրների լուծման վերաբերյալ, բացի Microschip- ի պաշտոնական կայքից: Ես գտա հետևյալը շատ օգտակար.
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
Քայլ 4. Եզրակացություններ և ապագա աշխատանք
Հուսով եմ, որ այս խրատը կօգնի ձեզ հասկանալ, թե ինչպես օգտագործել ՌԴ մոդուլները և Pic միկրոկոնտրոլերները: Դուք կարող եք ձեր որոնվածը հարմարեցնել ձեր սեփական կարիքներին և ներառել CRC և ծածկագրում: Եթե ցանկանում եք ձեր դիզայնը դարձնել ավելի բարդ, կարող եք օգտագործել Microschip- ի Keeloq տեխնոլոգիան: Եթե ձեր ծրագրին անհրաժեշտ են երկկողմանի տվյալներ, ապա ձեզ հարկավոր է ունենալ մի զույգ TX/RX երկու միկրոկոնտրոլերներում կամ կարող եք օգտագործել ավելի բարդ հաղորդիչ մոդուլներ: Այնուամենայնիվ, օգտագործելով այս տեսակի էժան 433 ՄՀց մոդուլներ, կարող է իրականացվել միայն կես դուպլեքս հաղորդակցություն: Բացի այդ, հաղորդակցությունն ավելի հուսալի դարձնելու համար հարկավոր է ձեռքսեղմման ինչ -որ ձև ունենալ TX- ի և RX- ի միջև:
Հաջորդ հրահանգի ընթացքում ես ձեզ ցույց կտամ գործնական ծրագիր, որտեղ հաղորդիչի վրա ավելացվում է ջերմաստիճանի, բարոմետրիկ ճնշման և խոնավության բնապահպանական տվիչ: Այստեղ փոխանցվող տվյալները կներառեն crc և կունենան հիմնական ծածկագրում:
Սենսորը կօգտագործի PIC12F1822- ի i2c նավահանգիստը, մինչդեռ հաղորդիչի և ընդունիչի իրականացումը կցուցադրվի սխեմատիկ և pcb ֆայլերի միջոցով: Շնորհակալություն ինձ կարդալու համար:
Խորհուրդ ենք տալիս:
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E - Rf հեռակառավարման պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախությամբ ՝ 5 քայլ
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E | Rf հեռակառավարման սարքի պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախականությամբ. HT12D ապակոդավորող IC: Այս հրահանգով դուք կարող եք ուղարկել և ստանալ տվյալներ ՝ օգտագործելով շատ էժան բաղադրիչներ, ինչպիսիք են ՝ HT
Costածրարժեք անլար տվիչների ցանց ՝ 433 ՄՀց հաճախականությամբ ՝ 5 քայլ (նկարներով)
Costածր գնով անլար տվիչների ցանց 433 ՄՀց հաճախականությամբ. Շատ շնորհակալություն Թերեզա Ռաջբային ՝ այս հոդվածում տեղ գտած հրապարակումներից ստացված տվյալները օգտագործելու համար: ցանցեր? Պարզ սահմանում
Անլար հաղորդակցություն ՝ օգտագործելով NRF24L01 հաղորդիչ մոդուլը Arduino- ի վրա հիմնված նախագծերի համար. 5 քայլ (նկարներով)
Անլար հաղորդակցություն ՝ օգտագործելով NRF24L01 հաղորդիչ մոդուլը Arduino- ի վրա հիմնված նախագծերի համար. Սա իմ երկրորդ ուսանելի ձեռնարկն է ռոբոտների և միկրոկարգավորիչների մասին: Իսկապես զարմանալի է տեսնել ձեր ռոբոտին կենդանի և աշխատած սպասվածի պես: Հավատացեք ինձ, ավելի զվարճալի կլինի, եթե արագ և արագ կառավարեք ձեր ռոբոտին կամ անլար այլ իրերին:
Լուսավորեք լույսերը NES Zapper- ով (ՌԴ 433 ՄՀց) ՝ 6 քայլ (նկարներով)
Լուսավորեք լույսերը NES Zapper- ով (ՌԴ 433 ՄՀց). Ինչու՞ անջատել լույսերը անջատիչով, եթե կարող եք դրանք նկարել ձեր NES Zapper- ով: Ես արդեն լազերային լույս կառուցեցի հին կոտրված NES Zapper- ում, երբ այս միտքը ծագեց իմ գլխում: Այն ավելի դուր եկավ, ուստի լազերային լույսը փոխարինեցի դրանով: Իդեալական մասնագետ
4 ճանապարհ լուսացույցի համակարգ `օգտագործելով 5 Arduinos և 5 NRF24L01 անլար մոդուլներ. 7 քայլ (նկարներով)
4 Traանապարհային լուսացույցի համակարգ ՝ օգտագործելով 5 Arduinos և 5 NRF24L01 անլար մոդուլներ. Քիչ առաջ ես ստեղծեցի «Ուղեցույց», որը մանրամասն նկարագրում էր տախտակի վրա մեկ զույգ լուսացույց: Ես նաև ստեղծեցի մեկ այլ հրահանգ, որը ցույց է տալիս NRF24L01 անլար մոդուլի օգտագործման հիմնական շրջանակը: Սա մտածելու տեղիք տվեց: Շատ բան կա