Satura rādītājs:
- 1. darbība: raidītāja modifikācijas
- 2. darbība: uztvērēja modifikācijas: PIC16F887 un HD44780 LCD pievienošana
- 3. darbība: dažas atsauces…
- 4. solis. Secinājumi un turpmākais darbs
Video: Bezvadu sakari, izmantojot lētus 433MHz RF moduļus un Pic mikrokontrollerus. 2. daļa: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šīs pamācības pirmajā daļā es parādīju, kā programmēt PIC12F1822, izmantojot MPLAB IDE un XC8 kompilatoru, lai bezvadu režīmā nosūtītu vienkāršu virkni, izmantojot lētus TX/RX 433 MHz moduļus.
Uztvērēja modulis tika savienots ar datoru, izmantojot USB un UART TTL kabeļa adapteri, un saņemtie dati tika parādīti RealTerm. Sakari tika veikti ar 1200 baudām, un maksimālais sasniegtais diapazons bija aptuveni 20 metri caur sienām. Mani testi parādīja, ka lietojumprogrammām, kurās nav nepieciešams liels datu pārraides ātrums un liels attālums, kā arī nepārtrauktai pārraidei, šie moduļi darbojās ārkārtīgi labi.
Šī projekta otrā daļa parāda, kā uztvērējam pievienot PIC16F887 mikrokontrolleru un 16 × 2 rakstzīmju LCD moduli. Turklāt raidītājā tiek ievērots vienkāršs protokols, pievienojot dažus priekšparauga baitus. Šie baiti ir nepieciešami, lai RX modulis pielāgotu savu pieaugumu pirms faktiskās lietderīgās slodzes iegūšanas. Uztvērēja pusē PIC ir atbildīgs par LCD ekrānā parādīto datu iegūšanu un apstiprināšanu.
1. darbība: raidītāja modifikācijas
Pirmajā daļā raidītājs ik pēc dažām ms nosūtīja vienkāršu virkni, izmantojot astoņus datu bitus, sākumu un apturēšanas bitu ar ātrumu 1200 biti sekundē. Tā kā pārraide bija gandrīz nepārtraukta, uztvērējam nebija grūtību pielāgot ieguvumu saņemtajiem datiem. Otrajā daļā programmaparatūra tiek modificēta tā, lai pārraide tiktu veikta ik pēc 2,3 sekundēm. Tas tiek panākts, izmantojot sargsuņa taimera pārtraukumu (iestatīts uz 2,3 s), lai pamodinātu mikrokontrolleri, kas tiek ieslēgts miega režīmā starp katru pārraidi.
Lai uztvērējam būtu laiks precizēt savu ieguvumu, pirms reāliem datiem tiek nosūtīti daži preambulas baiti ar īsu LO laiku "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)". Pēc tam kravnesība tiek apzīmēta ar sākuma & zīmi un pieturas punktu*.
Tādējādi vienkāršais protokols ir aprakstīts šādi:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) un labdien InstWorld!*
Turklāt starp RF moduļa V+ un GND ir pievienots 10uF atvienojošais tantala kondensators, lai atbrīvotos no pulsācijas, ko izraisa līdzstrāvas pastiprināšanas modulis.
Bodu ātrums palika nemainīgs, tomēr mani testi parādīja, ka arī ar 2400 bodu pārraide bija efektīva.
2. darbība: uztvērēja modifikācijas: PIC16F887 un HD44780 LCD pievienošana
Uztvērēja dizains tika balstīts uz PIC16F887, bet jūs varat izmantot citu PIC ar nelielām izmaiņām. Savā projektā es izmantoju šo 40 kontaktu μC, jo turpmākajos projektos, kuru pamatā ir šis dizains, man būs vajadzīgas papildu tapas. RF moduļa izeja ir savienota ar UART rx tapu, bet 16x2 rakstzīmju LCD (HD44780) ir savienots caur PORTB tapām b2-b7, lai parādītu saņemtos datus.
Tāpat kā 1. daļā, saņemtie dati tiek parādīti arī vietnē RealTerm. Tas tiek panākts, izmantojot UART tx tapu, kas ir savienots ar datoru, izmantojot USB - UART TTL kabeļa adapteri.
Aplūkojot programmaparatūru, kad notiek UART pārtraukšana, programma pārbauda, vai saņemtais baits ir sākuma baits ('&'). Ja jā, tas sāk ierakstīt nākamos baitus, līdz tiek fiksēts pieturas baits ('*'). Tiklīdz viss teikums ir iegūts un tas atbilst iepriekš aprakstītajam vienkāršajam protokolam, tas tiek nosūtīts uz LCD ekrānu, kā arī uz UART tx portu.
Pirms sākuma baita saņemšanas uztvērējs jau ir pielāgojis savu pastiprinājumu, izmantojot iepriekšējos preambulas baitus. Tie ir ļoti svarīgi uztvērēja nevainojamai darbībai. Tiek veikta vienkārša pārsniegšanas un kadrēšanas kļūdu pārbaude, taču tā ir tikai pamata UART kļūdu apstrādes ieviešana.
Aparatūras ziņā uztvērējam ir nepieciešamas dažas detaļas:
1 x PIC16F887
1 x HD44780
1 x RF Rx modulis 433Mhz
1 x 10 μF tantala kondensators (atvienošana)
1 x 10 K trimmeris (LCD fonta spilgtums)
1 x 220 Ω 1/4 W rezistors (LCD apgaismojums)
1 x 1 KΩ 1/4 W
1 x antena 433Mhz, 3dbi
Praksē uztvertā ierīce darbojās ārkārtīgi labi diapazonā līdz 20 metriem pa sienām.
3. darbība: dažas atsauces…
Papildus oficiālajai Microschip vietnei tīmeklī ir daudz emuāru, kas sniedz padomus par PIC programmēšanu un problēmu novēršanu. Man ļoti noderēja sekojošais:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
4. solis. Secinājumi un turpmākais darbs
Es ceru, ka šī pamācība palīdzēja jums saprast RF moduļu un Pic mikrokontrolleru izmantošanu. Jūs varat pielāgot programmaparatūru savām vajadzībām un iekļaut CRC un šifrēšanu. Ja vēlaties padarīt savu dizainu vēl sarežģītāku, varat izmantot Microschip Keeloq tehnoloģiju. Ja jūsu lietojumprogrammai nepieciešami divvirzienu dati, jums abos mikrokontrolleros ir jābūt TX/RX pārim, vai arī varat izmantot sarežģītāku raiduztvērēju. moduļi. Tomēr, izmantojot šāda veida lētus 433MHz moduļus, var sasniegt tikai daļēji divpusēju komunikāciju. Turklāt, lai padarītu saziņu uzticamāku, starp TX un RX ir nepieciešama rokasspiediena forma.
Nākamajā pamācībā es parādīšu praktisku pielietojumu, kurā raidītājam ir pievienots vides sensors ar temperatūru, barometrisko spiedienu un mitrumu. Šeit pārsūtītie dati ietvers crc un tiem būs pamata šifrēšana.
Sensors izmantos PIC12F1822 i2c portu, savukārt raidītāja un uztvērēja ieviešana tiks atklāta, izmantojot shēmas un PCB failus. Paldies, ka lasījāt mani!
Ieteicams:
Liels attālums, 1,8 km, no Arduino līdz Arduino bezvadu sakari ar HC-12: 6 soļi (ar attēliem)
Liels attālums, 1,8 km, no Arduino līdz Arduino bezvadu sakari ar HC-12: Šajā pamācībā jūs uzzināsit, kā sazināties starp Arduinos lielā attālumā līdz 1,8 km brīvā dabā. HC-12 ir bezvadu seriālais ports komunikācijas modulis, kas ir ļoti noderīgs, ārkārtīgi spēcīgs un viegli lietojams. Vispirms jūs atradīsit
Bezvadu sakari, izmantojot NRF24L01 uztvērēja moduli Arduino projektiem: 5 soļi (ar attēliem)
Bezvadu sakari, izmantojot NRF24L01 uztvērēja moduli Arduino projektiem: šī ir mana otrā pamācība par robotiem un mikrokontrolleriem. Ir patiešām pārsteidzoši redzēt, ka jūsu robots ir dzīvs un strādā, kā paredzēts, un ticiet man, ka būs jautrāk, ja vadīsit savu robotu vai citas lietas bezvadu režīmā ar ātru un
Vienkāršs RPM mērītājs, izmantojot lētus moduļus: 8 soļi
Vienkāršs apgriezienu skaitītājs, izmantojot lētus moduļus: Šis ir ļoti interesants projekts un izmanto ļoti maz pūļu, lai izveidotu ļoti vienkāršu RPM mērītāju (manā gadījumā apaļš)
Izveidojiet divkāršu 15 V barošanas avotu, izmantojot plauktu moduļus zem 50 USD: 10 soļi (ar attēliem)
Izveidojiet divkāršu 15 V barošanas avotu, izmantojot plauktu moduļus, kuru cena ir mazāka par 50 ASV dolāriem: Ievads. Ja esat hobijs, kas nodarbojas ar audio, jūs iepazīsities ar divu sliežu barošanas avotiem. Lielākajai daļai mazjaudas audio dēļu, piemēram, priekšpastiprinātājiem, ir nepieciešams no +/- 5V līdz +/- 15V. Pateicoties divkārša sprieguma barošanas avotam, tas ir tik
4 virzienu luksoforu sistēma, izmantojot 5 Arduinos un 5 NRF24L01 bezvadu moduļus: 7 soļi (ar attēliem)
4 virzienu luksoforu sistēma, izmantojot 5 Arduinos un 5 NRF24L01 bezvadu moduļus: Pirms neilga laika es izveidoju instrukciju, kurā sīki aprakstīts viens luksoforu pāris uz maizes dēļa. Es arī izveidoju citu Instructable, kurā parādīts NRF24L01 bezvadu moduļa izmantošanas pamata ietvars. lika aizdomāties! Ir diezgan daudz