Turinys:

Signalo kodo komunikatoriai (RFM69): 7 žingsniai (su paveikslėliais)
Signalo kodo komunikatoriai (RFM69): 7 žingsniai (su paveikslėliais)

Video: Signalo kodo komunikatoriai (RFM69): 7 žingsniai (su paveikslėliais)

Video: Signalo kodo komunikatoriai (RFM69): 7 žingsniai (su paveikslėliais)
Video: Magical Girl Spec-Ops Asuka OP Full【AMV】|『KODO』by nonoc [HD] 2024, Liepa
Anonim
Signalo kodo komunikatoriai (RFM69)
Signalo kodo komunikatoriai (RFM69)
Signalo kodo komunikatoriai (RFM69)
Signalo kodo komunikatoriai (RFM69)

Šie „2 bitų“(skaitmeniniai) radijo komunikatoriai suteikia galimybę vienas kitam pranešti (kur jie yra; jei jie tai padarė …), kai apsiperkate priešingose didelės dėžutės parduotuvės galuose; net ten, kur mobilieji telefonai neturi paslaugos ar mobiliojo telefono baterijos.

Naudojami RFM69 915MHz radijo moduliai. Jie yra labai efektyvūs, mažos galios radijo imtuvai, naudojantys skaitmeninį paketinį ryšį. Jie gali bendrauti daugiau nei 100 metrų, naudojant mažą galią, tik 10 sekundžių miliamperių ir net 1/2 kilometro ar net 1/2 mylios, naudojant maždaug 120 mA.

Radijo moduliai RFM69 yra daug efektyvesni ir efektyvesni didesniais atstumais nei NRF24L01 arba RFM12.

Siekiant dar patikimesnių, tolimesnių jungčių, šis projektas taip pat galėtų būti panaudotas su panaudotais „LoRa“radijo moduliais. Yra keletas panašaus dydžio ir sąsajos „LoRa“įrenginių (pvz., RFM95). Bet jie kainuoja daug daugiau, o tai man buvo nepagrįsta.

Vienetai palaiko skaitmeninių, 10-20 (vieta?) Stiliaus klausimų ir atsakymų kodų rinkinį (žr. Wiki/Dešimt kodų https://en.wikipedia.org/wiki/Ten-code); taip pat pasirenkamas Morzės kodas. Įrenginiai nepalaiko jokio balso (analoginio) ryšio.

Jie taip pat gali būti naudojami kaip peidžeriai su trijų lygių dėmesio prašymais, kai kas nors sveikinasi ar dirba po namu.

Be to, jie gali būti labai įdomūs, ypač vaikams ar studentams.

1 žingsnis: Surinkite komponentus

Kadangi radijo modulis negali valdyti 5 V maitinimo ar signalo įtampos, turite naudoti 3,3 V MCU. Taip pat atkreipkite dėmesį, kad naudoju „H“didelės galios radijo modulių versiją.

Šiame sąraše yra 2 vienetai.

  • Kiekis 2 „Pro Mini 3.3v Arduino MCU“https://www.ebay.com/itm/112025725033
  • Kiekis 2 RFM-69HCW 915MHz moduliai
  • Kiekis 2 Dėklas (turėjo būti baterijų skyrius)
  • Kiekis 2 ličio jonų 3.7v 200+mah baterijos https://www.ebay.com/itm/311682151405 (7x20x30mm, ~ Maksimalus tinkamas naudoti dydis 9x24x36mm)
  • Kiekis 4 raudonai žalios spalvos 5 mm bendrojo katodo dviejų spalvų šviesos diodai https://www.ebay.com/itm//112318970450 (svarbu laidų ir gedimo įtampa)
  • Kiekis 4 6x6x7,5 mm mygtukų jungikliai
  • Kiekis 2 „Piezo“aktyvus garsinis signalas
  • Kiekis 2 rezistoriai … 270 Olm, 1.5kOlm, ~ 5k
  • Kiekis 2 0,1 uf monolitinis dangtelis

Neprivaloma

  • Kiekis 2 3 mm balti (arba mėlyni) šviesos diodai
  • Kiekis 2 3,5 mm „Phono“lizdai
  • Kiekis 2 220uf galios filtro kondensatorius
  • Popsicle lazdelė

Kiti reikmenys, kurių jums gali prireikti

30ga viela kieta https://www.ebay.com/itm/142255037176, 26 g vielos kietoji arba 24 g vielos viela, skirta gruntui ir +V

22ga viela kieta, antenai

Įvairūs: litavimo reikmenys, juosta, karšti klijai, prototipų kūrimo įrankiai.

USB į TTL keitiklis

Papildoma aparatinė įranga:

Stereofoninis lizdas ausinėms prijungti, kad nepraleistumėte gaunamų ryšių. Taip pat prie jo galima prijungti nešiojamąjį garsiakalbių stiprintuvą.

Mažas (3 mm) baltas šviesos diodas yra neprivalomas. Aš pridėjau jį, kad jis tarnautų kaip ON indikatorius. Tai buvo paprasta pridėti, kai prijungiau jį per Btn1, kuriam suteikiama tam tikra pavaros srovė iš vidinio rezistoriaus (~ 37k). Esant tokiai mažai pavarai, šis šviesos diodas turi būti labai efektyvus. Galima naudoti žalią, o gal mėlyną šviesos diodą, bet ne geltoną ar raudoną, nes jų įtampos kritimas yra per mažas ir atrodytų, kad mygtukas yra paspaustas. Nenaudosiu žalios spalvos, nes ta spalva kitaip naudojama signalinei informacijai.

Fono lizdo taip pat galima praleisti. Šis prietaisas nesukelia daug triukšmo, tačiau jei esate susirūpinęs, kaip atkreipti kitų dėmesį, jis suteikia galimybę naudoti ausinį telefoną. Kitu atveju, skiautelės juostelės gabalas virš garso skylės yra veiksmingas.

Kad visi matavimai būtų lengvi ir tikslūs, man labai patinka šis nebrangus apkaba.

2 žingsnis: Sukurkite MCU radijo posistemį

Sukurkite MCU radijo posistemį
Sukurkite MCU radijo posistemį
Sukurkite MCU radijo posistemį
Sukurkite MCU radijo posistemį
Sukurkite MCU radijo posistemį
Sukurkite MCU radijo posistemį

Prijunkite trumpus laidus prie MCU kaiščių: 10, 11, 12, 13; vidutinio ilgio viela prie kaiščio2.

Pridėkite ilgus (4-5 colius) prie naudojamų MCU įvesties/išvesties kaiščių (kaiščiai: 3–9). Periferiniams tipams naudojau 30 AWG matuoklį ir skirtingas spalvas. Ši mažo skersmens viela gali valdyti signalus, mažesnius nei 100 miliamperų, tačiau ji yra pakankamai maža ir pakankamai lanksti (ir labai rekomenduojama), kad būtų lengviau surinkti.

Taip pat prijunkite pagrindą ir Vcc laidus (naudojau 26ga, jie yra mėlyni nuotraukose). Šie laidai turi daugiau srovės, todėl naudokite didelį matuoklį, kad sumažintumėte įtampos kritimą (ir galimą triukšmo signalo spinduliuotę).

Prijunkite MCU prie RFM-69 plokštės. Visi, išskyrus ilgus laidus, eina į jį.

Sulenkite radijo plokštę žemyn virš MCU plokštės. Tarp lentų neturėtų būti šortų. Jei atrodo, kad trumpas potencialas yra realus, naudokite tarpinę juostos ar plastiko lakšto dalį.

Įdėkite antenos laidą (22-24ga. 80mm) ant radijo plokštės, kaip parodyta nuotraukoje.

3 žingsnis: plėtros testavimas

Vystymosi testavimas
Vystymosi testavimas
Vystymosi testavimas
Vystymosi testavimas

Norėdami įgyvendinti šiuos įrenginius, galite praleisti šį skyrių. Tiems, kurie domisi, tai suteikia šiek tiek daugiau informacijos apie tai, kaip aš ten patekau.

915 MHz bangos ilgis yra 82 mm. „Sparkfun.com“pamokoje siūloma naudoti 78 mm. Aš suprantu, kad antenos technologija sako, kai antena yra ½ bangos ilgio nuo žemės, jūsų antena elgsis taip, lyg būtų ~ 5% ilgesnė nei yra. Kalbant apie 915 MHz, tai būtų mažiau nei pėda, ir paprastai jūs naudojate šį įrenginį daug aukščiau nuo žemės nei aš, aš atmetu šį 78 mm ilgį. Tačiau yra ir kitų veiksnių, galinčių sukelti panašų poveikį, todėl protinga naudoti mažesnį nei tiksliai ¼ bangos ilgį. Aš padariau kompromisą ir nukirpiau antenos laidus iki 80 mm (įskaitant skyrių, einantį per PCB). Naudodami tinkamą bandymo įrangą, galėtumėte geriau optimizuoti savo antenos ilgį savo įrenginiui, tačiau tikiuosi tik nedidelių patobulinimų.

Po koregavimų gavau apie 250 m maksimalų diapazoną su tam tikromis kliūtimis. Virš 150 metrų antenos orientacija ir padėtis tapo vis svarbesnė.

Kai naudojau visą dipolio tipo antenos konfigūraciją (vertikalus 80 mm aktyvus elementas priešais žemyn nukreiptą 80 mm įžeminimo laido elementą) vienam įrenginiui, su bandymų ir klaidų padėtimi, iki 400 metrų su keliais medžiais ir namu tarp jų, ir tvirtą 2 krypčių komunikaciją ½ tokio atstumo, nepriklausomai nuo nuotolinio įrenginio padėties ar padėties.

4 žingsnis: Paruoškite projekto dėžutę

Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę
Paruoškite projekto dėžutę

Šio projekto statyba naudojant mažą dėžutę yra gana sudėtinga. Turiu patirties kuriant daugybę individualių elektroninių „gizmo“namų, pramonės ir kosmoso projektams. Naujokas gali naudoti didesnę konteinerių dėžę, todėl konstrukcija bus daug lengvesnė. Galų gale tai yra malonumas, kurio mes ieškome, o ne nusivylimas. BTW, galite pastebėti nedidelius skirtumus mano sukurtų įrenginių nuotraukose.

Išvalykite didžiąją dalį dėžutės vidinės pusės. Kaltu arba „X-acto“peiliu nupjaukite du šonkaulius dešinėje ir vieną kairėje. (žr. dėžutės vidinę nuotrauką prieš ir po)

Pašildykite „X-acto“arba peilio galą (~ 15 sekundžių, naudodamiesi žiebtuvėliu) ir nupjaukite vieną didelį stulpą, esantį dėklo viduje, o kitus du nuleiskite iki maždaug 1/8 colio. Sumontavęs jungiklį, aš pakankamai ištirpinau tuos du stulpelius, kad laikyčiau jungiklį.

Aš naudoju maskavimo juostą ant dėžutės, kad pažymėčiau skylių vietas. Žiūrėkite aukščiau esančias nuotraukas.

Kad skylės būtų gręžiamos ant žymės, pirmiausia pažymėjau taškus smiginio smaigaliu, tada išgręžiau visas vietas 1/16 antgaliu, tada galiausiai išgręžiau norimą dydį.

Gręžkite skyles mygtukams, garsui ir šviesos diodams. Dvi skylės pagrindiniams šviesos diodams viršuje yra 13/64 colių (5 mm) ir yra 10 mm atstumu nuo krašto. Garsui skirtos skylės (pyptelėjimas-garsinis signalas) ir papildomas „On“šviesos diodas yra 1/8 colio (3 mm). Jie yra 10 mm atstumu nuo viršaus. Mažas šviesos diodas yra 7 mm nuo šono. Garso anga yra centre iš vienos pusės į kitą. Mygtukų angos šone yra 9/16 colių (3,5 mm). Vienas mygtukas yra 10 mm nuo viršaus, kitas - 20 mm. Mygtuko skylių vidų rankomis nukirpau 1/4 colio grąžtu, kad būtų užtikrinta, jog paspaudus mygtukai neužstrigs.

Jei išorinėms ausinėms ar garsiakalbiui naudojate foninį lizdą, turite atidaryti apačioje esančią skylę iki 15/64 colių. Medžiaga čia yra gana stora ir tiesiog bandant ją išgręžti, skylė būtų per arti krašto. Taigi, pirmiausia gręžkite 1/16 skylę, kurios centras yra maždaug 16 colių atstumu nuo esamos angos krašto. Tada padidinkite tą skylę 7/16 colio antgaliu. Aštriu mažu peiliuku (~ Xacto) nupjaukite medžiagą taip, kad dvi gretimos skylės būtų maždaug viena. Naudokite „Dremel“spiralinį ąsotį arba žiurkės uodegos dildę, kad skylės sudarytų apvalią skylę, kad grąžtas lengvai įsitvirtintų. Šiuo metu skylė turėtų būti beveik 15/64. (Šiuo metu yra skylės nuotrauka) Dabar gręžkite ją 15/64 colio antgaliu. Tai nebūtų „siaubinga“, jei naudosite ¼ bitą.

5 žingsnis: periferinių įvesties/išvesties komponentų tvirtinimas

Periferinių įvesties/išvesties komponentų tvirtinimas
Periferinių įvesties/išvesties komponentų tvirtinimas
Periferinių įvesties/išvesties komponentų tvirtinimas
Periferinių įvesties/išvesties komponentų tvirtinimas
Periferinių įvesties/išvesties komponentų tvirtinimas
Periferinių įvesties/išvesties komponentų tvirtinimas

Lituodami korpuso ribose įsitikinkite, kad netyčia neleidžiate liesti jokios lygintuvo dalies ir taip ištirpsite dalį dėžutės, ypač išilgai jos išorinio krašto.

Mygtukai

Pritvirtinkite mygtukus nedideliu kiekiu klijų. Karšti klijai yra gerai, ploni klijai (pvz., Super klijai) gali patekti į mygtuką, todėl jie neveiks. Atkreipkite dėmesį, kad prie kiekvieno mygtuko buvau pašalinęs vieną koją (nereikalingas, nesijungiau); juos sulenkė, kad per daug neišsikištų; ir sujungė du apatinius kaiščius tarp mygtukų. Mygtukai yra išdėstyti taip, kad viduje sujungtos kojos būtų horizontaliai viena prieš kitą.

Sulenkite 3 mm „įjungimo/išjungimo“šviesos diodų laidus, kad juos būtų galima prijungti per Btn1, jo katodui einant į žemės pusę. Tai turbūt sudėtingiausia surinkimo problema.

Pažymėkite šviesos diodų šoną šalia raudono anodo. Iškirpkite du anodus (išorėje) iki maždaug ¼ colio. nukreipkite juos pažymėtu (raudonu) švinu aukštyn. Palikite centrinį laidą ilgą laiką, vėliau jie yra sulenkti, kad prisijungtų prie žemutinės mygtukų pusės. Žiūrėkite nuotraukas.

Pritvirtinkite rezistorius.

Tiesiog nenaudokite vertės rezistorių, kuriuos padariau šviesos diodams. Aš nusipirkau savo šviesos diodus daugiau nei prieš metus, o ne tiksliai tuos, kurie išvardyti aukščiau. Kadangi šviesos diodų efektyvumas labai skiriasi, išbandykite rezistorių vertes, skirtas naudoti su rankose esančiais šviesos diodais. Pasirinkite norimo ryškumo rezistorius, kurių pavaros įtampa yra nuo 3 iki 3,3 voltų (pageidautina 3,2 V). Norėdami išbandyti maitinimo įtampą, galite naudoti dvi 1,5 V baterijas nuosekliai arba didelę skaitmeninę išvestį iš 3,3 V maitinamo „Arduino“lusto. Įsitikinkite, kad vairuodami tiek raudonus, tiek žalius elementus gausite tikrą geltoną spalvą. Apipjaustykite ir lituokite rezistorius prie šviesos diodų, panašių į tai, kaip matyti nuotraukose.

Viename įrenginyje aš panaudojau „Popsicle“lazdelę kaip tarpiklį aplink du pagrindinius šviesos diodus, kad jie nebūtų tiek išsikišę. Tai griežtai asmeninis pasirinkimas. Tai turi neigiamą šalutinį poveikį, nes sumažėja efektyvus šių šviesos diodų ryškumas / žiūrėjimo kampas.

Užtepkite šiek tiek klijų išilgai garsinio signalo krašto ir priklijuokite jį tarp pagrindinių šviesos diodų (+ dešinėje). Sureguliuokite jo padėtį taip, kad ji sutaptų su korpuso anga, kol ji nebus pritvirtinta.

Įjungimo/išjungimo jungiklis laikomas vietoje, lydant tvirtinimo angos stulpus. Šiam tikslui aš naudoju šildomą antgalį mažam atsuktuvui.

„Phono“lizdo veržlė nėra pritvirtinta, todėl užfiksuokite priešingame gale esančius karštus klijus.

Prijunkite žemę išilgai mygtukų ir šviesos diodų.

Paruoškite pliuso ir minuso šviną (~ 24ga. Tvirtas), plakdami nukirptus galus, kad jie būtų dvigubai platesni nei stori. Tada jų galai turėtų lengvai, bet tvirtai patekti į akumuliatoriaus jungtį. Žinoma, jei turite arba galite rasti jungiamąjį kabelį, skirtą susieti su jūsų akumuliatoriumi, naudokite jį visais būdais.

Prijunkite įjungimo/išjungimo jungiklį, garso lizdą, garso signalą ir maitinimo laidus. Žiūrėkite ankstesnę elektros instaliacijos schemą.

Fono jungtyse turiu mažą kondensatorių. Tai gali būti pamirštama, nes ji nėra tvirtai prigludusi. Jo tikslas yra užkirsti kelią žemam triukšmui išvestyje.

Po to, kai mygtukai (taip pat įjungimo/išjungimo jungiklis ir foninis lizdas) yra visiškai prijungti ir prilituoti, karštu būdu priklijuokite juos taip, kad jie netruktų net ir po ilgo naudojimo.

6 žingsnis: galutinis surinkimas

Galutinis pilnas surinkimas
Galutinis pilnas surinkimas
Galutinis pilnas surinkimas
Galutinis pilnas surinkimas
Galutinis pilnas surinkimas
Galutinis pilnas surinkimas

Atėjo laikas prijungti MCU radijo posistemį prie korpuso su įvesties/išvesties įrenginiais.

Prijunkite MCU-radijo posistemį.

Apipjaustykite laidus pagal poreikį, palikdami juose pakankamai laisvos vietos, kad posistemio mazgas būtų pakankamai išstumtas, kad būtų galima lituoti kitus laidų galus.

Būtinai prijunkite laidus prie pagrindinio šviesos diodo prie tinkamų raudonos/žalios spalvos ir ypač įsitikinkite, kad kairysis/dešinysis santykis yra teisingas. Šviesos diodai yra atvirkščiai iš kairės į dešinę, kai žiūrite į dėklo vidų, kaip laikote ir naudojate komunikatorių. (nebent ketinate naudoti įrenginius priešinga puse į jus, kaip tai gali padaryti kairiarankis).

Perkelkite MCU-radijo posistemį į vietą ir paspauskite jį žemyn, prireikus sulankstydami laidus, į korpusą; patikrinkite, ar nėra šortų. Jei reikia, po juo uždėkite elektros juostos gabalėlį.

Galite perprogramuoti šį įrenginį surinktą, kaip parodyta kitame skyriuje, su laikinai prijungtu FDDI per trumpą kabelį. Įsitikinkite, kad Vcc lygis iš USB atsisiuntimo kabelio yra 3.3v, o ne 5v!

Prijunkite akumuliatorių, įstumkite atgal ir išbandykite, nes jau esate į jį atsisiuntę programinės įrangos. Būkite atsargūs, kad akumuliatorius nespaustų MCU plokštės atstatymo mygtuko.

BTW, 300 mAh baterija turėtų veikti maždaug 12 valandų, prieš tai reikia įkrauti.

7 veiksmas: programinės įrangos ir įrenginio savybės ir veikimas

Programinės įrangos ir įrenginio savybės ir veikimas
Programinės įrangos ir įrenginio savybės ir veikimas
Programinės įrangos ir įrenginio savybės ir veikimas
Programinės įrangos ir įrenginio savybės ir veikimas

Kita svarbi šio projekto dalis, nuo kurios priklauso jo veikimas, yra programinės įrangos programavimas. Bet aš viską išsprendžiau, todėl jums nereikia.

Galite lengvai rasti instrukcijas, kaip atsisiųsti eskizą į „Pro mini Arduino“kitur. Nustatykite tinkamą „Arduino IDE“įrenginį ir veikimo dažnį, kitaip gausite blogą garsą ir galbūt netinkamą elgesį. Būtinai naudokite USB-TTL keitiklį su 3.3v (o ne 5v). Pats įrenginys turi būti išjungtas. Matote, kad ant atsisiuntimo kabelio galo uždėjau stačiakampę antraštę, tada įkišau ją į susijusias skyles MCU plokštėje ir leidau įrenginiui pakabinti, išlaikydamas pakankamai gerą, tačiau laikiną ryšį.

Taip pat turite įdiegti RMF69 biblioteką; žiūrėkite „RFM69 bibliotekos diegimas“šiame puslapyje.

Tinkamai redaguokite (žr. Kodo segmentą žemiau), sudarykite ir atsisiųskite pridedamą „Two_bit_Comm“eskizą.

// !!!! Šio mazgo adresai. PAKEISKITE ANTROJO MAZGO ID !!!

#define MYNODEID 1 // Mano mazgo ID (nuo 0 iki 255) #define TONODEID 2 // Paskirties mazgo ID (nuo 0 iki 254, 255 = transliacija)

Programinė įranga pasinaudoja „H“didelės galios radijo modulių versija, iš pradžių naudodama vidutinę galią, o tada ji negali gauti patvirtinimo, kad bando su maksimalia galia. Nežinau, bet tikiuosi, kad ši operacija nesukels problemų, jei būtų naudojama ne didelės galios radijo imtuvų versija.

Operacinė dokumentacija

Inicijavimas, įjungus:

Kai įrenginys paleidžiamas iš naujo, jis inicijuoja visą savo aparatinę ir programinę įrangą ir siunčia savo režimo ir parinkčių nustatymus kitam įrenginiui, nesudarydamas jų sinchronizavimo. Pasigirsta vienas trumpas pyptelėjimas, o jei pradinis pranešimas pavyksta, pasigirsta dar vienas pyptelėjimas ir dega žalia lemputė. Jei šiuo metu ryšys nepavyksta, nebelieka antro pyptelėjimo ir dega raudona lemputė. Jei ryšys nepavyksta, greičiausiai kitas įrenginys yra už diapazono ribų, išjungtas arba išsikrovęs akumuliatorius. Prieš sutinkant su gedimu, bandoma pakartoti kelis kartus ir padidinti maksimalią perdavimo galią.

1 režimas-10-20 Tipas Kom

  • Sveiki
  • Reikia pagalbos
  • PAGALBA!
  • Padaryta ? Pasirengę eiti?
  • Kur tu esi ?
  • Paskambink man.
  • Prašau pakartoti

Taip pat apibrėžiamos tinkamos reagavimo taisyklės. Įskaitant „Srities tipas“ir „Skilties tipas“atsakymus į klausimą „Kur tu esi?“prašymus.

Reikėtų pažymėti, kad turite būti kantrūs, kai įrenginys rodo atsakymą, nes mygtukai per tą laiką bus ignoruojami.

2 režimas - leidžia Morzės abėcėlės komunikacijos formą

Palaikomas vieno ir dviejų klavišų stilius.

Pridėtame dokumente „Two_bit_Comm_user_Manual“pateikiama visa programinės įrangos palaikomo funkcinio veikimo informacija.

Rekomenduojamas: